• Tobias Tebbi's avatar
    [torque] improve GC visitors · f1400e43
    Tobias Tebbi authored
    Summary of changes:
    
    - GC visitors no longer rely on superclass visitors, but instead visit
      everything themselves. This enables generating better code.
    - Try to match simple body descriptors to reduce the amount of generated
      code.
    - Turn SizeFor(instance) into an AllocatedSize() method.
    - Remove the special handling of resizable object sizes from Torque
      and instead overwrite AllocatedSize in classes that need special
      handling in C++.
    - Split the visitor id lists depending on whether the class has pointer
      fields.
    - Turn Torque-generated body descriptors into an .inc file to
      simplify includes.
    - Fix generated size functions to properly align the size.
    - Generate GC visitors (and C++ class definitions) for all string
      classes and FixedArray, WeakFixedArray, and WeakArrayList.
    - Store generated instance types in Torque class types. This is only
      used to determine if a type has a single instance type in this CL.
    
    Bug: v8:7793
    Change-Id: I4d362e96b047c305bd6d065247734957b8958c42
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2110014
    Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
    Reviewed-by: 's avatarNico Hartmann <nicohartmann@chromium.org>
    Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#67542}
    f1400e43
torque-compiler.cc 5.39 KB