1. 03 Aug, 2021 1 commit
  2. 29 Jul, 2021 2 commits
  3. 20 Jul, 2021 1 commit
  4. 19 Jul, 2021 1 commit
    • Marja Hölttä's avatar
      Revert "[rab/gsab] Update to the new spec" · 00d556f0
      Marja Hölttä authored
      This reverts commit 6207d61f.
      
      Reason for revert: Incorrect implementation of the flag-not-on case.
      
      Original change's description:
      > [rab/gsab] Update to the new spec
      >
      > - Remove ResizableArrayBuffer / GrowableSharedArrayBuffer constructors,
      > use options bags
      > - Add AB.prototype.resizable and SAB.prototype.growable
      > - Update receiver checks in (S?)AB.prototype methods
      >
      > Bug: v8:11111
      > Change-Id: I4f8cb71a4c8e07483a3ffad83d98129da162b839
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3021174
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Reviewed-by: Shu-yu Guo <syg@chromium.org>
      > Commit-Queue: Marja Hölttä <marja@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#75761}
      
      Bug: v8:11111, chromium:1230129, chromium:1230408
      No-Try: True
      Tbr: mlippautz@chromium.org
      Change-Id: I25aa10cb3dc20fdaeb45e6169fc01eec9a89f72c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3038061Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
      Commit-Queue: Marja Hölttä <marja@chromium.org>
      Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Cr-Commit-Position: refs/heads/master@{#75778}
      00d556f0
  5. 16 Jul, 2021 1 commit
  6. 08 Jun, 2021 1 commit
  7. 26 May, 2021 1 commit
  8. 25 May, 2021 1 commit
  9. 21 May, 2021 1 commit
  10. 19 May, 2021 1 commit
  11. 14 May, 2021 1 commit
    • Shu-yu Guo's avatar
      Reland^4 "[ptr-cage] Turn on shared pointer cage by default for arm64 and x64" · baa4ba3f
      Shu-yu Guo authored
      This is a reland of 8b74fd45
      
      Changes since revert:
      
      - Reverted a61aa491 for not fixing the
        jitless toggling issue on Chromium Win64
      
      - Fix jitless toggling on Win64 by checking FLAG_jitless in
        EmbeddedDataWithMaybeRemappedEmbeddedBuiltins
      
      Original change's description:
      > Reland^3 "[ptr-cage] Turn on shared pointer cage by default for arm64 and x64""
      >
      > This is a reland of 054ff044
      >
      > Change since revert:
      >
      > - Remove assignment to FLAG_enable_short_builtins in test since
      >   it's write-once in CFI.
      >
      > Original change's description:
      > > Reland^2 "[ptr-cage] Turn on shared pointer cage by default for arm64 and x64"
      > >
      > > This is a reland of 1f504c36
      > >
      > > Changes since revert:
      > >
      > > - Removed disabling of RO heap sharing when --stress-snapshot is passed;
      > >   was fixed by f4a6c628
      > > - Fixed crashing tests that caused revert separately in
      > >   a61aa491
      > >
      > > Original change's description:
      > > > > [ptr-cage] Turn on shared pointer cage by default for arm64 and x64
      > > > >
      > > > > Reviewed-on:
      > > > https://chromium-review.googlesource.com/c/v8/v8/+/2873226
      > > > > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > > > > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
      > > > > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > > > > Cr-Commit-Position: refs/heads/master@{#74422}
      > > >
      > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2878855
      > > > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
      > > > Reviewed-by: Adam Klein <adamk@chromium.org>
      > > > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > > > Reviewed-by: Dan Elphick <delphick@chromium.org>
      > > > Cr-Commit-Position: refs/heads/master@{#74448}
      > >
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2891460
      > > Reviewed-by: Adam Klein <adamk@chromium.org>
      > > Commit-Queue: Shu-yu Guo <syg@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#74546}
      >
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2893567
      > Reviewed-by: Shu-yu Guo <syg@chromium.org>
      > Reviewed-by: Adam Klein <adamk@chromium.org>
      > Commit-Queue: Shu-yu Guo <syg@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#74548}
      
      TBR=ishell@chromium.org
      
      Bug: v8:11460
      Change-Id: Ied925de5f886a906b1ca178365aee73155e679cb
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2891697Reviewed-by: 's avatarShu-yu Guo <syg@chromium.org>
      Commit-Queue: Shu-yu Guo <syg@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#74560}
      baa4ba3f
  12. 13 May, 2021 3 commits
    • Bill Budge's avatar
      Revert "Reland^3 "[ptr-cage] Turn on shared pointer cage by default for arm64 and x64""" · 9ee5bdc9
      Bill Budge authored
      This reverts commit 8b74fd45.
      
      Reason for revert: Blocking the roll into Chromium, example failure on Windows 64 bot:
      
      https://ci.chromium.org/p/chromium/builders/try/win10_chromium_x64_rel_ng/863189?
      
      Original change's description:
      > Reland^3 "[ptr-cage] Turn on shared pointer cage by default for arm64 and x64""
      >
      > This is a reland of 054ff044
      >
      > Change since revert:
      >
      > - Remove assignment to FLAG_enable_short_builtins in test since
      >   it's write-once in CFI.
      >
      > Original change's description:
      > > Reland^2 "[ptr-cage] Turn on shared pointer cage by default for arm64 and x64"
      > >
      > > This is a reland of 1f504c36
      > >
      > > Changes since revert:
      > >
      > > - Removed disabling of RO heap sharing when --stress-snapshot is passed;
      > >   was fixed by f4a6c628
      > > - Fixed crashing tests that caused revert separately in
      > >   a61aa491
      > >
      > > Original change's description:
      > > > > [ptr-cage] Turn on shared pointer cage by default for arm64 and x64
      > > > >
      > > > > Reviewed-on:
      > > > https://chromium-review.googlesource.com/c/v8/v8/+/2873226
      > > > > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > > > > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
      > > > > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > > > > Cr-Commit-Position: refs/heads/master@{#74422}
      > > >
      > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2878855
      > > > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
      > > > Reviewed-by: Adam Klein <adamk@chromium.org>
      > > > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > > > Reviewed-by: Dan Elphick <delphick@chromium.org>
      > > > Cr-Commit-Position: refs/heads/master@{#74448}
      > >
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2891460
      > > Reviewed-by: Adam Klein <adamk@chromium.org>
      > > Commit-Queue: Shu-yu Guo <syg@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#74546}
      >
      > TBR=adamk@chromium.org
      >
      > Bug: v8:11460
      > Change-Id: Ib7526270d421a562cb00aec9a28b4fc2296e4a86
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2893567
      > Reviewed-by: Shu-yu Guo <syg@chromium.org>
      > Reviewed-by: Adam Klein <adamk@chromium.org>
      > Commit-Queue: Shu-yu Guo <syg@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#74548}
      
      Bug: v8:11460
      Change-Id: Ie1a6a5d7e7928f6b90571a33dc743ca5d1d082b4
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2893823
      Auto-Submit: Bill Budge <bbudge@chromium.org>
      Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Cr-Commit-Position: refs/heads/master@{#74557}
      9ee5bdc9
    • Shu-yu Guo's avatar
      Reland^3 "[ptr-cage] Turn on shared pointer cage by default for arm64 and x64"" · 8b74fd45
      Shu-yu Guo authored
      This is a reland of 054ff044
      
      Change since revert:
      
      - Remove assignment to FLAG_enable_short_builtins in test since
        it's write-once in CFI.
      
      Original change's description:
      > Reland^2 "[ptr-cage] Turn on shared pointer cage by default for arm64 and x64"
      >
      > This is a reland of 1f504c36
      >
      > Changes since revert:
      >
      > - Removed disabling of RO heap sharing when --stress-snapshot is passed;
      >   was fixed by f4a6c628
      > - Fixed crashing tests that caused revert separately in
      >   a61aa491
      >
      > Original change's description:
      > > > [ptr-cage] Turn on shared pointer cage by default for arm64 and x64
      > > >
      > > > Reviewed-on:
      > > https://chromium-review.googlesource.com/c/v8/v8/+/2873226
      > > > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > > > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
      > > > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > > > Cr-Commit-Position: refs/heads/master@{#74422}
      > >
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2878855
      > > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
      > > Reviewed-by: Adam Klein <adamk@chromium.org>
      > > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > > Reviewed-by: Dan Elphick <delphick@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#74448}
      >
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2891460
      > Reviewed-by: Adam Klein <adamk@chromium.org>
      > Commit-Queue: Shu-yu Guo <syg@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#74546}
      
      TBR=adamk@chromium.org
      
      Bug: v8:11460
      Change-Id: Ib7526270d421a562cb00aec9a28b4fc2296e4a86
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2893567Reviewed-by: 's avatarShu-yu Guo <syg@chromium.org>
      Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
      Commit-Queue: Shu-yu Guo <syg@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#74548}
      8b74fd45
    • Bill Budge's avatar
      Revert "Reland^2 "[ptr-cage] Turn on shared pointer cage by default for arm64 and x64"" · 01f9e1f7
      Bill Budge authored
      This reverts commit 054ff044.
      
      Reason for revert: Breaks Arm64 build:
      
      https://ci.chromium.org/p/v8/builders/ci/V8%20Android%20Arm64%20-%20debug%20builder/18683
      
      Original change's description:
      > Reland^2 "[ptr-cage] Turn on shared pointer cage by default for arm64 and x64"
      >
      > This is a reland of 1f504c36
      >
      > Changes since revert:
      >
      > - Removed disabling of RO heap sharing when --stress-snapshot is passed;
      >   was fixed by f4a6c628
      > - Fixed crashing tests that caused revert separately in
      >   a61aa491
      >
      > Original change's description:
      > > > [ptr-cage] Turn on shared pointer cage by default for arm64 and x64
      > > >
      > > > Reviewed-on:
      > > https://chromium-review.googlesource.com/c/v8/v8/+/2873226
      > > > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > > > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
      > > > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
      > > > Cr-Commit-Position: refs/heads/master@{#74422}
      > >
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2878855
      > > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
      > > Reviewed-by: Adam Klein <adamk@chromium.org>
      > > Reviewed-by: Igor Sheludko <ishell@chromium.org>
      > > Reviewed-by: Dan Elphick <delphick@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#74448}
      >
      > Bug: v8:11460
      > Change-Id: I4e491574437f4c832e24b29815de6bdfd8975511
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2891460
      > Reviewed-by: Adam Klein <adamk@chromium.org>
      > Commit-Queue: Shu-yu Guo <syg@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#74546}
      
      Bug: v8:11460
      Change-Id: I772afcd100d3d92b7e3f5f060c670a5686c9a338
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2892843
      Auto-Submit: Bill Budge <bbudge@chromium.org>
      Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Cr-Commit-Position: refs/heads/master@{#74547}
      01f9e1f7
  13. 12 May, 2021 1 commit
  14. 10 May, 2021 2 commits
  15. 07 May, 2021 1 commit
  16. 06 May, 2021 3 commits
  17. 29 Apr, 2021 1 commit
  18. 20 Apr, 2021 1 commit
    • Sathya Gunasekaran's avatar
      Reland "[ic] Add a new MegaDOM IC" · fbd114bd
      Sathya Gunasekaran authored
      This is a reland of c83c9590
      
      Changes since revert: nothing, issue was crbug.com/v8/11666
      
      Original change's description:
      > [ic] Add a new MegaDOM IC
      >
      > This patch implements the MegaDOM IC setup and access. A new MegaDOM
      > IC state indicates that we've seen only DOM accessors at this access
      > site.
      >
      > This CL only adds support for DOM getters in LoadIC, other kinds of
      > access will be added in follow on CLs.
      >
      > Still remaining TODO before shipping:
      > 1. Have a mechanism to invalidate the protector
      > 2. Have a mechanism to find the accessors that aren't overloaded
      > 3. Use a new builtin to miss to runtime on access check failure
      >
      > Change-Id: Ie12efe5e9fa284f023043b996d61e7d74e710ee2
      > Bug: v8:11321
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2618239
      > Reviewed-by: Omer Katz <omerkatz@chromium.org>
      > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
      > Reviewed-by: Dan Elphick <delphick@chromium.org>
      > Reviewed-by: Mythri Alle <mythria@chromium.org>
      > Commit-Queue: Sathya Gunasekaran  <gsathya@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#73733}
      
      Bug: v8:11321
      Change-Id: I2bec54465542b5b40c42adb6eb12b6ce72cce5bd
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2794439Reviewed-by: 's avatarDan Elphick <delphick@chromium.org>
      Reviewed-by: 's avatarMythri Alle <mythria@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarOmer Katz <omerkatz@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Commit-Queue: Sathya Gunasekaran  <gsathya@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#74056}
      fbd114bd
  19. 08 Apr, 2021 1 commit
  20. 31 Mar, 2021 2 commits
    • Maya Lekova's avatar
      Revert "[ic] Add a new MegaDOM IC" · 3f8aa89e
      Maya Lekova authored
      This reverts commit c83c9590.
      
      Reason for revert: Speculatively reverting for a failure on Arm GC stress bot - https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Arm%20GC%20Stress/b8851256837192083520/overview
      
      Original change's description:
      > [ic] Add a new MegaDOM IC
      >
      > This patch implements the MegaDOM IC setup and access. A new MegaDOM
      > IC state indicates that we've seen only DOM accessors at this access
      > site.
      >
      > This CL only adds support for DOM getters in LoadIC, other kinds of
      > access will be added in follow on CLs.
      >
      > Still remaining TODO before shipping:
      > 1. Have a mechanism to invalidate the protector
      > 2. Have a mechanism to find the accessors that aren't overloaded
      > 3. Use a new builtin to miss to runtime on access check failure
      >
      > Change-Id: Ie12efe5e9fa284f023043b996d61e7d74e710ee2
      > Bug: v8:11321
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2618239
      > Reviewed-by: Omer Katz <omerkatz@chromium.org>
      > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
      > Reviewed-by: Dan Elphick <delphick@chromium.org>
      > Reviewed-by: Mythri Alle <mythria@chromium.org>
      > Commit-Queue: Sathya Gunasekaran  <gsathya@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#73733}
      
      Bug: v8:11321
      Change-Id: Ib6a55796f2a3c345d4923f9eaa215a6ff55ed15b
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2794437
      Auto-Submit: Maya Lekova <mslekova@chromium.org>
      Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Cr-Commit-Position: refs/heads/master@{#73734}
      3f8aa89e
    • Sathya Gunasekaran's avatar
      [ic] Add a new MegaDOM IC · c83c9590
      Sathya Gunasekaran authored
      This patch implements the MegaDOM IC setup and access. A new MegaDOM
      IC state indicates that we've seen only DOM accessors at this access
      site.
      
      This CL only adds support for DOM getters in LoadIC, other kinds of
      access will be added in follow on CLs.
      
      Still remaining TODO before shipping:
      1. Have a mechanism to invalidate the protector
      2. Have a mechanism to find the accessors that aren't overloaded
      3. Use a new builtin to miss to runtime on access check failure
      
      Change-Id: Ie12efe5e9fa284f023043b996d61e7d74e710ee2
      Bug: v8:11321
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2618239Reviewed-by: 's avatarOmer Katz <omerkatz@chromium.org>
      Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
      Reviewed-by: 's avatarDan Elphick <delphick@chromium.org>
      Reviewed-by: 's avatarMythri Alle <mythria@chromium.org>
      Commit-Queue: Sathya Gunasekaran  <gsathya@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#73733}
      c83c9590
  21. 11 Mar, 2021 3 commits
    • Clemens Backes's avatar
      Reland "[no-wasm] Exclude src/wasm from compilation" · 3f9ff062
      Clemens Backes authored
      This is a reland of 80f5dfda. A condition
      in pipeline.cc was inverted, which lead to a CSA verifier error.
      
      Original change's description:
      > [no-wasm] Exclude src/wasm from compilation
      >
      > This is the biggest chunk, including
      > - all of src/wasm,
      > - torque file for wasm objects,
      > - torque file for wasm builtins,
      > - wasm builtins,
      > - wasm runtime functions,
      > - int64 lowering,
      > - simd scala lowering,
      > - WasmGraphBuilder (TF graph construction for wasm),
      > - wasm frame types,
      > - wasm interrupts,
      > - the JSWasmCall opcode,
      > - wasm backing store allocation.
      >
      > Those components are all recursively entangled, so I found no way to
      > split this change up further.
      >
      > Some includes that were recursively included by wasm headers needed to
      > be added explicitly now.
      >
      > backing-store-unittest.cc is renamed to wasm-backing-store-unittest.cc
      > because it only tests wasm backing stores. This file is excluded from
      > no-wasm builds then.
      >
      > R=jkummerow@chromium.org, jgruber@chromium.org, mlippautz@chromium.org, petermarshall@chromium.org
      >
      > Bug: v8:11238
      > Change-Id: I7558f2d12d2dd6c65128c4de7b79173668c80b2b
      > Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2742955
      > Commit-Queue: Clemens Backes <clemensb@chromium.org>
      > Reviewed-by: Peter Marshall <petermarshall@chromium.org>
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#73344}
      
      TBR=jgruber@chromium.org
      
      Bug: v8:11238
      Change-Id: I20bd2847a59c68738b5a336cd42582b7b1499585
      Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel
      Cq-Include-Trybots: luci.v8.try:v8_linux_verify_csa_rel_ng
      Cq-Include-Trybots: luci.v8.try:v8_linux64_verify_csa_rel_ng
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2752867Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#73348}
      3f9ff062
    • Clemens Backes's avatar
      Revert "[no-wasm] Exclude src/wasm from compilation" · 92bc3d38
      Clemens Backes authored
      This reverts commit 80f5dfda.
      
      Reason for revert: Fails CSA verification: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20verify%20csa/21766/overview
      
      Original change's description:
      > [no-wasm] Exclude src/wasm from compilation
      >
      > This is the biggest chunk, including
      > - all of src/wasm,
      > - torque file for wasm objects,
      > - torque file for wasm builtins,
      > - wasm builtins,
      > - wasm runtime functions,
      > - int64 lowering,
      > - simd scala lowering,
      > - WasmGraphBuilder (TF graph construction for wasm),
      > - wasm frame types,
      > - wasm interrupts,
      > - the JSWasmCall opcode,
      > - wasm backing store allocation.
      >
      > Those components are all recursively entangled, so I found no way to
      > split this change up further.
      >
      > Some includes that were recursively included by wasm headers needed to
      > be added explicitly now.
      >
      > backing-store-unittest.cc is renamed to wasm-backing-store-unittest.cc
      > because it only tests wasm backing stores. This file is excluded from
      > no-wasm builds then.
      >
      > R=​jkummerow@chromium.org, jgruber@chromium.org, mlippautz@chromium.org, petermarshall@chromium.org
      >
      > Bug: v8:11238
      > Change-Id: I7558f2d12d2dd6c65128c4de7b79173668c80b2b
      > Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2742955
      > Commit-Queue: Clemens Backes <clemensb@chromium.org>
      > Reviewed-by: Peter Marshall <petermarshall@chromium.org>
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
      > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
      > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#73344}
      
      Bug: v8:11238
      Change-Id: I93672002c1faa36bb0bb5b4a9cc2032ee2ccd814
      Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2752866
      Auto-Submit: Clemens Backes <clemensb@chromium.org>
      Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Cr-Commit-Position: refs/heads/master@{#73346}
      92bc3d38
    • Clemens Backes's avatar
      [no-wasm] Exclude src/wasm from compilation · 80f5dfda
      Clemens Backes authored
      This is the biggest chunk, including
      - all of src/wasm,
      - torque file for wasm objects,
      - torque file for wasm builtins,
      - wasm builtins,
      - wasm runtime functions,
      - int64 lowering,
      - simd scala lowering,
      - WasmGraphBuilder (TF graph construction for wasm),
      - wasm frame types,
      - wasm interrupts,
      - the JSWasmCall opcode,
      - wasm backing store allocation.
      
      Those components are all recursively entangled, so I found no way to
      split this change up further.
      
      Some includes that were recursively included by wasm headers needed to
      be added explicitly now.
      
      backing-store-unittest.cc is renamed to wasm-backing-store-unittest.cc
      because it only tests wasm backing stores. This file is excluded from
      no-wasm builds then.
      
      R=jkummerow@chromium.org, jgruber@chromium.org, mlippautz@chromium.org, petermarshall@chromium.org
      
      Bug: v8:11238
      Change-Id: I7558f2d12d2dd6c65128c4de7b79173668c80b2b
      Cq-Include-Trybots: luci.v8.try:v8_linux64_no_wasm_compile_rel
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2742955
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarPeter Marshall <petermarshall@chromium.org>
      Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#73344}
      80f5dfda
  22. 08 Mar, 2021 1 commit
    • Seth Brenith's avatar
      Remove 'length' field from ScopeInfo · 90a66422
      Seth Brenith authored
      This change relands the last part of https://crrev.com/c/2601880 .
      
      ScopeInfo has a vestigial 'length' field from when it used to be a
      FixedArray. This change removes that field, which saves some memory.
      
      More specifically:
      
      - Make ScopeInfo inherit from HeapObject, not FixedArrayBase which
        supplied the 'length' field.
      - Change FactoryBase::NewScopeInfo to allocate the updated object shape.
        It maintains the existing behavior of filling the newly-allocated
        object with undefined, even though that's not a valid ScopeInfo and
        further initialization is required.
      - Change a few length computations to use HeapObject::kHeaderSize rather
        than FixedArray::kHeaderSize.
      - Remove an unnecessary heap verifier function.
      
      Change-Id: I9b3980157568fdb0402fa31660949966b401fd31
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2733037Reviewed-by: 's avatarDominik Inführ <dinfuehr@chromium.org>
      Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
      Cr-Commit-Position: refs/heads/master@{#73278}
      90a66422
  23. 19 Feb, 2021 2 commits
    • Frank Emrich's avatar
      [dict-proto] C++ implementation of SwissNameDictionary, pt. 3 · a2c31f74
      Frank Emrich authored
      This is a reland of
      https://chromium-review.googlesource.com/c/v8/v8/+/2688058
      
      This CL is part of a series that adds the C++ implementation of
      SwissNameDictionary, a deterministic property backing store based on
      Swiss Tables.
      
      This CL adds the initialization code, factory functions and a
      canonical SwissNameDictionary plus all helpers required for that.
      
      Bug: v8:11388
      Change-Id: I9cf66a3fa755288f7730f55abfb6e6cea82f6b03
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2703653
      Commit-Queue: Frank Emrich <emrich@google.com>
      Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
      Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#72857}
      a2c31f74
    • Seth Brenith's avatar
      Revert "Remove 'length' field from ScopeInfo" · 6c922e39
      Seth Brenith authored
      This reverts commit f731e13f.
      
      Reason for revert: perf regressions, chromium:1179757
      
      Original change's description:
      > Remove 'length' field from ScopeInfo
      >
      > ScopeInfo has a vestigial 'length' field from when it used to be a
      > FixedArray. This change removes that field, which saves some memory.
      >
      > More specifically:
      >
      > - Make ScopeInfo inherit from HeapObject, not FixedArrayBase which
      >   supplied the 'length' field.
      > - Privatize the FixedArray-style functions that provide access to
      >   ScopeInfo fields by index, and move them from scope-info-inl.h to
      >   scope-info.cc. Those functions are still used pretty heavily during
      >   initialization (ScopeInfo::Create, etc.), but at least we can avoid
      >   presenting them to the rest of the world.
      > - Change FactoryBase::NewScopeInfo to allocate the updated object shape.
      >   It maintains the existing behavior of filling the newly-allocated
      >   object with undefined, even though that's not a valid ScopeInfo and
      >   further initialization is required.
      > - Move part of AccessorAssembler::ScriptContextTableLookup into a new
      >   Torque macro, because it used to rely on casting ScopeInfo to
      >   FixedArrayBase.
      > - In V8HeapExplorer::AddEntry, don't claim that ScopeInfo objects are
      >   arrays. I think it makes more sense to list them under "(system)" in
      >   the dev tools, like most other V8 internal types.
      >
      > Bug: v8:8952
      > Change-Id: I8278e3a90027d4409f0d268da0fe7080754c6b8c
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2601880
      > Reviewed-by: Toon Verwaest <verwaest@chromium.org>
      > Reviewed-by: Peter Marshall <petermarshall@chromium.org>
      > Reviewed-by: Dominik Inführ <dinfuehr@chromium.org>
      > Reviewed-by: Nico Hartmann <nicohartmann@chromium.org>
      > Reviewed-by: Mythri Alle <mythria@chromium.org>
      > Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
      > Cr-Commit-Position: refs/heads/master@{#72830}
      
      Bug: v8:8952
      Change-Id: I00a69da79e5ac6aaae4436a41ce773ae014cc775
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2706086
      Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Auto-Submit: Seth Brenith <seth.brenith@microsoft.com>
      Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
      Reviewed-by: 's avatarNico Hartmann <nicohartmann@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#72855}
      6c922e39
  24. 17 Feb, 2021 3 commits
  25. 12 Feb, 2021 4 commits
    • Benedikt Meurer's avatar
      [inspector][stack-traces] Remove support for "displayName". · a9b6f3f7
      Benedikt Meurer authored
      As outlined in the design document linked below, we're removing the
      support for the non-standard Function.displayName property for the
      purpose of Error.stack and DevTools Inspector stack traces. The
      motivation here is that the negative lookup is costly, and we have
      Function.name as a standard alternative (configurable since ES6 for
      exactly this reason).
      
      I dediced to go with JSFunction::GetDebugName(), since
      JSFunction::GetName() was confusing in that it'd only get the "name"
      property's value if it's a data property, but not with accessors.
      JSFunction::GetDebugName() makes it clear that this is really a debug
      helper function and might not give you the "name" property value.
      
      Doc: https://bit.ly/devtools-function-displayName-removal
      Bug: v8:8742, chromium:1177685, chromium:1077657, chromium:17356
      Change-Id: I7717585cbace626174b2f2ed2a4f68f75429eca1
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2692189
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#72715}
      a9b6f3f7
    • Leszek Swirski's avatar
      [sparkplug] Change Sparkplug to Baseline · c913ef3a
      Leszek Swirski authored
      Currently we sometimes refer to baseline code or the baseline compiler
      by its codename (Sparkplug). The codename is fun, but we should be
      consistent and call things by one name or the other. Following the
      pattern of Ignition stuff being called "interpreter", we call Sparkplug
      "baseline", and leave the codename only in flags and variants.
      
      Bug: v8:11420
      Change-Id: I432e5629518be7c7ad38b6acff024c91d4cfd6d3
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2692186
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#72696}
      c913ef3a
    • Benedikt Meurer's avatar
      [stack-traces] Simplify and speedup stack trace collection. · eed0d27c
      Benedikt Meurer authored
      Following up on https://crrev.com/c/2689185, this CL significantly
      simplifies the whole implementation of the stack trace capturing.
      
      Before this CL, capturing any stack trace (for the purpose of the API or
      Error.stack) would roughly work like this:
      
        1. The CaptureStackTrace() function uses the StackFrameIterator to
           walk the system stack. For each native frame it uses the
           FrameSummary abstraction to get all (including potentially inlined)
           frames. For each of those it appends a record consisting of six
           elements to a FrameArray (this holds pointers to the actual
           closures and receivers).
        2. Afterwards the FrameArray is shrinked to the required size, and a
           new FixedArray is allocated, and initialized with new
           StackTraceFrame objects where each holds a reference to the
           FrameArray, the index of the frame, and an initially uninitialized
           StackFrameInfo reference. This new FixedArray is then returned from
           CaptureStackTrace() and either stored on a message object or
           provided to the API as v8::StackTrace.
      
      The new approach removes a lot of the machinery in between and directly
      creates a FixedArray of StackFrameInfo objects in CaptureStackTrace().
      These StackFrameInfo objects are directly exposed as v8::StackFrame on
      the public API, and they hold the six fields that were previously stored
      flat in the FrameArray. This not only avoids a lot of copying around of
      data and creation of temporary objects and handles, but most importantly
      unifies and simplifies the stack frame function inside StackFrameInfo,
      so you no longer need to wonder which function / object might be
      responsible for a certain API.
      
      There's still a lot of room for improvement. In particular we currently
      don't cache the source position for a given StackFrameInfo (or
      globally), but rather recompute it every time. This is still very fast,
      significantly faster than the previous approach.
      
      There are some notable (potentially user visible) changes:
      
        - The CallSite#GetPosition() method now consistently returns the
          Wasm module relative bytecode offset for all Wasm frames (previously
          it'd return the function relative bytecode offset for non-asm.js
          Wasm frames).
        - The column and line numbers returned from StackFrameInfo methods are
          consistently 1-based now, instead of sometimes being 0-based (Wasm)
          and sometimes being 1-based (JS and asm.js Wasm). The only
          potentially noticable difference is that for
          CallSite#GetLineNumber() no longer returns 0 for Wasm frames, but
          that was wrong and useless anyways.
        - CallSite#GetThis() would sometimes return the_hole, another bug
          flushed out by this CL.
      
      The CL also contains some other not noteworthy drive-by-cleanups.
      
      Fixed: chromium:1057211
      Bug: chromium:1077657, chromium:1069425, v8:8742
      Bug: chromium:1127391, chromium:1098530, chromium:981541
      Change-Id: Iff12f6838a4d99080db8dd96bccc14440affc5a5
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2689183
      Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
      Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
      Reviewed-by: 's avatarSimon Zünd <szuend@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#72694}
      eed0d27c
    • Leszek Swirski's avatar
      [sparkplug] Upstream Sparkplug · c053419e
      Leszek Swirski authored
      Sparkplug is a new baseline, non-optimising second-tier compiler,
      designed to fit in the compiler trade-off space between Ignition and
      TurboProp/TurboFan.
      
      Design doc:
      https://docs.google.com/document/d/13c-xXmFOMcpUQNqo66XWQt3u46TsBjXrHrh4c045l-A/edit?usp=sharing
      
      Bug: v8:11420
      Change-Id: Ideb7270db3d6548eedd8337a3f596eb6f8fea6b1
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2667514
      Commit-Queue: Leszek Swirski <leszeks@chromium.org>
      Reviewed-by: 's avatarMichael Stanton <mvstanton@chromium.org>
      Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
      Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
      Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
      Reviewed-by: 's avatarHannes Payer <hpayer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#72686}
      c053419e