Currently op_ret contains a branch for OptionalCalleeActivation and OptionalCalleeArguments, so it can tear either of the two off. Removing this branch is not that difficult, especially given recent changes to CodeFeatures in the parser, but it will require making f.arguments only live and shared in the case where 'arguments' appears lexically.
Created attachment 24104 [details] Proposed patch to refactor some code in preparation for the speedup
Comment on attachment 24104 [details] Proposed patch to refactor some code in preparation for the speedup r=me You may want to consider giving scopeChain a needsActivation method which checks for any of the needed conditions rather than having such a complex field initializer.
Comment on attachment 24104 [details] Proposed patch to refactor some code in preparation for the speedup Landed in r327320, so I am removing review flag.
Created attachment 24107 [details] Patch in progress This patch passes all tests, but it doesn't seem to be a speedup on my machine. I also need to add some tests for the changes in functionality.
Created attachment 24110 [details] Proposed patch This gives some odd test results on my machine, mostly due to a presumedly slowdown in Richards, but it is an overall progression on Maciej's machine, so he told me to put it up for review.
Comment on attachment 24110 [details] Proposed patch r=me assuming you've testing in cti and the interpreter
Landed in r37324.