• Daniel Clifford's avatar
    [torque]: Class declarations · d0e95c7a
    Daniel Clifford authored
    Class declarations support structured heap data that is a subtype of
    HeapObject. Only fields of Object subtypes (both strong and weak)
    are currently supported (no scalar fields yet).
    
    With this CL, both the field list macro used with the C++
    DEFINE_FIELD_OFFSET_CONSTANTS macro (to make field offset constants) as
    well as the Torque "operator '.field'" macros are generated for the
    classes declared in Torque. This is a first step to removing the
    substantial amount of duplication and boilerplate code
    needed to declare heap object classes.
    
    As a proof of concept, and handful of class field definitions,
    including those for non trivial classes like JSFunction, have been
    moved to Torque.
    
    Bug: v8:7793
    Change-Id: I2fa0b53db65fa6f5fe078fb94e1db3418f908753
    Reviewed-on: https://chromium-review.googlesource.com/c/1373971
    Commit-Queue: Daniel Clifford <danno@chromium.org>
    Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#58704}
    d0e95c7a