• Clemens Hammacher's avatar
    Add code flag for non-tagged parameters · 86fa01c7
    Clemens Hammacher authored
    The WasmCompileLazy builtin creates an internal frame, thus the garbage
    collector will visit all pointers in the stack frame.
    However, we will call this builtin from compiled wasm code, and it
    receives raw (untagged) arguments. This is because this builtin is
    later exchanged by compiled wasm code, so the ABI needs to be
    compatible.
    
    This CL introduces the has_tagged_params code flag, which is true by
    default and false for each WASM_FUNCTION, JS_TO_WASM_FUNCTION and
    the WasmCompileLazy builtin.
    The gargabe collector just ignores the parameters for each frame
    whose code object has this flag set to false. For internal frames,
    all pointers in the whole stack frame are ignored if the flag is set.
    
    R=titzer@chromium.org, mstarzinger@chromium.org
    BUG=v8:5991
    
    Change-Id: I12a15157db344725bcc280e2041fd5bcad2ba700
    Reviewed-on: https://chromium-review.googlesource.com/451400
    Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
    Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
    Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#43884}
    86fa01c7
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
docs Loading commit data...
gni Loading commit data...
gypfiles Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...