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