• Michael Starzinger's avatar
    [wasm] Fix lifetime of reference values on interpreter stack. · 2b7fdbfc
    Michael Starzinger authored
    This ensures the lifetime of reference values on the simulated operand
    stack of the interpreter is coupled to a lifetime of the {ThreadImpl}.
    We no longer directly store reference values on the stack, but maintain
    a separate "reference stack" on the GC'ed heap. This will ensure the GC
    traces such references properly.
    
    The new {StackValue} safety wrapper makes sure all use-sites that access
    the operand stack properly convert to/from handles when dealing with
    reference values.
    
    R=clemensh@chromium.org
    TEST=mjsunit/wasm/exceptions-interpreter
    BUG=v8:8091,v8:7581
    
    Change-Id: I8c05f2d945a6def943b89be0cfca538a73df8855
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1552791
    Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
    Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#60650}
    2b7fdbfc
Name
Last commit
Last update
..
OWNERS Loading commit data...
test-c-wasm-entry.cc Loading commit data...
test-jump-table-assembler.cc Loading commit data...
test-run-wasm-64.cc Loading commit data...
test-run-wasm-asmjs.cc Loading commit data...
test-run-wasm-atomics.cc Loading commit data...
test-run-wasm-atomics64.cc Loading commit data...
test-run-wasm-bulk-memory.cc Loading commit data...
test-run-wasm-exceptions.cc Loading commit data...
test-run-wasm-interpreter.cc Loading commit data...
test-run-wasm-js.cc Loading commit data...
test-run-wasm-module.cc Loading commit data...
test-run-wasm-sign-extension.cc Loading commit data...
test-run-wasm-simd.cc Loading commit data...
test-run-wasm.cc Loading commit data...
test-streaming-compilation.cc Loading commit data...
test-wasm-breakpoints.cc Loading commit data...
test-wasm-codegen.cc Loading commit data...
test-wasm-import-wrapper-cache.cc Loading commit data...
test-wasm-interpreter-entry.cc Loading commit data...
test-wasm-serialization.cc Loading commit data...
test-wasm-shared-engine.cc Loading commit data...
test-wasm-stack.cc Loading commit data...
test-wasm-trap-position.cc Loading commit data...
wasm-atomics-utils.h Loading commit data...
wasm-run-utils.cc Loading commit data...
wasm-run-utils.h Loading commit data...