1. 01 Jul, 2021 29 commits
  2. 30 Jun, 2021 11 commits
    • Manos Koukoutos's avatar
      Reland "[wasm] Refactor initializer expression handling" · 7981dc33
      Manos Koukoutos authored
      This is a reland of 071a1acf
      
      Changes compared to original:
      Expect SIMD test to fail if SIMD is not supported.
      
      Original change's description:
      > [wasm] Refactor initializer expression handling
      >
      > Design doc: https://bit.ly/3xPxWUe
      >
      > This CL introduces two main changes:
      > - Initializer expressions are now decoded by WasmFullDecoder. With
      >   wasm-gc, initializer expressions are no longer just constants, and
      >   require complex decoding (including stack tracking). This resulted in
      >   extensive code duplication.
      > - Initializer expressions are not stored explicitly by module-decoder as
      >   an AST (WasmInitExpr), but rather as a WireBytesRef, and are decoded
      >   again during module instantiation. This should reduce memory
      >   consumption for globals and other module elements with initializer
      >   expressions (which has been observed in the 40MB range in some
      >   real-world benchmarks.
      >
      > Summary of changes:
      > - Add a static parameter {kFunctionBody, kInitExpression} to the
      >   WasmDecoder. Use it to specialize validation to function bodies/init.
      >   expressions.
      > - Introduce a new Interface for the WasmFullDecoder for init.
      >   expressions.
      > - Differentiate between constant and non-constant opcodes in
      >   WasmFullDecoder.
      > - Change representation of init. expressions in WasmModule to
      >   WireBytesRef.
      > - Reimplement EvaluateInitExpression in module-instantiate to re-decode
      >   initializer expressions.
      > - Remove some now-invalid module decoder tests.
      >
      > Pending changes:
      > - Also refactor initializer expressions for element segment entries.
      > - Reintroduce deleted tests.
      >
      > Bug: v8:11895
      > Change-Id: I76512bfe1386c8338667d30fa6db93880a1e4b42
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2972910
      > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
      > Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#75476}
      
      Bug: v8:11895
      Change-Id: I2dface5ff28d5a2d439a65d3e5cb83135c061bb9
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2997722
      Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#75492}
      7981dc33
    • Deepti Gandluri's avatar
      Revert "[wasm-simd] Pass decode if SSSE3 flag is set" · a83fcd80
      Deepti Gandluri authored
      This reverts commit 0d059e07.
      
      Reason for revert: Reverting as CheckHardwareSupportsSimd already contains the SSSE3 check.
      
      Original change's description:
      > [wasm-simd] Pass decode if SSSE3 flag is set
      >
      > Change-Id: Iafe2b5635287fea5bd3c687b4ed897edbce4b0aa
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2798978
      > Reviewed-by: Zhi An Ng <zhin@chromium.org>
      > Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#73781}
      
      Change-Id: Ib227af90f2f35a7e63cb64acea8bbca9ff8ddd62
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2998503
      Auto-Submit: Deepti Gandluri <gdeepti@chromium.org>
      Reviewed-by: 's avatarJakob Kummerow <jkummerow@chromium.org>
      Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#75491}
      a83fcd80
    • Ng Zhi An's avatar
      Add comments to undocumented functions and fix other comments · d30c7303
      Ng Zhi An authored
      Grouping a couple of small, non-functional fixes:
      
      - add a comment to GetStackParameterDelta
      - small typo fixes to a couple of places I saw while reading related
      code
      
      Bug: v8:11879
      Change-Id: I8566c9778fd6268b08ea3aefbdaa84ef894bcd35
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2997922Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#75490}
      d30c7303
    • Mike Stanton's avatar
      [compiler] TSAN warning in PropertyArray::get() · 4cca3ccd
      Mike Stanton authored
      PropertyArray::get() and a few other functions there call
      PropertyArray::length() in an assert. These need to be the acquire
      load version of length() to keep TSAN happy.
      
      Bug: chromium:1225277
      Change-Id: Ic43bfc1902dea3e87f353be0efd03563c13c1e10
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2997105Reviewed-by: 's avatarSantiago Aboy Solanes <solanes@chromium.org>
      Commit-Queue: Michael Stanton <mvstanton@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#75489}
      4cca3ccd
    • Ng Zhi An's avatar
      Add comments to describe some builtins · 6b2bd2eb
      Ng Zhi An authored
      Bug: v8:11879
      Change-Id: Ia0047b701e77b6e766984de527e817874d95f38e
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2989102Reviewed-by: 's avatarSantiago Aboy Solanes <solanes@chromium.org>
      Reviewed-by: 's avatarShu-yu Guo <syg@chromium.org>
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#75488}
      6b2bd2eb
    • Ng Zhi An's avatar
      [tools] Fix lldb_commands jco by casting call · c8350144
      Ng Zhi An authored
      Currently, running jco gives us an error message like so:
      
      (lldb) jco $pc
      Failed to evaluate command _v8_internal_Print_Code((void*)($pc)) :
      error: <user expression 0>:1:1: '_v8_internal_Print_Code' has unknown
      return type; cast the call to its declared return type
      _v8_internal_Print_Code((void*)($pc))
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
      The fix is to cast the call to (void). I've only used and found this
      issue with jco, but I think the other commands have the same issue, so
      fixing those together here.
      
      FYI I am using lldb version 11.
      
      Bug: v8:11879
      Change-Id: Id9d8e8091fd011585e6fea863de5b4d7c9d47c5a
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2994764Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
      Commit-Queue: Zhi An Ng <zhin@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#75487}
      c8350144
    • Jakob Gruber's avatar
      [compiler] Remove --turbo-...-ispendingallocation flag · 0585ada4
      Jakob Gruber authored
      No longer needed now that the predicate is fixed.
      
      Bug: v8:7790,v8:11779
      Change-Id: If585c3692aed77659b53f670182129988ba93130
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2996193
      Auto-Submit: Jakob Gruber <jgruber@chromium.org>
      Commit-Queue: Georg Neis <neis@chromium.org>
      Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#75486}
      0585ada4
    • Victor Gomes's avatar
      [heap] Fix DCHECK in UndoLastAllocationAt · 977a2761
      Victor Gomes authored
      Change-Id: I4ec51c8f1a0a9b5d9967898c2e89c9ba82ace6c5
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2997107
      Auto-Submit: Victor Gomes <victorgomes@chromium.org>
      Reviewed-by: 's avatarDominik Inführ <dinfuehr@chromium.org>
      Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#75485}
      977a2761
    • Clemens Backes's avatar
      Revert "[wasm] Refactor initializer expression handling" · 5756c40e
      Clemens Backes authored
      This reverts commit 071a1acf.
      
      Reason for revert: Breaks on nosse: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux/42795/overview
      
      Original change's description:
      > [wasm] Refactor initializer expression handling
      >
      > Design doc: https://bit.ly/3xPxWUe
      >
      > This CL introduces two main changes:
      > - Initializer expressions are now decoded by WasmFullDecoder. With
      >   wasm-gc, initializer expressions are no longer just constants, and
      >   require complex decoding (including stack tracking). This resulted in
      >   extensive code duplication.
      > - Initializer expressions are not stored explicitly by module-decoder as
      >   an AST (WasmInitExpr), but rather as a WireBytesRef, and are decoded
      >   again during module instantiation. This should reduce memory
      >   consumption for globals and other module elements with initializer
      >   expressions (which has been observed in the 40MB range in some
      >   real-world benchmarks.
      >
      > Summary of changes:
      > - Add a static parameter {kFunctionBody, kInitExpression} to the
      >   WasmDecoder. Use it to specialize validation to function bodies/init.
      >   expressions.
      > - Introduce a new Interface for the WasmFullDecoder for init.
      >   expressions.
      > - Differentiate between constant and non-constant opcodes in
      >   WasmFullDecoder.
      > - Change representation of init. expressions in WasmModule to
      >   WireBytesRef.
      > - Reimplement EvaluateInitExpression in module-instantiate to re-decode
      >   initializer expressions.
      > - Remove some now-invalid module decoder tests.
      >
      > Pending changes:
      > - Also refactor initializer expressions for element segment entries.
      > - Reintroduce deleted tests.
      >
      > Bug: v8:11895
      > Change-Id: I76512bfe1386c8338667d30fa6db93880a1e4b42
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2972910
      > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
      > Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#75476}
      
      Bug: v8:11895
      Change-Id: I9fcfdedad73ef21beb9632f50305b8e678a2dff6
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2997582
      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@{#75484}
      5756c40e
    • Santiago Aboy Solanes's avatar
      [test] Mark kraken/audio SLOW only on TSAN · 1485bfb7
      Santiago Aboy Solanes authored
      Marked as SLOW in
      https://chromium-review.googlesource.com/c/v8/v8/+/2993538. We can be
      more specific and not mark it for everything.
      
      Bug: v8:7790, v8:11600, v8:11906
      Change-Id: I1c238bffb9973ae80a2fcc32f4103215bd019d67
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2992719Reviewed-by: 's avatarMythri Alle <mythria@chromium.org>
      Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#75483}
      1485bfb7
    • Clemens Backes's avatar
      [cleanup] Remove redundant FLAG_SCOPE macros · d701dde2
      Clemens Backes authored
      FLAG_SCOPE_EXTERNAL can be used outside of the v8::internal namespace,
      while FLAG_SCOPE can not.
      This CL refactors FLAG_SCOPE such that it can be used anywhere, and
      removes the redudant FLAG_SCOPE_EXTERNAL macro.
      Also, UNFLAG_SCOPE_EXTERNAL is removed in favor of FLAG_SCOPE_VAL, as
      the word "flag" in the macro name is meant to refer to a flag, and not
      to the verb or action of "flagging" something, hence "unflag" does not
      match the terminology.
      
      R=ahaas@chromium.org
      
      Bug: v8:11879
      Change-Id: I2d761012c3e4330abb611bf67130eb57ec5bb964
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2988920
      Commit-Queue: Clemens Backes <clemensb@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#75482}
      d701dde2