Description[wasm] Introduce WasmStackGuard builtin
Instead of placing a runtime call to StackGuard in the compiled wasm
code, we just call the builtin, which is cheaper. By passing Smi::kZero
as context, we save even more code space and avoid embedding the
context in the code.
The WasmStackGuard builtin then calls the new WasmStackGuard runtime
function, which gets the context from the instance attached to the
calling wasm code, and then does the usual StackGuard logic.
For the unity benchmark in asm-wasm mode, generated code size reduces
from 63.0 to 61.6 MB (-2.1%).
R=titzer@chromium.org, ahaas@chromium.org, mstarzinger@chromium.org
Review-Url: https://codereview.chromium.org/2691993004
Cr-Commit-Position: refs/heads/master@{#43277}
Committed: https://chromium.googlesource.com/v8/v8/+/b6bfe7b91169fdb6da7b40b4d1361e9e0d5690bc
Patch Set 1 #
Total comments: 7
Patch Set 2 : Add builtins-wasm.cc ;) #
Total comments: 6
Patch Set 3 : Address comments #Patch Set 4 : Remove unneeded include #Patch Set 5 : Rebase #Patch Set 6 : Rebase #
Dependent Patchsets: Messages
Total messages: 37 (26 generated)
|