3cd6705f58
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} |
||
---|---|---|
.. | ||
OWNERS | ||
test-c-wasm-entry.cc | ||
test-jump-table-assembler.cc | ||
test-run-wasm-64.cc | ||
test-run-wasm-asmjs.cc | ||
test-run-wasm-atomics64.cc | ||
test-run-wasm-atomics.cc | ||
test-run-wasm-bulk-memory.cc | ||
test-run-wasm-exceptions.cc | ||
test-run-wasm-interpreter.cc | ||
test-run-wasm-js.cc | ||
test-run-wasm-module.cc | ||
test-run-wasm-sign-extension.cc | ||
test-run-wasm-simd.cc | ||
test-run-wasm.cc | ||
test-streaming-compilation.cc | ||
test-wasm-breakpoints.cc | ||
test-wasm-codegen.cc | ||
test-wasm-import-wrapper-cache.cc | ||
test-wasm-interpreter-entry.cc | ||
test-wasm-serialization.cc | ||
test-wasm-shared-engine.cc | ||
test-wasm-stack.cc | ||
test-wasm-trap-position.cc | ||
wasm-atomics-utils.h | ||
wasm-run-utils.cc | ||
wasm-run-utils.h |