• 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
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...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython 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...