v8/test
Manos Koukoutos 7981dc33d5 Reland "[wasm] Refactor initializer expression handling"
This is a reland of 071a1acf32

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: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75492}
2021-06-30 21:33:46 +00:00
..
benchmarks [test] Mark kraken/audio SLOW only on TSAN 2021-06-30 15:21:55 +00:00
bigint [bigint] Burnikel-Ziegler division 2021-06-22 17:58:21 +00:00
cctest Reland "[wasm] Refactor initializer expression handling" 2021-06-30 21:33:46 +00:00
common [cleanup] Remove redundant FLAG_SCOPE macros 2021-06-30 15:05:25 +00:00
debugger Revert "Improve error messages for property access on null/undefined" 2021-06-21 23:06:41 +00:00
debugging [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
fuzzer Reland "[wasm] Refactor initializer expression handling" 2021-06-30 21:33:46 +00:00
fuzzilli Fix unhandled promise rejections in REPRL mode 2020-09-30 13:34:23 +00:00
inspector Add constructor to WasmValueObjects 2021-06-29 12:46:22 +00:00
intl [intl] Skip intl test on Android 2021-06-24 13:15:53 +00:00
js-perf-test A jump-table implementation for constant case switch statements 2021-06-23 09:26:23 +00:00
memory [snapshot] Fix the Memory.json benchmark 2021-04-28 07:54:34 +00:00
message Revert "Improve error messages for property access on null/undefined" 2021-06-21 23:06:41 +00:00
mjsunit PPC/S390: skip slow tests on the simulator 2021-06-30 15:00:05 +00:00
mkgrokdump [build] Fold v8_wrappers into v8_libbase 2021-02-25 10:56:20 +00:00
mozilla Reland "[test] Unmark TSAN tests as SLOW/SKIP" 2021-06-28 10:19:20 +00:00
test262 [test262] Roll test262 2021-06-29 07:35:31 +00:00
torque [torque] Add LazyNode support 2021-02-23 16:51:53 +00:00
unittests Reland "[wasm] Refactor initializer expression handling" 2021-06-30 21:33:46 +00:00
wasm-api-tests [wasm] Make --wasm-trap-handler a d8-only flag 2021-06-30 09:32:55 +00:00
wasm-js [wasm] Update spec tests 2021-06-07 11:45:44 +00:00
wasm-spec-tests Reland "[test] Unmark TSAN tests as SLOW/SKIP" 2021-06-28 10:19:20 +00:00
webkit Reland "[test] Unmark TSAN tests as SLOW/SKIP" 2021-06-28 10:19:20 +00:00
BUILD.gn Reland^2 "[bigint] Karatsuba multiplication" 2021-06-07 11:01:14 +00:00
OWNERS Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00