-
Seth Brenith authored
Torque currently generates constants like kStartOfWeakFieldsOffset and kEndOfStrongFieldsOffset, which can be used when writing custom BodyDescriptors. However, these offsets have some potentially confusing behaviors: * They don't take inheritance into account and describe only the fields defined by the current class itself, so there might be (for example) strong fields before kStartOfStrongFieldsOffset if they were defined by a superclass. * kStartOfWeakFieldsOffset points to the first field defined in Torque using the keyword `weak`, which indicates fields with *custom* weakness semantics (those that should be visited with IterateCustomWeakPointers), not those that may contain standard weak pointers (visited with IterateMaybeWeakPointers). (As a follow-up, I'd like to also rename `weak` to `@customWeak`.) Given that these constants have very low usage and somewhat bizarre semantics, I propose that we remove them. This change does so, and updates the existing usages to either define the required constants directly in C++ or not use them. I know that defining these constants in C++ is more brittle, but I think that brittle and clear is better than automatic and incomprehensible. Bug: v8:7793 Change-Id: I87f8c85ccae4027f61ac73d4e7e4e2820e92003b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3199731Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/main@{#77411}
7366f6e2