• 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
..
api Loading commit data...
asmjs Loading commit data...
ast Loading commit data...
base Loading commit data...
baseline Loading commit data...
bigint Loading commit data...
builtins Loading commit data...
codegen Loading commit data...
common Loading commit data...
compiler Loading commit data...
compiler-dispatcher Loading commit data...
d8 Loading commit data...
date Loading commit data...
debug Loading commit data...
deoptimizer Loading commit data...
diagnostics Loading commit data...
execution Loading commit data...
extensions Loading commit data...
flags Loading commit data...
handles Loading commit data...
heap Loading commit data...
ic Loading commit data...
init Loading commit data...
inspector Loading commit data...
interpreter Loading commit data...
json Loading commit data...
libplatform Loading commit data...
libsampler Loading commit data...
logging Loading commit data...
numbers Loading commit data...
objects Loading commit data...
parsing Loading commit data...
profiler Loading commit data...
protobuf Loading commit data...
regexp Loading commit data...
roots Loading commit data...
runtime Loading commit data...
sanitizer Loading commit data...
security Loading commit data...
snapshot Loading commit data...
strings Loading commit data...
tasks Loading commit data...
third_party Loading commit data...
torque Loading commit data...
tracing Loading commit data...
trap-handler Loading commit data...
utils Loading commit data...
wasm Loading commit data...
web-snapshot Loading commit data...
zone Loading commit data...
DEPS Loading commit data...
DIR_METADATA Loading commit data...
OWNERS Loading commit data...