1. 27 Jun, 2019 1 commit
  2. 15 Mar, 2016 1 commit
    • adamk's avatar
      Remove --harmony-modules flag and let embedder decide when modules are used · 5a202cce
      adamk authored
      Modules already have a separate entrypoint into the engine (at the moment,
      this is v8::ScriptCompiler::CompileModule, though that will change to
      something like ParseModule). This meant that requiring a commandline flag
      simply added an extra complexity burden on embedders. By removing the v8
      flag, this lets embedders use their own flagging mechanism (such as d8's
      "--module", or Blink's RuntimeEnabledFeatures) to control whether
      modules are to be used.
      
      Also remove old modules tests that were being skipped (since they test
      very old, pre-ES2015 modules syntax).
      
      R=littledan@chromium.org
      BUG=v8:1569, chromium:594639
      LOG=y
      
      Review URL: https://codereview.chromium.org/1804693002
      
      Cr-Commit-Position: refs/heads/master@{#34764}
      5a202cce
  3. 10 Feb, 2015 1 commit
    • adamk's avatar
      Enable compiling mjsunit tests as ES6 modules · a18b797f
      adamk authored
      Adding the line "// MODULE" to an mjsunit file will now cause
      run-tests.py to prefix the test case with "--module" in the
      d8 commandline.
      
      d8 has itself been updated to treat files preceded with "--module" as
      modules (that is, it compiles them with ScriptCompiler::CompileModule,
      and turns on --harmony-modules).
      
      Review URL: https://codereview.chromium.org/902263002
      
      Cr-Commit-Position: refs/heads/master@{#26555}
      a18b797f
  4. 28 Jan, 2015 1 commit
  5. 27 Jan, 2015 1 commit
    • adamk's avatar
      Begin modernization of --harmony-modules · aeb3a717
      adamk authored
      The approach taken in this CL is to incrementally move toward the
      currently-specced version of modules in ES6. The biggest change in this
      patch is separating the parsing of modules from the parsing of scripts,
      getting rid of the 'module' keyword and thus disallowing modules-in-scripts
      as well as modules-in-modules.
      
      The syntax supported by import/export declarations has not yet been significantly
      changed, with the major exception being that import declarations require a string
      as the 'from' part.
      
      Most of the existing tests have been disabled, with a first new test added
      in cctest/test-parsing.
      
      BUG=v8:1569
      LOG=n
      
      Review URL: https://codereview.chromium.org/881623002
      
      Cr-Commit-Position: refs/heads/master@{#26299}
      aeb3a717
  6. 05 Oct, 2012 1 commit
  7. 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
  8. 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
  9. 08 Mar, 2012 1 commit
  10. 29 Feb, 2012 1 commit
  11. 24 Feb, 2012 1 commit
  12. 20 Feb, 2012 1 commit
  13. 08 Feb, 2011 1 commit
  14. 02 Feb, 2011 2 commits
  15. 05 Jan, 2011 1 commit
  16. 23 Oct, 2009 1 commit
  17. 20 Oct, 2009 1 commit
  18. 04 Mar, 2009 1 commit
  19. 26 Sep, 2008 1 commit
  20. 09 Sep, 2008 1 commit
  21. 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
  22. 03 Jul, 2008 1 commit