Am Sonntag, 24. September 2006 03:43 schrieb Bob Rogers: > The attached patch creates a C<return_stack> in C<Parrot_Context> for > the exclusive use of the C<bsr/jsr/ret> ops. herwise. Is that right?
Separating stacks is a good thing, as code paths are simplified. Q: do we really want or need a return stack per context? bsr/ret ought to be as slim as possible and it'll not mix with CPS anyway. > However, since C<return_stack> entries always contain a > STACK_ENTRY_DESTINATION with STACK_CLEANUP_NULL, and are only ever > referenced from their owning context, using a C<Stack_Chunk> to store > them is way overkill. Would it be better to design something more > specific to return addresses so that it can be lighter in weight? Indeed. One ResizableIntegerArray in interpreter would do it. leo