v8/test/cctest/wasm
Clemens Hammacher 3cd6705f58 [wasm][x64] Use near jump in jump table
On x64, we allocate one big code region such that we can use near jumps
and near calls. The jump table did not make use of that design yet.
This CL changes that by emitting jump table slots as near jumps. This
also speeds up patching jump table slots significantly, since far jumps
populate the inline constant pool, which is unneeded overhead in this
case.
As a drive-by, this CL cleans up the API of near_call and near_jmp. The
current semantics is broken, and only works because this is only used
for WebAssembly calls which are patched anyway after code generation.
Also, x64 now uses the same path in test-jump-table-assembler.cc as
arm64 to ensure that all targets are within near-call-distance.

R=mstarzinger@chromium.org

Bug: v8:8916
Change-Id: Iffc34e248b72167307ffdab62dd2212c4ae86a32
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1561313
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#60777}
2019-04-11 13:49:29 +00:00
..
OWNERS Reduce wasm OWNERS to current team members 2018-10-15 14:47:49 +00:00
test-c-wasm-entry.cc [wasm-hints] Merged Tier Enum 2019-04-03 16:13:21 +00:00
test-jump-table-assembler.cc [wasm][x64] Use near jump in jump table 2019-04-11 13:49:29 +00:00
test-run-wasm-64.cc [test] Modernize value helpers 2019-02-01 12:56:59 +00:00
test-run-wasm-asmjs.cc [test] Modernize value helpers 2019-02-01 12:56:59 +00:00
test-run-wasm-atomics64.cc [test] Modernize value helpers 2019-02-01 12:56:59 +00:00
test-run-wasm-atomics.cc [test] Modernize value helpers 2019-02-01 12:56:59 +00:00
test-run-wasm-bulk-memory.cc Reland "[wasm] Implement table.init for interpreter" 2019-04-05 20:09:33 +00:00
test-run-wasm-exceptions.cc [wasm] Call through dispatch table in interpreter 2019-03-21 07:35:27 +00:00
test-run-wasm-interpreter.cc [wasm] Fix lifetime of reference values on interpreter stack. 2019-04-05 12:47:56 +00:00
test-run-wasm-js.cc [wasm] Call through dispatch table in interpreter 2019-03-21 07:35:27 +00:00
test-run-wasm-module.cc [wasm] Reserve upto maximum for a shared WebAssembly.Memory 2019-02-23 01:59:12 +00:00
test-run-wasm-sign-extension.cc [wasm] Unify all enums representing execution tiers 2018-08-21 15:45:18 +00:00
test-run-wasm-simd.cc [wasm-hints] Merged Tier Enum 2019-04-03 16:13:21 +00:00
test-run-wasm.cc [wasm-hints] Resolve Performance Problem 2019-04-05 11:07:00 +00:00
test-streaming-compilation.cc [wasm] Use engine's allocator consistently 2019-04-03 14:33:30 +00:00
test-wasm-breakpoints.cc [ubsan] Port JSReceiver and subclasses to the new design 2018-12-08 04:05:50 +00:00
test-wasm-codegen.cc [wasm][cleanup] Using 'using' instead of 'typedef' 2019-03-29 10:20:30 +00:00
test-wasm-import-wrapper-cache.cc [wasm][gc] Add code ref scopes for code GC 2019-04-02 11:37:41 +00:00
test-wasm-interpreter-entry.cc [wasm-hints] Merged Tier Enum 2019-04-03 16:13:21 +00:00
test-wasm-serialization.cc [wasm] Add getter for shared_ptr to NativeModule 2018-12-11 14:29:36 +00:00
test-wasm-shared-engine.cc [wasm-hints] Merged Tier Enum 2019-04-03 16:13:21 +00:00
test-wasm-stack.cc [cleanup] Refactor base, compiler, and wasm classes to use bools instead of converting ints. 2018-09-20 09:14:25 +00:00
test-wasm-trap-position.cc [cleanup] Refactor base, compiler, and wasm classes to use bools instead of converting ints. 2018-09-20 09:14:25 +00:00
wasm-atomics-utils.h [wasm][cleanup] Using 'using' instead of 'typedef' 2019-03-29 10:20:30 +00:00
wasm-run-utils.cc [wasm] Remove WasmEngine* from compilation units 2019-04-10 15:33:07 +00:00
wasm-run-utils.h Reland "[wasm] Implement table.init for interpreter" 2019-04-05 20:09:33 +00:00