v8/test/cctest/wasm
Michael Starzinger 7579b1e3c8 [wasm] Support concurrent patching of jump table.
This adds initial support for concurrently patching jump table slots. It
is needed once different Isolates share code (for the --wasm-shared-code
feature). We need to ensure that instructions holding the target address
within a jump table slot do not cross cache-line boundaries. To do this,
the jump table has been split into consecutive pages.

Note that this also adds a stress test for multiple threads hammering at
a single slot concurrently. The test is currently limited to the ia32
and the x64 architecture, but will be extended to cover others. The test
reliably triggers tearing of the target address on almost every run of
the test and hence serves to prevent regressions.

R=clemensh@chromium.org
TEST=cctest/test-jump-table-assembler
BUG=v8:8018

Change-Id: Ife56bbb61ffcae5d8906ca7b8c604b195603707c
Reviewed-on: https://chromium-review.googlesource.com/1163664
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54942}
2018-08-07 11:20:09 +00:00
..
OWNERS Remove mtrofin and rossberg from OWNERS 2018-02-15 23:48:43 +00:00
test-c-wasm-entry.cc [cleanup] Remove redundant wasm:: namespace prefixes 2018-08-02 10:36:00 +00:00
test-jump-table-assembler.cc [wasm] Support concurrent patching of jump table. 2018-08-07 11:20:09 +00:00
test-run-wasm-64.cc [wasm][cctest] Make remaining tests use page-sized memories 2018-04-27 22:37:14 +00:00
test-run-wasm-asmjs.cc [wasm] Split off wasm-linkage.h 2018-04-27 13:43:49 +00:00
test-run-wasm-atomics64.cc Add I64Atomic {Exchg, CmpExchg} operations for ia32 2018-08-02 01:09:19 +00:00
test-run-wasm-atomics.cc [wasm] Fix AtomicStores to not clobber the output register 2018-07-19 22:16:06 +00:00
test-run-wasm-interpreter.cc [wasm] Split off wasm-linkage.h 2018-04-27 13:43:49 +00:00
test-run-wasm-js.cc [cleanup] Split off api-inl.h from api.h to make latter self contained 2018-07-23 16:03:49 +00:00
test-run-wasm-module.cc [cleanup] Split off api-inl.h from api.h to make latter self contained 2018-07-23 16:03:49 +00:00
test-run-wasm-sign-extension.cc [wasm] Enable sign extension operations in the interpreter 2018-06-01 22:12:45 +00:00
test-run-wasm-simd.cc [wasm simd] Fuzz test the shuffle opcode 2018-07-13 21:51:47 +00:00
test-run-wasm.cc [wasm] Move code generation fully to background task. 2018-07-13 07:53:49 +00:00
test-streaming-compilation.cc Revert "[wasm] Implement the new API for WebAssembly.instantiateStreaming" 2018-08-02 13:29:47 +00:00
test-wasm-breakpoints.cc [wasm] Remove {WasmCompiledModule} object type. 2018-06-27 14:02:51 +00:00
test-wasm-codegen.cc [api] Properly define BufferReference instead of CallerOwnedBuffer 2018-06-21 13:17:18 +00:00
test-wasm-interpreter-entry.cc [wasm] Split off wasm-linkage.h 2018-04-27 13:43:49 +00:00
test-wasm-serialization.cc [wasm] Avoid serializing {TransferrableModule} if possible. 2018-07-31 09:17:39 +00:00
test-wasm-shared-engine.cc [wasm] Add test case for tier-up with shared engine. 2018-08-02 12:37:35 +00:00
test-wasm-stack.cc [cleanup] Remove uses of deprecated StackTrace::GetFrame 2018-07-25 06:36:25 +00:00
test-wasm-trap-position.cc [cleanup] Remove uses of deprecated StackTrace::GetFrame 2018-07-25 06:36:25 +00:00
wasm-atomics-utils.h [iwyu] Fix some cctest IWYU violations. 2018-06-27 15:25:57 +00:00
wasm-run-utils.cc [cleanup] Remove redundant wasm:: namespace prefixes 2018-08-02 10:36:00 +00:00
wasm-run-utils.h [cleanup] Remove redundant wasm:: namespace prefixes 2018-08-02 10:36:00 +00:00