> -----Original Message----- > From: Leopold Toetsch [mailto:[EMAIL PROTECTED] > > Does a couroutine end? And how? > The current implementation jumps forth and back by the B<invoke> opcode, > one is a "call coroutine" the other is a "yield". There seems to be no > possibility, that the coroutine states, "I'm finished now" - with > possibly meaning "don't call me again".
That's correct. > And from imcc's register allocations POV the whole coroutine stuff is a > PITA, no registers are preserved, AFAIK, so a coroutines and the caller > + all edges out from both do share the same registers, don't they? They do, except that each coroutine has its own user stack so saveall and restoreall can work properly. -- jonathan sillito