On Monday 21 April 2008 19:17:34 Bob Rogers wrote: > The hack is attached; it isn't headerized, has some coding standards > failures, and leaks memory, so it's incomplete. Disappointingly, it > produces an overall speedup of less than 4% in building gen_actions.pir > in r27087 (which has chromatic's ref-counting speedup). > > And it fails t/pmc/continuation.t test 4 ("continuations preserve > bsr/ret state"), as expected. I don't think a 4% speedup is worth it, > so I'm giving up on it. Maybe somebody else will find a way to improve > it.
I'm not sure this approach will work overall. Despite the word "stack", it's a linked list -- and it has to be a linked list, because the call chain of continuations isn't a stack. Most things will work with an array, but once in a while you'll get a continuation that wants to go somewhere else than its caller when invoked, and you branch the stack then. If there's a single array for all of these, you'll overwrite at least one destination every time you get to that depth again. -- c