1. 02 Jul, 2018 2 commits
  2. 18 May, 2018 1 commit
  3. 15 May, 2018 1 commit
  4. 23 Apr, 2018 1 commit
  5. 16 Apr, 2018 1 commit
  6. 22 Mar, 2018 1 commit
    • Benedikt Meurer's avatar
      [builtins] Reduce resolve element closure overhead in Promise.all. · d8658177
      Benedikt Meurer authored
      In Promise.all we used to allocate a fresh closure plus a fresh context
      for each individual element, which is quite a lot of overhead, especially
      since this could be shared in a single context for all elements. The only
      bit of information that is needed for each resolve element closure is the
      index under which to store the resulting value. With this change we move
      this index to the "identity hash" field of the JSFunction, which doesn't
      care about the concrete value anyways, as long as it's not zero (the "no
      hash" sentinel), and share the rest of the fields in a single outer
      context for all resolve element closures.
      
      This limits the maximum number of elements for Promise.all to 2^21 for
      now, but that should be fine. Shall we ever see the need for more than
      this, we can add machinery to overflow to separate context for indices
      larger than 2^21.
      
      This significantly reduces the overhead due to Promise.all on the
      parallel-async-es2017-native test, with execution time dropping from
      around 148ms to 133ms, so overall a steady 10% improvement on this
      benchmark.
      
      Bug: v8:7253
      Change-Id: I1092da771c4919f3db7129d2b0a244fc26a7b144
      Reviewed-on: https://chromium-review.googlesource.com/973283Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#52134}
      d8658177
  7. 15 Mar, 2018 2 commits
  8. 14 Mar, 2018 1 commit
  9. 06 Mar, 2018 1 commit
  10. 01 Mar, 2018 2 commits
  11. 26 Feb, 2018 1 commit
  12. 21 Feb, 2018 1 commit
  13. 06 Feb, 2018 1 commit
  14. 03 Feb, 2018 1 commit
  15. 02 Feb, 2018 1 commit
  16. 29 Jan, 2018 1 commit
  17. 04 Jan, 2018 1 commit
  18. 08 Dec, 2017 1 commit
  19. 01 Dec, 2017 1 commit
  20. 28 Nov, 2017 4 commits
    • Mircea Trofin's avatar
      Revert "Revert "[wasm] JIT using WasmCodeManager"" · b03b1bd9
      Mircea Trofin authored
      This reverts commit b301203e.
      
      Reason for revert: Fixed issues on arm.
      
      Original change's description:
      > Revert "[wasm] JIT using WasmCodeManager"
      > 
      > This reverts commit d4c8393c.
      > 
      > Reason for revert: Breaks ARM hardware:
      > https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm%20-%20debug/builds/5268
      > 
      > Original change's description:
      > > [wasm] JIT using WasmCodeManager
      > > 
      > > This is the first step towards wasm code sharing. This CL moves wasm
      > > code generation outside the JavaScript GC heap using the previously -
      > > introduced WasmCodeManager (all this, behind the --wasm-jit-to-native
      > > flag).
      > > 
      > > See design document: go/wasm-on-native-heap-stage-1
      > > 
      > > This CL doesn't change other wasm architectural invariants. We still
      > > have per-Isolate wasm code generation, and per-wasm module instance
      > > code specialization.
      > > 
      > > Bug:v8:6876
      > > 
      > > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > > Change-Id: I1e08cecad75f93fb081545c31228a4568be276d3
      > > Reviewed-on: https://chromium-review.googlesource.com/674086
      > > Reviewed-by: Ben Titzer <titzer@chromium.org>
      > > Reviewed-by: Eric Holk <eholk@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#49689}
      > 
      > TBR=bradnelson@chromium.org,titzer@chromium.org,mtrofin@chromium.org,eholk@chromium.org
      > 
      > Change-Id: I89af1ea5decd841bc12cd2ceaf74d32bc4433885
      > No-Presubmit: true
      > No-Tree-Checks: true
      > No-Try: true
      > Bug: v8:6876
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Reviewed-on: https://chromium-review.googlesource.com/794690
      > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
      > Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#49691}
      
      TBR=bradnelson@chromium.org,machenbach@chromium.org,titzer@chromium.org,mtrofin@chromium.org,eholk@chromium.org
      
      Change-Id: I1b07638d1bb2ba0664305b4b2dcfc1342dc8444f
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6876
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/794434
      Commit-Queue: Mircea Trofin <mtrofin@chromium.org>
      Reviewed-by: 's avatarMircea Trofin <mtrofin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49692}
      b03b1bd9
    • Michael Achenbach's avatar
      Revert "[wasm] JIT using WasmCodeManager" · b301203e
      Michael Achenbach authored
      This reverts commit d4c8393c.
      
      Reason for revert: Breaks ARM hardware:
      https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm%20-%20debug/builds/5268
      
      Original change's description:
      > [wasm] JIT using WasmCodeManager
      > 
      > This is the first step towards wasm code sharing. This CL moves wasm
      > code generation outside the JavaScript GC heap using the previously -
      > introduced WasmCodeManager (all this, behind the --wasm-jit-to-native
      > flag).
      > 
      > See design document: go/wasm-on-native-heap-stage-1
      > 
      > This CL doesn't change other wasm architectural invariants. We still
      > have per-Isolate wasm code generation, and per-wasm module instance
      > code specialization.
      > 
      > Bug:v8:6876
      > 
      > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      > Change-Id: I1e08cecad75f93fb081545c31228a4568be276d3
      > Reviewed-on: https://chromium-review.googlesource.com/674086
      > Reviewed-by: Ben Titzer <titzer@chromium.org>
      > Reviewed-by: Eric Holk <eholk@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#49689}
      
      TBR=bradnelson@chromium.org,titzer@chromium.org,mtrofin@chromium.org,eholk@chromium.org
      
      Change-Id: I89af1ea5decd841bc12cd2ceaf74d32bc4433885
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:6876
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/794690Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Commit-Queue: Michael Achenbach <machenbach@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49691}
      b301203e
    • Mircea Trofin's avatar
      [wasm] JIT using WasmCodeManager · d4c8393c
      Mircea Trofin authored
      This is the first step towards wasm code sharing. This CL moves wasm
      code generation outside the JavaScript GC heap using the previously -
      introduced WasmCodeManager (all this, behind the --wasm-jit-to-native
      flag).
      
      See design document: go/wasm-on-native-heap-stage-1
      
      This CL doesn't change other wasm architectural invariants. We still
      have per-Isolate wasm code generation, and per-wasm module instance
      code specialization.
      
      Bug:v8:6876
      
      Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
      Change-Id: I1e08cecad75f93fb081545c31228a4568be276d3
      Reviewed-on: https://chromium-review.googlesource.com/674086Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
      Reviewed-by: 's avatarEric Holk <eholk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49689}
      d4c8393c
    • Sathya Gunasekaran's avatar
      [class] Throw early errors for fields with constructor and prototype name · ffda54fb
      Sathya Gunasekaran authored
      See https://tc39.github.io/proposal-class-fields/#sec-static-semantics-early-errors
      
      Bug: v8:5367
      Change-Id: I0329d1b41c4658b733df47397fbcc2c16bad117e
      Reviewed-on: https://chromium-review.googlesource.com/792946
      Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49672}
      ffda54fb
  21. 23 Nov, 2017 1 commit
  22. 06 Nov, 2017 1 commit
  23. 31 Oct, 2017 1 commit
    • Mathias Bynens's avatar
      [parser] Improve error message for `import()` · dbcea115
      Mathias Bynens authored
      Currently, dynamic `import()` throws the following SyntaxError when
      used without a specifier:
      
          > import();
          < Uncaught SyntaxError: Unexpected token )
      
      From the error message, it seems this the result of the code snippet
      being seen as static `import` followed by parens, as opposed to
      `import()` with no specifier.
      
      This patch makes this error message more clear:
      
          > import();
          < SyntaxError: import() requires a specifier
      
      BUG=v8:7020,v8:6513
      
      Change-Id: I3519dfd0029f38d23da858a5499f1d226e794935
      Reviewed-on: https://chromium-review.googlesource.com/747141Reviewed-by: 's avatarSathya Gunasekaran <gsathya@chromium.org>
      Commit-Queue: Mathias Bynens <mathias@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#49058}
      dbcea115
  24. 27 Oct, 2017 1 commit
  25. 25 Oct, 2017 1 commit
  26. 11 Oct, 2017 1 commit
  27. 10 Oct, 2017 1 commit
  28. 09 Oct, 2017 1 commit
  29. 05 Oct, 2017 1 commit
  30. 29 Sep, 2017 1 commit
  31. 26 Sep, 2017 4 commits