-
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: Ben Titzer <titzer@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#43884}
86fa01c7