• 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
declarations.cc 13.1 KB