v8/test/mjsunit/wasm
Andreas Haas cace2f533e Reland "[wasm] Support partial serialization of modules"
The original CL was flaky because deserialization did not wait correctly
for the compilation of missing functions to finish. The baseline-finished
event was set even when there were still some functions missing. The
combination of deserialization and lazy compilation was also not handled
correctly.

Original change's description:
> [wasm] Support partial serialization of modules
>
> At the moment a WebAssembly module can be serialized successfully when
> all functions were compiled with TurboFan. However, for some functions
> it may not be necessary to be compiled with TurboFan, e.g. for functions
> where Liftoff code is as good as TurboFan code.
>
> With this CL we allow WebAssembly modules to get serialized even when
> not all functions are compiled with TurboFan. Missing functions are
> marked as missing in the serlialization. Upon deserialization, missing
> functions either get compiled by Liftoff, or initialized with a
> lazy-compilation stub, depending on the V8 configuration.
>
> Bug: v8:11862

Change-Id: I79a9e8e14199cff87fce6ae41a87087e047bbc65
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3060485
Reviewed-by: Clemens Backes <clemensb@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#76017}
2021-07-30 11:18:38 +00:00
..
embenchen
adapter-frame.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
add-getters.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
anyfunc.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
array-copy-benchmark.js [wasm-gc][test] Add array.copy benchmark 2021-06-15 15:18:39 +00:00
asm-wasm-copy.js
asm-wasm-deopt.js
asm-wasm-exception-in-tonumber.js
asm-wasm-expr.js
asm-wasm-f32.js
asm-wasm-f64.js
asm-wasm-heap.js
asm-wasm-i32.js
asm-wasm-imports.js
asm-wasm-literals.js
asm-wasm-math-intrinsic.js
asm-wasm-memory.js
asm-wasm-names.js
asm-wasm-stack.js
asm-wasm-stdlib.js
asm-wasm-switch.js
asm-wasm-u32.js
asm-wasm.js
asm-with-wasm-off.js
async-compile.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
atomics64-stress.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
atomics-non-shared.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
atomics-stress.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
atomics.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
bigint-i64-to-imported-js-func.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
bigint.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
bounds-check-64bit.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
bounds-check-turbofan.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
bulk-memory.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
call-ref.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
calls.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
code-space-exhaustion.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
compare-exchange64-stress.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
compare-exchange-stress.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
compilation-hints-async-compilation.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
compilation-hints-decoder.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
compilation-hints-ignored.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
compilation-hints-lazy-validation.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
compilation-hints-streaming-compilation.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
compilation-hints-streaming-lazy-validation.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
compilation-hints-sync-compilation.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
compilation-limits-asm.js
compilation-limits.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
compiled-module-management.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
compiled-module-serialization.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
data-segments.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
disable-trap-handler.js
disallow-codegen.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
divrem-trap.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
element-segments-with-reftypes.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
empirical_max_memory.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
ensure-wasm-binaries-up-to-date.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
errors.js [wasm] Remove wrong DCHECK 2021-06-16 16:07:10 +00:00
exceptions-api.js [wasm][eh] Rename exception to tag 2021-07-29 12:09:02 +00:00
exceptions-export.js [wasm][eh] Rename exception to tag 2021-07-29 12:09:02 +00:00
exceptions-externref.js [wasm][eh] Rename exception to tag 2021-07-29 12:09:02 +00:00
exceptions-import.js [wasm][eh] Rename exception to tag 2021-07-29 12:09:02 +00:00
exceptions-rethrow.js [wasm][eh] Rename exception to tag 2021-07-29 12:09:02 +00:00
exceptions-shared.js [wasm][eh] Rename exception to tag 2021-07-29 12:09:02 +00:00
exceptions-simd.js [wasm][eh] Rename exception to tag 2021-07-29 12:09:02 +00:00
exceptions-type-reflection.js [wasm][eh] Rename exception to tag 2021-07-29 12:09:02 +00:00
exceptions-utils.js [wasm][eh] Rename exception to tag 2021-07-29 12:09:02 +00:00
exceptions.js [wasm][eh] Rename exception to tag 2021-07-29 12:09:02 +00:00
export-global.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
export-identity.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
export-mutable-global.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
export-table.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
expose-wasm.js
externref-globals-liftoff.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
externref-globals.js [wasm] Allow WebAssembly.Global.value.set to be called with undefined 2021-06-07 14:17:34 +00:00
externref-liftoff.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
externref-table.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
externref.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
ffi-error.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
ffi.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
float-constant-folding.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
function-names.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
function-prototype.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
futex.js [wasm] Atomics wait operators should trap on the main thread 2021-06-02 16:04:33 +00:00
gc-buffer.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
gc-frame.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
gc-memory.js
gc-stress.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
generic-wrapper.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
globals-import-export-identity.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
globals.js [wasm] Allow WebAssembly.Global.value.set to be called with undefined 2021-06-07 14:17:34 +00:00
graceful_shutdown_during_tierup.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
graceful_shutdown.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
grow-huge-memory.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
grow-memory-detaching.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
grow-memory-in-branch.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
grow-memory-in-call.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
grow-memory-in-loop.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
grow-memory.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
grow-shared-memory.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
huge-memory.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
huge-typedarray.js
import-function.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
import-memory.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
import-mutable-global.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
import-table.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
imported-function-types.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
incrementer.wasm
indirect-call-non-zero-table.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
indirect-calls.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
indirect-sig-mismatch.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
indirect-tables.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
instance-gc.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
instance-memory-gc-stress.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
instantiate-module-basic.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
instantiate-run-basic.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
js-api.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
large-offset.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
lazy-compilation.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
liftoff-debug.js [liftoff] Fix cached memory start in debugging code 2021-06-25 12:23:24 +00:00
liftoff-simd-params.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
liftoff-trap-handler.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
liftoff.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
loop-rotation.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
loop-unrolling.js [wasm][eh] Rename exception to tag 2021-07-29 12:09:02 +00:00
many-memories-no-trap-handler.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
many-memories.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
many-modules.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
many-parameters.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
memory64.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
memory_1gb_oob.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
memory_2gb_oob.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
memory_4gb_oob.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
memory-external-call.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
memory-instance-validation.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
memory-size.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
memory.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
module-memory.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
multi-table-element-section.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
multi-value-simd.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
multi-value.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
multiple-code-spaces.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
mutable-globals.js
names.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
OWNERS
parallel_compilation.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
params.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
print-code.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
receiver.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
reference-globals.js [wasm-gc] Add array.init constant expression 2021-06-14 08:23:06 +00:00
reference-tables.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
return-calls.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
serialize-lazy-module.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
shared-arraybuffer-worker-simple-gc.js
shared-memory-gc-stress.js
shared-memory-worker-explicit-gc-stress.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
shared-memory-worker-gc-stress.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
shared-memory-worker-gc.js
shared-memory-worker-simple-gc.js
shared-memory-worker-stress.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
shared-memory.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
simd-call.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
simd-errors.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
simd-globals.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
simd-i64x2-mul.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
single-threaded-compilation.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
stack.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
stackwalk.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
start-function.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
streaming-api.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
streaming-compile.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
streaming-error-position.js [wasm] Improve error message in the streaming decoder 2021-06-07 09:35:29 +00:00
streaming-trap-location.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
table-access-liftoff.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
table-access.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
table-copy-externref.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
table-copy.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
table-fill.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
table-get.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
table-grow-from-wasm.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
table-grow.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
table-limits.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
table.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
tagged-stack-parameters.js [wasm] Fix stack iteration for tagged parameters 2021-06-16 13:57:28 +00:00
test-partial-serialization.js Reland "[wasm] Support partial serialization of modules" 2021-07-30 11:18:38 +00:00
test-serialization-with-lazy-compilation.js Reland "[wasm] Support partial serialization of modules" 2021-07-30 11:18:38 +00:00
test-wasm-module-builder.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
tier-down-to-liftoff.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
tier-up-testing-flag.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
trap-location.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
type-reflection-with-externref.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
type-reflection-with-mv.js
type-reflection.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
typed-funcref.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
unicode-validation.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
unicode.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
unreachable-validation.js [wasm] Fix a bug in unreachable code 2021-06-09 12:33:28 +00:00
unreachable.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
user-properties-common.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
user-properties-constructed.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
user-properties-exported.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
user-properties-module.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
user-properties-reexport.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
verify-module-basic-errors.js
wasm-api-overloading.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
wasm-array-js-interop.js [wasm-gc] Fix lifetime of off-heap type information... 2021-07-22 14:49:37 +00:00
wasm-default.js
wasm-dynamic-tiering.js Reland "[wasm] Remove all implications from --predictable" 2021-06-08 09:32:37 +00:00
wasm-gc-js-roundtrip.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
wasm-math-intrinsic.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
wasm-module-builder.js [wasm][eh] Rename exception to tag 2021-07-29 12:09:02 +00:00
wasm-object-api.js
wasm-struct-js-interop.js [wasm-gc] Fix lifetime of off-heap type information... 2021-07-22 14:49:37 +00:00
worker-memory.js
worker-module.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00