v8/test/mjsunit/wasm
Clemens Hammacher 87287908b3 [wasm] Add test for creating 10k modules in one process
With --wasm-far-jump-table, it will be possible to create 10k (and
more) modules in one process. So far, we hit the virtual address space
limit around 1k modules, because each module makes a reservation of
{kMaxWasmCodeMemory} upfront. After this change, each module will only
reserve the estimated needed code size (if --wasm-far-jump-table is
set).

The test is carefully optimized to not execute too much code in the
loop, so it can still run in simulators in reasonable time. Note that
the time for actually compiling the module is spent in C++, which is
fast in simulator builds.

R=mstarzinger@chromium.org

Bug: v8:9477, v8:9651
Change-Id: If74a825d272a65b82ca5433cb648b6a2271872e8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1811038
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#63903}
2019-09-20 09:34:34 +00:00
..
embenchen
adapter-frame.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
add-getters.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
anyfunc-interpreter.js [wasm] Support anyref for external calls in interpreter. 2019-04-09 13:42:57 +00:00
anyfunc.js [wasm] Implement the ref.func instruction 2019-05-13 11:19:32 +00:00
anyref-globals-interpreter.js [wasm] Support mutable imported anyref globals in interpreter. 2019-04-09 11:52:41 +00:00
anyref-globals.js [wasm] Allow ref.func to initialize globals 2019-05-14 13:05:21 +00:00
anyref-interpreter.js [wasm] Support anyref for external calls in interpreter. 2019-04-09 13:42:57 +00:00
anyref-table.js [wasm] Rename (Get|Set)Table to Table(Get|Set) 2019-07-08 12:55:14 +00:00
anyref.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +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 Reduce the number of ints tested 2019-09-11 20:27:24 +00:00
asm-wasm-imports.js
asm-wasm-literals.js
asm-wasm-math-intrinsic.js [wasm] Enable optimization of Math.pow intrinsic. 2019-09-03 11:57:20 +00:00
asm-wasm-memory.js
asm-wasm-names.js
asm-wasm-stack.js
asm-wasm-stdlib.js
asm-wasm-switch.js
asm-wasm-u32.js Reduce the number of ints tested 2019-09-11 20:27:24 +00:00
asm-wasm.js
asm-with-wasm-off.js
async-compile.js [wasm] Make error messages deterministic 2019-03-14 15:05:18 +00:00
atomics64-stress.js [mjsunit/wasm] Reuse WebAssembly.Memory objects in stress test 2019-07-11 13:23:19 +00:00
atomics-stress.js [mjsunit/wasm] Reuse WebAssembly.Memory objects in stress test 2019-07-11 13:23:19 +00:00
atomics.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
bigint-i64-to-imported-js-func.js [wasm] split bigint.js test 2019-03-28 14:48:12 +00:00
bigint.js [wasm][bigint] Allow only bigints as i64-global imports 2019-09-09 15:29:02 +00:00
bounds-check-64bit.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
bounds-check-turbofan.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
bulk-memory.js [wasm][test] Get rid of the imported parameter in addElementSegments 2019-05-21 10:03:55 +00:00
calls.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
code-space-exhaustion.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
compare-exchange64-stress.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
compare-exchange-stress.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
compilation-hints-async-compilation.js [wasm-hints] Lazy Baseline Compilation 2019-04-29 12:26:26 +00:00
compilation-hints-decoder.js [wasm-hints] Lazy Baseline Compilation 2019-04-29 12:26:26 +00:00
compilation-hints-ignored.js [wasm-hints] Add Tests for Compilation Hints 2019-04-18 10:34:42 +00:00
compilation-hints-interpreter.js [wasm] Use new names for instructions 2019-05-21 18:33:21 +00:00
compilation-hints-lazy-validation.js [wasm-hints] Lazy Validation Flag 2019-04-18 12:43:52 +00:00
compilation-hints-streaming-compilation.js [wasm] Use new names for instructions 2019-05-21 18:33:21 +00:00
compilation-hints-streaming-lazy-validation.js [wasm-hints] Lazy Validation Flag 2019-04-18 12:43:52 +00:00
compilation-hints-sync-compilation.js [wasm-hints] Lazy Baseline Compilation 2019-04-29 12:26:26 +00:00
compilation-limits-asm.js
compilation-limits.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
compiled-module-management.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
compiled-module-serialization.js [wasm][test] Get rid of the imported parameter in addElementSegments 2019-05-21 10:03:55 +00:00
data-segments.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
disable-trap-handler.js
disallow-codegen.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
divrem-trap.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
empirical_max_memory.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
ensure-wasm-binaries-up-to-date.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
errors.js [wasm] Make error messages deterministic 2019-03-14 15:05:18 +00:00
exceptions-anyref-interpreter.js [wasm] Support reference types on interpreter entry. 2019-04-08 15:48:07 +00:00
exceptions-anyref.js [wasm] Rename "except_ref" to "exnref" throughout the code. 2019-07-15 15:09:28 +00:00
exceptions-export.js [wasm] Revise compile error messages 2019-02-01 14:36:12 +00:00
exceptions-global-interpreter.js [wasm] Support reference type globals in interpreter. 2019-04-09 09:50:48 +00:00
exceptions-global.js [wasm] Add support to construct 'exnref' type globals. 2019-08-27 14:29:16 +00:00
exceptions-import.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
exceptions-interpreter.js [wasm] Fix lifetime of reference values on interpreter stack. 2019-04-05 12:47:56 +00:00
exceptions-rethrow-interpreter.js [wasm] Fix interpreter stack height for throwing opcode. 2019-04-05 14:04:56 +00:00
exceptions-rethrow.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
exceptions-shared.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
exceptions-simd-interpreter.js [wasm] Extend interpreter exception support to Simd128. 2019-04-05 13:51:06 +00:00
exceptions-simd.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
exceptions-utils.js [wasm][test] Deduplicate assertWasmThrows helper method. 2018-12-10 09:56:17 +00:00
exceptions.js [wasm] Rename "except_ref" to "exnref" throughout the code. 2019-07-15 15:09:28 +00:00
export-global.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
export-identity.js [wasm] Add test of function identity on re-export. 2019-07-03 16:43:27 +00:00
export-mutable-global.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
export-table.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
expose-wasm.js
ffi-error.js [wasm] Check that sync and async errors match 2019-02-07 16:41:47 +00:00
ffi.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
float-constant-folding.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
function-names.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
function-prototype.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
futex.js [wasm] Rename Atomics Wake operator to Notify. 2019-03-09 01:46:44 +00:00
gc-buffer.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
gc-frame.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
gc-memory.js Reland x6 [arraybuffer] Rearchitect backing store ownership 2019-09-09 13:07:42 +00:00
gc-stress.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
globals.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
graceful_shutdown_during_tierup.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
graceful_shutdown.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
grow-memory-detaching.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
grow-memory-in-branch.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
grow-memory-in-call.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
grow-memory-in-loop.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
grow-memory.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
grow-shared-memory.js [wasm] Enable shared GrowMemory by default 2019-09-17 23:41:43 +00:00
huge-memory.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
import-function.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
import-memory.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
import-mutable-global.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
import-table.js [wasm][test] Get rid of the imported parameter in addElementSegments 2019-05-21 10:03:55 +00:00
incrementer.wasm
indirect-call-non-zero-table-interpreter.js [wasm][interpreter] Support indirect function calls through all tables 2019-07-09 11:51:28 +00:00
indirect-call-non-zero-table.js [wasm][test] Get rid of the imported parameter in addElementSegments 2019-05-21 10:03:55 +00:00
indirect-calls.js [wasm] Allow multi-table initialization in the wasm-module-builder 2019-03-13 10:39:41 +00:00
indirect-sig-mismatch.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
indirect-tables.js [wasm][test] Do not add table in addElementSegment 2019-05-21 11:05:18 +00:00
instance-gc.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
instance-memory-gc-stress.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
instantiate-module-basic.js [test] Introduce assertThrowsAsync 2019-02-06 15:35:04 +00:00
instantiate-run-basic.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
interpreter-mixed.js [wasm] use standard WebAssembly stack trace format 2019-06-11 18:03:24 +00:00
interpreter.js [wasm] use standard WebAssembly stack trace format 2019-06-11 18:03:24 +00:00
js-api.js [wasm] Refactor WasmTableObject::Grow 2019-04-30 11:38:26 +00:00
large-offset.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
lazy-compilation.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
liftoff-trap-handler.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
liftoff.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
loop-rotation.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
many-modules.js [wasm] Add test for creating 10k modules in one process 2019-09-20 09:34:34 +00:00
many-parameters.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
memory_1gb_oob.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
memory_2gb_oob.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
memory_4gb_oob.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
memory-external-call.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
memory-instance-validation.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
memory-size.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
memory.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
module-memory.js Remove redundant buffer read/write checks 2019-09-12 17:29:20 +00:00
multi-table-element-section.js [wasm] Allow initialization of anyref tables 2019-05-24 11:39:56 +00:00
multi-value.js [wasm] Support multi-return WASM function calls from JS 2019-08-07 10:15:39 +00:00
multiple-code-spaces.js Add test mode to ignore allocation hints 2019-09-16 15:18:27 +00:00
mutable-globals.js [wasm] Don't allow anyref globals when anyref is not enabled 2019-03-19 18:10:26 +00:00
names.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
origin-trial-flags.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
OWNERS Reduce wasm OWNERS to current team members 2018-10-15 14:47:49 +00:00
parallel_compilation.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
params.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
print-code.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
receiver.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
return-calls.js [wasm][test] Do not add table in addElementSegment 2019-05-21 11:05:18 +00:00
serialize-lazy-module.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
shared-arraybuffer-worker-simple-gc.js [api] Add [Shared]ArrayBuffer::GetBackingStore() 2019-09-19 10:03:02 +00:00
shared-memory-gc-stress.js Reland x6 [arraybuffer] Rearchitect backing store ownership 2019-09-09 13:07:42 +00:00
shared-memory-worker-explicit-gc-stress.js [mjsunit] Add more tests for shared array buffers / memories 2019-07-17 14:08:38 +00:00
shared-memory-worker-gc-stress.js [mjsunit] Add more tests for shared array buffers / memories 2019-07-17 14:08:38 +00:00
shared-memory-worker-gc.js Reland x6 [arraybuffer] Rearchitect backing store ownership 2019-09-09 13:07:42 +00:00
shared-memory-worker-simple-gc.js [api] Add [Shared]ArrayBuffer::GetBackingStore() 2019-09-19 10:03:02 +00:00
shared-memory-worker-stress.js [mjsunit] Nerf shared-memory-worker-stress a little 2019-07-18 13:08:22 +00:00
shared-memory.js [wasm] change test name 2019-02-21 12:02:47 +00:00
stack.js [wasm] use standard WebAssembly stack trace format 2019-06-11 18:03:24 +00:00
stackwalk.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
start-function.js [test] Introduce assertThrowsAsync 2019-02-06 15:35:04 +00:00
streaming-api.js [wasm] Use new names for instructions 2019-05-21 18:33:21 +00:00
streaming-compile.js [wasm][test] Remove default --wasm-async-compilation flag 2018-11-09 17:29:17 +00:00
streaming-error-position.js [wasm] Speed up WasmModuleBuilder 2019-03-07 14:51:52 +00:00
streaming-trap-location.js [wasm][test] Remove default --wasm-async-compilation flag 2018-11-09 17:29:17 +00:00
table-access-interpreter.js [wasm] Implement table.get and table.set in the interpreter 2019-07-08 13:48:56 +00:00
table-access.js [wasm] Rename (Get|Set)Table to Table(Get|Set) 2019-07-08 12:55:14 +00:00
table-copy-anyref.js [wasm][bulk-memory] Adjust table.copy to recent spec changes 2019-07-18 08:07:37 +00:00
table-copy.js [wasm] Implement bulk memory table.copy in interpreter 2019-03-21 16:26:20 +00:00
table-fill-interpreter.js [wasm] Support table.fill in the interpreter 2019-07-11 14:00:09 +00:00
table-fill.js [wasm] Rename (Get|Set)Table to Table(Get|Set) 2019-07-08 12:55:14 +00:00
table-get.js [wasm][test] Get rid of the imported parameter in addElementSegments 2019-05-21 10:03:55 +00:00
table-grow-from-wasm-interpreter.js [wasm] Implement table.grow and table.size in the interpreter 2019-07-09 12:21:08 +00:00
table-grow-from-wasm.js [wasm] Rename (Get|Set)Table to Table(Get|Set) 2019-07-08 12:55:14 +00:00
table-grow.js [wasm][test] Get rid of the imported parameter in addElementSegments 2019-05-21 10:03:55 +00:00
table-limits.js [wasm] correct Table limit 2019-03-05 15:22:20 +00:00
table.js [wasm] correct Table limit 2019-03-05 15:22:20 +00:00
test-wasm-module-builder.js [wasm][test] Add method to create signed LEB values 2019-07-30 14:18:52 +00:00
tier-up-testing-flag.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
trap-location.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
type-reflection-with-anyref.js [wasm] Fix WebAssembly.Table#get for constructed functions. 2019-09-12 09:40:55 +00:00
type-reflection-with-exnref.js [wasm] Extend type reflection to 'exnref' types. 2019-08-27 14:31:37 +00:00
type-reflection.js [wasm] Preserve identity on {WasmJSFunction} re-export. 2019-08-22 15:00:22 +00:00
unicode-validation.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
unicode.js [wasm] Make error messages deterministic 2019-03-14 15:05:18 +00:00
unreachable-validation.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
unreachable.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
user-properties-common.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
user-properties-constructed.js
user-properties-exported.js
user-properties-module.js
user-properties-reexport.js
verify-module-basic-errors.js
wasm-api-overloading.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
wasm-default.js
wasm-math-intrinsic.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
wasm-module-builder.js [wasm][bulk] Update the element segment decoding to the new spec changes 2019-09-17 13:25:42 +00:00
wasm-object-api.js
worker-interpreter.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00
worker-memory.js
worker-module.js [wasm] merge js constants file in module-builder 2019-01-30 22:10:34 +00:00