Dan Sugalski <[EMAIL PROTECTED]> wrote: > The first is the CPS style chews through continuation objects at a > massive rate, and using them means that everything needs to be COW.
We don't have COWed stacks, they are all single chunk already. > A return continuation is a *potential* continuation. Ok, the return of the return continuation recycling. But it's likely a bit more complicated. Creating a Continuation somewhere down a call chain has to mark all return continuations up as non-recyclable. And as the Continuation PMC can get passed anywhere, it looks to me that just the presence of one Continuation PMC invalidates all return continuations. The proposed scheme with big register chunks and a watermark at the frame pointer of the "highest" continuation looks more sane. > ..., and it will completely invalidate all the > existing JIT code. Only i386, which is the only one that does not already a CPU register indirect addressing of Parrot registers. i386 is currently being fixed. When that's done, all JIT platforms basically need *one* additional instruction in one place, e.g. for PPC: r16 = BP_OFFS(r13) # get base bointer from interpreter > ..., but I'm kinda sick at the moment, Get well soon. leo