• Tobias Tebbi's avatar
    [torque] generate C++ class definitions per Torque file · 03f60296
    Tobias Tebbi authored
    This CL splits the class definitions per .tq file, to realize the
    following relationship:
    A class defined in src/objects/foo.tq has a C++ definition in
    src/objects/foo.h. Torque then generates:
    
    - torque-generated/src/objects/foo-tq.inc
      An include file (no proper header) to be included in src/objects/foo.h
      containing the Torque-generated C++ class definition.
    
    - torque-generated/src/objects/foo-tq-inl.inc
      An include file (no proper header) to be included in
      src/objects/foo-inl.h containing inline function definitions.
    
    - torque-generated/src/objects/foo-tq.cc
      A source file including src/objects/foo-inl.h that contains non-inline
      function definitions.
    
    Advantages of this approach:
    - Avoid big monolithic headers and preserve the work that went into
      splitting objects.h
    - Moving a definition to Torque keeps everything in the same place
      from a C++ viewpoint, including a fully Torque-generated C++ class
      definition.
    - The Torque-generated include files do not need to be independent
      headers, necessary includes or forward declarations can just be added
      to the headers that include them.
    
    Drive-by changes:
    A bunch of definitions and files had to be moved or created to realize
    a consistent 1:1 relationship between .tq files and C++ headers.
    
    
    Bug: v8:7793
    TBR: hpayer@chromium.org
    Change-Id: I239a89a16d0bc856a8669d7c92aeafe24a7c7663
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2470571
    Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
    Reviewed-by: 's avatarNico Hartmann <nicohartmann@chromium.org>
    Reviewed-by: 's avatarSeth Brenith <seth.brenith@microsoft.com>
    Cr-Commit-Position: refs/heads/master@{#70853}
    03f60296
Name
Last commit
Last update
..
DIR_METADATA Loading commit data...
OWNERS Loading commit data...
runtime-array.cc Loading commit data...
runtime-atomics.cc Loading commit data...
runtime-bigint.cc Loading commit data...
runtime-classes.cc Loading commit data...
runtime-collections.cc Loading commit data...
runtime-compiler.cc Loading commit data...
runtime-date.cc Loading commit data...
runtime-debug.cc Loading commit data...
runtime-forin.cc Loading commit data...
runtime-function.cc Loading commit data...
runtime-futex.cc Loading commit data...
runtime-generator.cc Loading commit data...
runtime-internal.cc Loading commit data...
runtime-interpreter.cc Loading commit data...
runtime-intl.cc Loading commit data...
runtime-literals.cc Loading commit data...
runtime-module.cc Loading commit data...
runtime-numbers.cc Loading commit data...
runtime-object.cc Loading commit data...
runtime-operators.cc Loading commit data...
runtime-promise.cc Loading commit data...
runtime-proxy.cc Loading commit data...
runtime-regexp.cc Loading commit data...
runtime-scopes.cc Loading commit data...
runtime-strings.cc Loading commit data...
runtime-symbol.cc Loading commit data...
runtime-test.cc Loading commit data...
runtime-typedarray.cc Loading commit data...
runtime-utils.h Loading commit data...
runtime-wasm.cc Loading commit data...
runtime-weak-refs.cc Loading commit data...
runtime.cc Loading commit data...
runtime.h Loading commit data...