It seems to me that there is no good solution to this problem without
annotating the register set or killing the register allocator.  So
perhaps we should keep the non-pmc registers at value semantics; that
is, continuations simply restore their value when the continuation was
taken.  

Yes, I know it's not technically correct, but it is consistent, useful,
and doesn't kill our optimizations.  If the compilers know about these
semantics, then there is no loss of functionality or interoperability.
Functions that aren't prepared to deal with continuations won't be able
to anyway (and in fact, these semantics may work better in those cases).

Luke

Reply via email to