• Clemens Hammacher's avatar
    [wasm] Fix several gc issues · 362e9894
    Clemens Hammacher authored
    The pattern "handle->foo(factory->NewXX())" is unsafe, because the
    evaluation order of the receiver (dereferencing the handle) and the
    argument (allocating something on the heap) is undefined. If the
    receiver is evaluated first, then the allocation in the evaluation of
    the argument might invalidate the receiver.
    In general, gcmole should catch these errors, but sadly, if the
    method "foo" receives a Handle, it seems to not catch them.
    We should generally refactor our getters and setters to receive and
    return raw pointers instead of handles, just like most other code in
    our code base.
    
    R=mtrofin@chromium.org, ahaas@chromium.org
    
    Bug: v8:7224
    Change-Id: If9e84e4ca7efe02c40b97a8c5c549c222947d6bb
    Reviewed-on: https://chromium-review.googlesource.com/832268Reviewed-by: 's avatarMircea Trofin <mtrofin@chromium.org>
    Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#50165}
    362e9894
Name
Last commit
Last update
..
baseline Loading commit data...
OWNERS Loading commit data...
compilation-manager.cc Loading commit data...
compilation-manager.h Loading commit data...
decoder.h Loading commit data...
function-body-decoder-impl.h Loading commit data...
function-body-decoder.cc Loading commit data...
function-body-decoder.h Loading commit data...
leb-helper.h Loading commit data...
local-decl-encoder.cc Loading commit data...
local-decl-encoder.h Loading commit data...
memory-tracing.cc Loading commit data...
memory-tracing.h Loading commit data...
module-compiler.cc Loading commit data...
module-compiler.h Loading commit data...
module-decoder.cc Loading commit data...
module-decoder.h Loading commit data...
signature-map.cc Loading commit data...
signature-map.h Loading commit data...
streaming-decoder.cc Loading commit data...
streaming-decoder.h Loading commit data...
wasm-api.cc Loading commit data...
wasm-api.h Loading commit data...
wasm-code-manager.cc Loading commit data...
wasm-code-manager.h Loading commit data...
wasm-code-specialization.cc Loading commit data...
wasm-code-specialization.h Loading commit data...
wasm-code-wrapper.cc Loading commit data...
wasm-code-wrapper.h Loading commit data...
wasm-debug.cc Loading commit data...
wasm-engine.h Loading commit data...
wasm-external-refs.cc Loading commit data...
wasm-external-refs.h Loading commit data...
wasm-interpreter.cc Loading commit data...
wasm-interpreter.h Loading commit data...
wasm-js.cc Loading commit data...
wasm-js.h Loading commit data...
wasm-limits.h Loading commit data...
wasm-memory.cc Loading commit data...
wasm-memory.h Loading commit data...
wasm-module-builder.cc Loading commit data...
wasm-module-builder.h Loading commit data...
wasm-module.cc Loading commit data...
wasm-module.h Loading commit data...
wasm-objects-inl.h Loading commit data...
wasm-objects.cc Loading commit data...
wasm-objects.h Loading commit data...
wasm-opcodes.cc Loading commit data...
wasm-opcodes.h Loading commit data...
wasm-result.cc Loading commit data...
wasm-result.h Loading commit data...
wasm-serialization.cc Loading commit data...
wasm-serialization.h Loading commit data...
wasm-text.cc Loading commit data...
wasm-text.h Loading commit data...
wasm-value.h Loading commit data...