1. 29 Oct, 2020 1 commit
  2. 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
  3. 29 Aug, 2019 1 commit
    • Seth Brenith's avatar
      [cleanup][torque] Use @generateCppClass in some simple cases, part 2 · a5811358
      Seth Brenith authored
      This patch is mostly mechanical. A few changes in
      implementation-visitor.cc might be worth mentioning:
      - Don't generate both field offset macros and class definitions for the
        same class. This was mostly just to keep me from forgetting to remove
        the DEFINE_FIELD_OFFSET_CONSTANTS part when converting classes, but
        also helpfully flagged that FixedArrayBase wasn't using the generated
        class that it requested.
      - Generate forward declarations for all tq-defined classes in
        internal-class-definitions-tq.h. This is helpful for making things
        compile when classes have fields of other class types.
      - When generating accessors for union types, use the nearest class type
        that contains the entire union rather than plain Object. This is
        important for compile-time type safety. It also required a few minor
        fixes elsewhere (isolate.cc, modules.cc, scope-info.cc,
        source-text-module.cc, and a correction of the field types in
        CallHandlerInfo to match how they're set in api.cc).
      
      Change-Id: I3b9280e30779ce57fb9f3629eecfec898e26d708
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1774976Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Commit-Queue: Seth Brenith <seth.brenith@microsoft.com>
      Cr-Commit-Position: refs/heads/master@{#63458}
      a5811358
  4. 24 May, 2019 1 commit
  5. 23 May, 2019 2 commits
  6. 08 Apr, 2019 1 commit
    • Benedikt Meurer's avatar
      [heap] Various improvements to GC stats. · f8e3b1d6
      Benedikt Meurer authored
      This CL contains a bunch of different improvements to the existing
      object stats, namely:
      
       - Introduce DEPRECATED_DESCRIPTOR_ARRAY_TYPE virtual instance type to
         also estimate the memory overhead of DescriptorArrays for deprecated
         Maps.
       - Do proper over-allocation computating for inobject fields in JSObjects.
       - Introduce OBJECT_PROPERTY_ARRAY_TYPE virtual instance type and properly
         compute over-allocation for PropertyArrays
       - Compute over-allocation for JSObject/JSArray elements properly.
       - Correctly report JSFunction and JSCollection like the other
         JSObjects, specifically report over-allocation properly for the
         instances itself and for the elements/properties backing stores.
       - Implement correct over-allocation computation for hash tables in
         ObjectStatsCollectorImpl::RecordHashTableVirtualObjectStats().
      
      Bug: v8:7266
      Change-Id: I9cadd703266dc90911a8e7420c3b00dcee82b06d
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1557139
      Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
      Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
      Auto-Submit: Benedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#60683}
      f8e3b1d6
  7. 15 Feb, 2019 1 commit
  8. 09 Feb, 2019 1 commit
  9. 09 Jan, 2019 1 commit
  10. 26 Dec, 2018 1 commit
  11. 08 Dec, 2018 1 commit
  12. 24 Nov, 2018 1 commit
  13. 27 Jul, 2018 1 commit
  14. 12 Jun, 2018 1 commit
  15. 08 Jun, 2018 1 commit
  16. 24 May, 2018 1 commit
  17. 01 Dec, 2017 1 commit