1. 02 Nov, 2016 1 commit
  2. 01 Nov, 2016 1 commit
  3. 31 Oct, 2016 1 commit
  4. 28 Oct, 2016 2 commits
  5. 27 Oct, 2016 1 commit
  6. 26 Oct, 2016 2 commits
    • neis's avatar
      [modules] Improve error messages. · 038a8197
      neis authored
      For instance, when an import cannot be resolved, actually
      point at the corresponding import statement.
      
      BUG=v8:1569
      
      Review-Url: https://codereview.chromium.org/2451153002
      Cr-Commit-Position: refs/heads/master@{#40594}
      038a8197
    • neis's avatar
      [runtime] Let native setters have a return value. · f33a4078
      neis authored
      Native setters (see AccessorInfo in accessors.h) didn't have the ability
      to return a result value. As a consequence of this, for instance, Reflect.set
      on the length property of arrays had the wrong behavior:
      
      var y = [];
      Object.defineProperty(y, 0, {value: 42, configurable: false})
      Reflect.set(y, 'length', 0)
      
      The Reflect.set call used to return true. Now it returns false as
      required by the spec.
      
      BUG=v8:5401
      
      Review-Url: https://codereview.chromium.org/2397603003
      Cr-Commit-Position: refs/heads/master@{#40579}
      f33a4078
  7. 25 Oct, 2016 2 commits
  8. 21 Oct, 2016 1 commit
    • leszeks's avatar
      [compiler] Mark shared functions for optimization · 4a31323e
      leszeks authored
      The current method of marking functions for optimization, which replaces
      the JSFunction's code object with one that triggers optimization, would
      never allow unnamed functions to be optimized. This is an issue for a
      style of programming which heavily relies on passing around closures.
      
      This patch sets a bit on the SharedFunctionInfo when a JSFunction is
      marked. When another JSFunction referring to the same SharedFunctionInfo
      is lazily compiled, it immediately triggers a non-concurrent optimize.
      
      BUG=v8:5512
      
      Review-Url: https://chromiumcodereview.appspot.com/2437043002
      Cr-Commit-Position: refs/heads/master@{#40506}
      4a31323e
  9. 19 Oct, 2016 1 commit
  10. 17 Oct, 2016 3 commits
  11. 14 Oct, 2016 1 commit
    • jgruber's avatar
      [regexp] Turn last match info into a simple FixedArray · f60a7c4f
      jgruber authored
      Now that all accesses to the last match info are in C++ and TF code, we can
      finally turn the last match info into a FixedArray. Similar to the ArrayList,
      it uses its first field to store its length and grows dynamically in amortized
      O(1) time.
      
      Unlike previously, this means that the last match info pointer stored on the
      context can actually change (in case the FixedArray needs to grow).
      
      BUG=v8:5339
      
      Review-Url: https://codereview.chromium.org/2415103002
      Cr-Commit-Position: refs/heads/master@{#40308}
      f60a7c4f
  12. 13 Oct, 2016 3 commits
  13. 12 Oct, 2016 2 commits
  14. 11 Oct, 2016 2 commits
    • adamk's avatar
      [modules] Store Module metadata in per-Context EmbedderData · 9d2051fc
      adamk authored
      This is a re-land of https://codereview.chromium.org/2393303002/ with
      an additional call to DisposeModuleEmbedderData() added to fix lsan failures.
      
      Unifies the approaches used for storing the specifier -> module mapping
      and the module -> directory mapping, using std::unordered_maps for both
      and storing them per-Context.
      
      This requires adding a method to the v8::Module API to get a hash code
      for a Module, but allows slimming down the API in return: gone are
      SetEmbedderData/GetEmbedderData, along with the fourth argument
      to ResolveModuleCallback.
      
      Besides a simpler API, this allows d8 to get closer to the HTML loader,
      which requires each Realm to have a persistent module map (though this
      capability is not yet exercised by any tests).
      
      BUG=v8:1569
      TBR=neis@chromium.org,jochen@chromium.org
      
      Review-Url: https://codereview.chromium.org/2405313002
      Cr-Commit-Position: refs/heads/master@{#40186}
      9d2051fc
    • adamk's avatar
      Revert of [modules] Store Module metadata in per-Context EmbedderData... · 12779889
      adamk authored
      Revert of [modules] Store Module metadata in per-Context EmbedderData (patchset #7 id:120001 of https://codereview.chromium.org/2393303002/ )
      
      Reason for revert:
      Fails under LeakSanitizer on auto-roll fyi bot:
      
      https://build.chromium.org/p/client.v8.fyi/builders/Auto-roll%20-%20release%20process/builds/49447
      
      Original issue's description:
      > [modules] Store Module metadata in per-Context EmbedderData
      >
      > Unifies the approaches used for storing the specifier -> module mapping
      > and the module -> directory mapping, using std::unordered_maps for both
      > and storing them per-Context.
      >
      > This requires adding a method to the v8::Module API to get a hash code
      > for a Module, but allows slimming down the API in return: gone are
      > SetEmbedderData/GetEmbedderData, along with the fourth argument
      > to ResolveModuleCallback.
      >
      > Besides a simpler API, this allows d8 to get closer to the HTML loader,
      > which requires each Realm to have a persistent module map (though this
      > capability is not yet exercised by any tests).
      >
      > BUG=v8:1569
      >
      > Committed: https://crrev.com/9cf8fce74cf6e7afd6aea3f3545f6bb61572f277
      > Cr-Commit-Position: refs/heads/master@{#40133}
      
      TBR=jochen@chromium.org,neis@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:1569
      
      Review-Url: https://codereview.chromium.org/2406973003
      Cr-Commit-Position: refs/heads/master@{#40145}
      12779889
  15. 10 Oct, 2016 3 commits
    • adamk's avatar
      [modules] Store Module metadata in per-Context EmbedderData · 9cf8fce7
      adamk authored
      Unifies the approaches used for storing the specifier -> module mapping
      and the module -> directory mapping, using std::unordered_maps for both
      and storing them per-Context.
      
      This requires adding a method to the v8::Module API to get a hash code
      for a Module, but allows slimming down the API in return: gone are
      SetEmbedderData/GetEmbedderData, along with the fourth argument
      to ResolveModuleCallback.
      
      Besides a simpler API, this allows d8 to get closer to the HTML loader,
      which requires each Realm to have a persistent module map (though this
      capability is not yet exercised by any tests).
      
      BUG=v8:1569
      
      Review-Url: https://codereview.chromium.org/2393303002
      Cr-Commit-Position: refs/heads/master@{#40133}
      9cf8fce7
    • petermarshall's avatar
      [builtins] Move StringIncludes to a builtin. · 8b48aa1c
      petermarshall authored
      Also add a test for when the first argument is null or undefined, as there are no tests that cover this currently.
      
      BUG=v8:5364
      
      Review-Url: https://codereview.chromium.org/2399423003
      Cr-Commit-Position: refs/heads/master@{#40127}
      8b48aa1c
    • jgruber's avatar
      [regexp] Port test, match, and search · 80f3c6ce
      jgruber authored
      This CL ports RegExp.prototype.test, RegExp.prototype.match
      and RegExp.prototype.search to C++.
      
      Performance regressions are expected but should be improved
      in an upcoming CL.
      
      BUG=v8:5339
      
      Review-Url: https://codereview.chromium.org/2394713003
      Cr-Commit-Position: refs/heads/master@{#40122}
      80f3c6ce
  16. 07 Oct, 2016 10 commits
  17. 06 Oct, 2016 1 commit
  18. 30 Sep, 2016 2 commits
  19. 29 Sep, 2016 1 commit
    • neis's avatar
      Reland: [modules] Properly initialize declared variables. · 8c52a411
      neis authored
      Before evaluating a module, all variables declared at the top-level
      in _any_ of the modules in the dependency graph must be initialized.
      This is observable because a module A can access a variable imported
      from module B (e.g. a function) at a point when module B's body hasn't
      been evaluated yet.
      
      We achieve this by implementing modules internally as generators with
      two states (not initialized, initialized).
      
      R=adamk@chromium.org
      BUG=v8:1569
      CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_win_dbg
      
      Committed: https://crrev.com/f4dfb6fbe1cdd9a0f287a1a9c496e1f69f6f5d20
      Review-Url: https://codereview.chromium.org/2375793002
      Cr-Original-Commit-Position: refs/heads/master@{#39871}
      Cr-Commit-Position: refs/heads/master@{#39892}
      8c52a411