• Daniel Clifford's avatar
    Reland "[torque] Implement safe initialization of classes through hidden structs" · 4c9bc648
    Daniel Clifford authored
    This is a reland of d11a0648
    
    Original change's description:
    > [torque] Implement safe initialization of classes through hidden structs
    > 
    > Initialization of classes now happens atomically at the end of the
    > class constructor only once all of the values for the class' fields
    > have been fully computed. This makes Torque constructors completely
    > GC safe, e.g. hardened against allocations or exceptions in
    > constructors.
    > 
    > As part of this change, make the 'this' parameter for method calls
    > explicit rather than implicit.
    > 
    > Drive by: add validation to check for duplicate field declarations
    > 
    > Bug: v8:7793
    > Change-Id: I8b5e85980d6a103ef9fc3262b76f6514f36ebf88
    > Reviewed-on: https://chromium-review.googlesource.com/c/1411252
    > Commit-Queue: Daniel Clifford <danno@chromium.org>
    > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#58979}
    
    Bug: v8:7793
    Change-Id: Ia8c23a36a661a73b5dc34437efd514a7c13a1ae8
    Reviewed-on: https://chromium-review.googlesource.com/c/1426840Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
    Commit-Queue: Daniel Clifford <danno@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59005}
    4c9bc648
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni 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...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes 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...
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...