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.