• rossberg@chromium.org's avatar
    Implement proper module linking. · 98db1a36
    rossberg@chromium.org authored
    Specifically:
    
    - In parser, check that all exports are defined.
    - Move JSModule allocation from parser to scope resolution.
    - Move JSModule linking from full codegen to scope resolution.
    - Implement module accessors for exported value members.
    - Allocate module contexts statically along with JSModules
      (to allow static linking), but chain them when module literal is evaluated.
    - Make module contexts' extension slot refer to resp. JSModule
      (makes modules' ScopeInfo accessible from context).
    - Some other tweaks to context handling in general.
    - Make any code containing module literals (and thus embedding
      static references to JSModules) non-cacheable.
    
    This enables accessing module instance objects as expected.
    Import declarations are a separate feature and do not work yet.
    
    R=mstarzinger@chromium.org
    BUG=v8:1569
    TEST=
    
    Review URL: https://chromiumcodereview.appspot.com/10690043
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    98db1a36
Name
Last commit
Last update
..
block-conflicts.js Loading commit data...
block-const-assign.js Loading commit data...
block-early-errors.js Loading commit data...
block-for.js Loading commit data...
block-lazy-compile.js Loading commit data...
block-leave.js Loading commit data...
block-let-crankshaft.js Loading commit data...
block-let-declaration.js Loading commit data...
block-let-semantics.js Loading commit data...
block-scoping.js Loading commit data...
collections.js Loading commit data...
debug-blockscopes.js Loading commit data...
debug-evaluate-blockscopes.js Loading commit data...
debug-function-scopes.js Loading commit data...
module-linking.js Loading commit data...
module-parsing.js Loading commit data...
module-recompile.js Loading commit data...
module-resolution.js Loading commit data...
proxies-example-membrane.js Loading commit data...
proxies-for.js Loading commit data...
proxies-function.js Loading commit data...
proxies-hash.js Loading commit data...
proxies.js Loading commit data...
typeof.js Loading commit data...