1. 05 Oct, 2012 1 commit
  2. 09 Jul, 2012 1 commit
    • 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
  3. 16 Apr, 2012 1 commit
    • rossberg@chromium.org's avatar
      Implement rudimentary module linking. · ab26fb6b
      rossberg@chromium.org authored
      Constructs the (generally cyclic) graph of module instance objects
      and populates their exports. Any exports other than nested modules
      are currently set to 'undefined' (but already present as properties).
      
      Details:
      - Added new type JSModule for instance objects: a JSObject carrying a context.
      - Statically allocate instance objects for all module literals (in parser 8-}).
      - Extend interfaces to record and unify concrete instance objects,
        and to support iteration over members.
      - Introduce new runtime function for pushing module contexts.
      - Generate code for allocating, initializing, and setting module contexts,
        and for populating instance objects from module literals.
        Currently, all non-module exports are still initialized with 'undefined'.
      - Module aliases are resolved statically, so no special code is required.
      - Make sure that code containing module constructs is never optimized
        (macrofy AST node construction flag setting while we're at it).
      - Add test case checking linkage.
      
      Baseline: http://codereview.chromium.org/9722043/
      
      R=svenpanne@chromium.org,mstarzinger@chromium.org
      BUG=
      TEST=
      
      Review URL: https://chromiumcodereview.appspot.com/9844002
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      ab26fb6b
  4. 08 Mar, 2012 1 commit
  5. 29 Feb, 2012 1 commit
  6. 24 Feb, 2012 1 commit
  7. 20 Feb, 2012 1 commit
  8. 08 Feb, 2011 1 commit
  9. 02 Feb, 2011 2 commits
  10. 05 Jan, 2011 1 commit
  11. 23 Oct, 2009 1 commit
  12. 20 Oct, 2009 1 commit
  13. 04 Mar, 2009 1 commit
  14. 26 Sep, 2008 1 commit
  15. 09 Sep, 2008 1 commit
  16. 22 Aug, 2008 1 commit
    • christian.plesner.hansen's avatar
      Included mjsunit JavaScript test suite and C++ unit tests. · c42f5829
      christian.plesner.hansen authored
      In the shell sample don't print the result of executing a script, only
      evaluating expressions.
      
      Fixed issue when building samples on Windows using a shared V8
      library.  Added visibility option on Linux build which makes the
      generated library 18% smaller.
      
      Changed build system to accept multiple build modes in one build and
      generate seperate objects, libraries and executables for each mode.
      
      Removed deferred negation optimization (a * -b => -(a * b)) since this
      visibly changes operand conversion order.
      
      Improved parsing performance by introducing stack guard in preparsing.
      Without a stack guard preparsing always bails out with stack overflow.
      
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      c42f5829
  17. 03 Jul, 2008 1 commit