Frame-aware and scope-aware method decision is now too coarse
-------------------------------------------------------------
Key: JRUBY-3672
URL: http://jira.codehaus.org/browse/JRUBY-3672
Project: JRuby
Issue Type: Bug
Components: Compiler
Affects Versions: JRuby 1.3
Reporter: Charles Oliver Nutter
Priority: Blocker
Fix For: JRuby 1.4
In 1.3 we have moved $~ and $_ to being on dynamic scope again. This means that
for all methods where those values may be set, we need to know we're a
"scope-aware" method to ensure appropriate optimizations.
But currently the code in AnnotationBinder, which prepares the lists of "frame
aware" and "scope aware" methods adds all methods that access either scope or
frame fields to *both* lists. This is to fix a bug where it was only ever
adding to the "frame aware" list, and therefore methods that had only backref
or lastline-accessing constructs would end up re-using the same scope across
calls (very bad!)
In 1.4, we need to look at an overhaul of how we decide which optimizations to
make, and centralize this information. Assuming we start work on the optimizing
compiler framework, this would comprise a couple passes to determine which
frame or scope fields are needed and manipulating the IR accordingly.
Either way, we need to address this in 1.4, so it's a hard blocker...don't
forget about it!
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email