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

Reply via email to