From: Bob Rogers <[EMAIL PROTECTED]> Date: Mon, 21 Apr 2008 18:54:19 -0400
From: "Patrick R. Michaud" <[EMAIL PROTECTED]> Date: Mon, 21 Apr 2008 15:42:27 -0500 . . . If it looks like having a separate stack for bsr/ret is workable then I'll go at it that way. Fair enough. FWIW, I'm now working on a simple hack that should show how much speedup we can expect. 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. A warning, though: Do "make clean" after applying the patch, or the new "parrot" will consume all memory. I suspect there is some code that uses Parrot_Context that doesn't have the right dependencies, so is not recompiled when interpreter.h is changed. -- Bob