Reviewers: Kasper Lund,

Description:
Speed up access to global variables from eval scopes.  Traverse the
surrounding context to figure out if the variable could be global.  If
the variable could be global we check context extension objects at
runtime and use a global LoadIC if no variables have been introduced
by eval.

Fix crash bug when loading function arguments from inside eval.  The
shadowed variable in the DYNAMIC_LOCAL case does not rewrite to a slot
in
that case.


Please review this at http://codereview.chromium.org/28027

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
   M     src/codegen-arm.cc
   M     src/codegen-ia32.cc
   M     src/compilation-cache.h
   M     src/compilation-cache.cc
   M     src/compiler.h
   M     src/compiler.cc
   M     src/contexts.h
   M     src/contexts.cc
   M     src/objects.h
   M     src/objects.cc
   M     src/runtime.cc
   M     src/scopeinfo.h
   M     src/scopeinfo.cc
   M     src/scopes.h
   M     src/scopes.cc
   A     test/mjsunit/global-load-from-eval.js
   A     test/mjsunit/global-load-from-nested-eval.js



--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to