• rossberg@chromium.org's avatar
    Allocate block-scoped global bindings to global context. · ccc827a6
    rossberg@chromium.org authored
    - The global object has a reference to the current global scope chain.
      Running a script adds to the chain if it contains global lexical declarations.
    - Scripts are executed relative to a global, not a native context.
    - Harmony let and const bindings are allocated to the innermost global context;
      var and function still live on the global object.
      (Lexical bindings are not reflected on the global object at all,
      but that will probably change later using accessors, as for modules.)
    - Compilation of scripts now needs a (global) context (previously only eval did).
    - The global scope chain represents one logical scope, so collision tests take
      the chain into account.
    
    R=svenpanne@chromium.org
    BUG=
    
    Review URL: https://chromiumcodereview.appspot.com/10872084
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    ccc827a6
test-decls.cc 25.7 KB