Boxed variable compilation doesn't detect eval within closures
--------------------------------------------------------------

                 Key: JRUBY-1602
                 URL: http://jira.codehaus.org/browse/JRUBY-1602
             Project: JRuby
          Issue Type: Bug
          Components: Compiler
            Reporter: Charles Oliver Nutter
            Assignee: Charles Oliver Nutter
            Priority: Minor
             Fix For: JRuby 1.1


If an eval is called within any contained closure, all local variables in all 
contained scopes must be fully heap-based. Currently, since ASTInspector does 
not walk contained closures, this can't be detected. It breaks the boxed 
variable compiler in those cases (the contained evals won't see updates to or 
be able to update captured vars).

Note that since boxed variable compilation is incompatible with Ruby 1.8's 
proc-as-binding feature, this is a minor priority for 1.1. However when we 
start to add more Ruby 1.9 features, like disabling proc-as-binding (or if 
people opt to use boxed variable compilation for other reasons), we will be 
able to start using this compiler more.

-- 
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

Reply via email to