• Seth Brenith's avatar
    [torque] Get rid of `weak` keyword · 6745405f
    Seth Brenith authored
    Torque allows a `weak` keyword on class field declarations. This keyword
    is confusing, because it means two completely different things:
    
    1. This field should be included in the weak fields section, meaning the
       field's offset should be in the range [kStartOfWeakFieldsOffset,
       kEndOfWeakFieldsOffset).
    2. If a BodyDescriptor is generated for this class, then this field
       should be visited using *custom* weakness semantics
       (IterateCustomWeakPointers, not IterateMaybeObjectPointers).
    
    I propose the following updated behavior, which I think is a bit more
    reasonable:
    
    1. To request that the generated BodyDescriptor use custom weakness
       semantics, use a new annotation @customWeakMarking.
    2. The weak fields section includes all fields that can be a Weak<T>
       type, plus those annotated with @customWeakMarking.
    
    These new rules require reordering fields in two classes which didn't
    already have all of their strong fields adjacent.
    
    Bug: v8:7793
    Change-Id: Ic9d741986afa7fc1be3de044af5cae11a3c64d8c
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3261968
    Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
    Reviewed-by: 's avatarNico Hartmann <nicohartmann@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#77739}
    6745405f
Name
Last commit
Last update
..
ls Loading commit data...
OWNERS Loading commit data...
ast.h Loading commit data...
cc-generator.cc Loading commit data...
cc-generator.h Loading commit data...
cfg.cc Loading commit data...
cfg.h Loading commit data...
class-debug-reader-generator.cc Loading commit data...
constants.h Loading commit data...
contextual.h Loading commit data...
cpp-builder.cc Loading commit data...
cpp-builder.h Loading commit data...
csa-generator.cc Loading commit data...
csa-generator.h Loading commit data...
declarable.cc Loading commit data...
declarable.h Loading commit data...
declaration-visitor.cc Loading commit data...
declaration-visitor.h Loading commit data...
declarations.cc Loading commit data...
declarations.h Loading commit data...
earley-parser.cc Loading commit data...
earley-parser.h Loading commit data...
global-context.cc Loading commit data...
global-context.h Loading commit data...
implementation-visitor.cc Loading commit data...
implementation-visitor.h Loading commit data...
instance-type-generator.cc Loading commit data...
instructions.cc Loading commit data...
instructions.h Loading commit data...
kythe-data.cc Loading commit data...
kythe-data.h Loading commit data...
parameter-difference.h Loading commit data...
runtime-macro-shims.h Loading commit data...
runtime-support.h Loading commit data...
server-data.cc Loading commit data...
server-data.h Loading commit data...
source-positions.cc Loading commit data...
source-positions.h Loading commit data...
torque-code-generator.cc Loading commit data...
torque-code-generator.h Loading commit data...
torque-compiler.cc Loading commit data...
torque-compiler.h Loading commit data...
torque-parser.cc Loading commit data...
torque-parser.h Loading commit data...
torque.cc Loading commit data...
type-inference.cc Loading commit data...
type-inference.h Loading commit data...
type-oracle.cc Loading commit data...
type-oracle.h Loading commit data...
type-visitor.cc Loading commit data...
type-visitor.h Loading commit data...
types.cc Loading commit data...
types.h Loading commit data...
utils.cc Loading commit data...
utils.h Loading commit data...