1. 28 Oct, 2020 1 commit
    • 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
  2. 11 May, 2020 1 commit
    • Seth Brenith's avatar
      [torque][cleanup] Simplify some Torque-defined classes · e7693985
      Seth Brenith authored
      This CL is pretty mechanical; I just iterated through some Torque
      classes making the following changes:
      
      - Use @generateCppClass if it seems easy to
      - Use @generatePrint if the existing printer doesn't do anything special
      - Fix up any imprecise field types
      
      It also includes two minor changes to implementation-visitor:
      
      - Add a new -inl.h file with the things needed for
        torque-generated/class-definitions-tq.cc so we don't need to keep
        changing the compiler when we add @generateCppClass.
      - Avoid emitting incorrect accessors for ExternalPointers. This isn't
        strictly necessary for correctness, as the accessors defined in C++
        already hide the ones inherited from generated code, but it makes me
        feel safer.
      
      Change-Id: I4d5a8ba6f86ebff57a0d147619212a3993b087c0
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2185824Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
      Cr-Commit-Position: refs/heads/master@{#67719}
      e7693985
  3. 21 Feb, 2020 1 commit
  4. 19 Jul, 2019 1 commit
  5. 28 Jun, 2019 1 commit
  6. 05 Jun, 2019 1 commit
    • Suraj Sharma's avatar
      Reland "[torque] Convert few class layout to torque." · 8dc7da0c
      Suraj Sharma authored
      This is a reland of 42fee61a
      
      The in-object fields of JSModuleNamespace has been excluded from torque.
      It is restored back to its existing mechanism on the C++ side and rest
      of the class is ported to torque.
      
      Original change's description:
      > [torque] Convert few class layout to torque.
      >
      > 1. Converted Module, JSModuleNameSpace, JSCollator, JSV8BreakIterator,
      >       TemplateList,
      >       JSStrictArgumentsObject to torque.
      >
      > Bug: v8:8952
      > Change-Id: I01e88ac36acd7ba18791bec609e5ae737672c731
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1619146
      > Commit-Queue: Suraj Sharma <surshar@microsoft.com>
      > Reviewed-by: Simon Zünd <szuend@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#61671}
      
      Bug: v8:8952
      Change-Id: Ibd41000ad96ae57bd4f452f0c0c1b890e2c6fb5c
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1632833Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Commit-Queue: Suraj Sharma <surshar@microsoft.com>
      Cr-Commit-Position: refs/heads/master@{#62005}
      8dc7da0c
  7. 23 May, 2019 1 commit
  8. 21 May, 2019 1 commit
    • Georg Neis's avatar
      Revert "Reland "[torque] Convert few class layout to torque."" · e165213e
      Georg Neis authored
      This reverts commit 42fee61a.
      
      Reason for revert: it's not safe to access in-object fields that way.
      Will post more information in Gerrit.
      
      Original change's description:
      > Reland "[torque] Convert few class layout to torque."
      > 
      > This is a reland of b9bfd006
      > 
      > Original change's description:
      > > [torque] Convert few class layout to torque and updated torque code formatter.
      > >
      > > 1. Converted Module, JSModuleNameSpace, JSCollator, JSV8BreakIterator,
      > >       TemplateList,
      > >       JSStrictArgumentsObject to torque.
      > > 2. Updated torque code formatter to now handle multi-line
      > >             declarations correctly.
      > >
      > > Bug: v8:8952
      > > Change-Id: I97846b1bc0d2cba5d7a68468fc263423b1b55d19
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1536988
      > > Reviewed-by: Simon Zünd <szuend@chromium.org>
      > > Commit-Queue: Suraj Sharma <surshar@microsoft.com>
      > > Cr-Commit-Position: refs/heads/master@{#61624}
      > 
      > Removed the Torque code Formatter update from this CL
      > 
      > Bug: v8:8952
      > Change-Id: I01e88ac36acd7ba18791bec609e5ae737672c731
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1619146
      > Commit-Queue: Suraj Sharma <surshar@microsoft.com>
      > Reviewed-by: Simon Zünd <szuend@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#61671}
      
      TBR=surshar@microsoft.com,szuend@chromium.org
      
      Change-Id: I6fd66ce67aeecf0128878924d5e5b6a71ad88e32
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:8952
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1622109Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
      Commit-Queue: Georg Neis <neis@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61692}
      e165213e
  9. 20 May, 2019 1 commit
    • Suraj Sharma's avatar
      Reland "[torque] Convert few class layout to torque." · 42fee61a
      Suraj Sharma authored
      This is a reland of b9bfd006
      
      Original change's description:
      > [torque] Convert few class layout to torque and updated torque code formatter.
      >
      > 1. Converted Module, JSModuleNameSpace, JSCollator, JSV8BreakIterator,
      >       TemplateList,
      >       JSStrictArgumentsObject to torque.
      > 2. Updated torque code formatter to now handle multi-line
      >             declarations correctly.
      >
      > Bug: v8:8952
      > Change-Id: I97846b1bc0d2cba5d7a68468fc263423b1b55d19
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1536988
      > Reviewed-by: Simon Zünd <szuend@chromium.org>
      > Commit-Queue: Suraj Sharma <surshar@microsoft.com>
      > Cr-Commit-Position: refs/heads/master@{#61624}
      
      Removed the Torque code Formatter update from this CL
      
      Bug: v8:8952
      Change-Id: I01e88ac36acd7ba18791bec609e5ae737672c731
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1619146
      Commit-Queue: Suraj Sharma <surshar@microsoft.com>
      Reviewed-by: 's avatarSimon Zünd <szuend@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#61671}
      42fee61a
  10. 18 May, 2019 1 commit
  11. 17 May, 2019 1 commit
  12. 13 Feb, 2019 1 commit
  13. 09 Jan, 2019 1 commit
  14. 26 Dec, 2018 1 commit
  15. 17 Dec, 2018 1 commit
  16. 08 Dec, 2018 1 commit
  17. 27 Nov, 2018 1 commit
  18. 05 Sep, 2018 2 commits