• Tobias Tebbi's avatar
    [torque] Generate GC object visitors for Torque classes · 4f4d73f2
    Tobias Tebbi authored
    In the process:
    
    * Augment C++-generated Torque classes with SizeFor methods to
      calculate size of instances.
    
    * Add a new "@generateBodyDescriptor" annotation that causes Torque to
      generate C++ BodyDescriptors code that can be used to visit objects
      compatible with existing V8 mechanisms, e.g. GC
    
    * Fully automate C++ macro machinery so that adding non-extern Torque
      class doesn't require any C++ changes, including ensuring generation
      of instance types and proper boilerplate for validators and
      printers.
    
    * Make handling of @export a true annotation, allowing the modifier to
      be used on class declarations.
    
    * Add functionality such that classes with the @export annotation are
      available to be used from C++. Field accessors for exported classes
      are public and factory methods are generated to create instances of
      the objects from C++.
    
    * Change the Torque compiler such that Non-exported classes implicitly
      have the @generateBodyDescriptor annotation added and causes both
      verifiers and printers to be generated.
    
    * Switch non-extern Torque classes from using existing Struct-based
      machinery to being first-class classes that support more existing
      Torque class features.
    
    Change-Id: Ic60e60c2c6bd7acd57f949bce086898ad14a3b03
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2007490
    Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
    Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#66621}
    4f4d73f2
Name
Last commit
Last update
..
ls Loading commit data...
OWNERS Loading commit data...
ast.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...
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...
parameter-difference.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-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...