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. 03 Mar, 2020 1 commit
  4. 15 Nov, 2019 1 commit
  5. 23 May, 2019 1 commit
  6. 15 Feb, 2019 1 commit
  7. 04 Feb, 2019 3 commits
    • Takuto Ikuta's avatar
      Reland "Reland "Extract JSObject class from objects.cc"" · bddc6aa5
      Takuto Ikuta authored
      This is a reland of 83908b86
      
      Fix: check V8_INTL_SUPPORT macro in js-objects.cc
      
      Original change's description:
      > Reland "Extract JSObject class from objects.cc"
      >
      > This is a reland of b8c821f4
      >
      > Fix: include src/string-stream.h for compile failure
      > https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20builder/39320
      >
      > Original change's description:
      > > Extract JSObject class from objects.cc
      > >
      > > I extracted following class member functions to js-objects.cc
      > > * JSReceiver
      > > * JSObject
      > > * JSBoundFunction
      > > * JSFunction
      > > * JSGlobalObject
      > > * JSDate
      > > * JSMessageObject
      > >
      > > Declaration of all above class are in js-objects.h.
      > >
      > > I also moved AllocationSite::DigestTransitionFeedback used in JSObject::UpdateAllocationSite
      > > and ShouldConvertToSlowElements used in JSObject and JSArray
      > >
      > > This patch makes compile time of objects.cc from 17.6s to 14.1s on Z840 Linux.
      > > And js-objects.cc takes 8.69s for compile.
      > >
      > > Bug: v8:7629
      > > Change-Id: I989f22363667445dd28d7f8c06c81ff79d6ed45f
      > > Reviewed-on: https://chromium-review.googlesource.com/c/1447916
      > > Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
      > > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > > Reviewed-by: Marja Hölttä <marja@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#59288}
      >
      > Bug: v8:7629
      > Bug: v8:8562
      > Change-Id: Iac2227c5f0c5a4072d16814ecae481fb4720e4f5
      > Reviewed-on: https://chromium-review.googlesource.com/c/1449951
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#59318}
      
      Bug: v8:7629, v8:8562
      Change-Id: If8870bd579d8597d08981a83492f60595e081a65
      Reviewed-on: https://chromium-review.googlesource.com/c/1452097Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59329}
      bddc6aa5
    • Takuto Ikuta's avatar
      Revert "Reland "Extract JSObject class from objects.cc"" · 9023013f
      Takuto Ikuta authored
      This reverts commit 83908b86.
      
      Reason for revert: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20noi18n%20-%20debug/25074
      
      Original change's description:
      > Reland "Extract JSObject class from objects.cc"
      > 
      > This is a reland of b8c821f4
      > 
      > Fix: include src/string-stream.h for compile failure
      > https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20builder/39320
      > 
      > Original change's description:
      > > Extract JSObject class from objects.cc
      > >
      > > I extracted following class member functions to js-objects.cc
      > > * JSReceiver
      > > * JSObject
      > > * JSBoundFunction
      > > * JSFunction
      > > * JSGlobalObject
      > > * JSDate
      > > * JSMessageObject
      > >
      > > Declaration of all above class are in js-objects.h.
      > >
      > > I also moved AllocationSite::DigestTransitionFeedback used in JSObject::UpdateAllocationSite
      > > and ShouldConvertToSlowElements used in JSObject and JSArray
      > >
      > > This patch makes compile time of objects.cc from 17.6s to 14.1s on Z840 Linux.
      > > And js-objects.cc takes 8.69s for compile.
      > >
      > > Bug: v8:7629
      > > Change-Id: I989f22363667445dd28d7f8c06c81ff79d6ed45f
      > > Reviewed-on: https://chromium-review.googlesource.com/c/1447916
      > > Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
      > > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > > Reviewed-by: Marja Hölttä <marja@chromium.org>
      > > Cr-Commit-Position: refs/heads/master@{#59288}
      > 
      > Bug: v8:7629
      > Bug: v8:8562
      > Change-Id: Iac2227c5f0c5a4072d16814ecae481fb4720e4f5
      > Reviewed-on: https://chromium-review.googlesource.com/c/1449951
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#59318}
      
      TBR=marja@chromium.org,mstarzinger@chromium.org,titzer@chromium.org,tikuta@chromium.org
      
      Change-Id: I3260edecb1434bbf9c25d89c9f9a8af02d106855
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7629, v8:8562
      Reviewed-on: https://chromium-review.googlesource.com/c/1452096Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
      Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59324}
      9023013f
    • Takuto Ikuta's avatar
      Reland "Extract JSObject class from objects.cc" · 83908b86
      Takuto Ikuta authored
      This is a reland of b8c821f4
      
      Fix: include src/string-stream.h for compile failure
      https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20builder/39320
      
      Original change's description:
      > Extract JSObject class from objects.cc
      >
      > I extracted following class member functions to js-objects.cc
      > * JSReceiver
      > * JSObject
      > * JSBoundFunction
      > * JSFunction
      > * JSGlobalObject
      > * JSDate
      > * JSMessageObject
      >
      > Declaration of all above class are in js-objects.h.
      >
      > I also moved AllocationSite::DigestTransitionFeedback used in JSObject::UpdateAllocationSite
      > and ShouldConvertToSlowElements used in JSObject and JSArray
      >
      > This patch makes compile time of objects.cc from 17.6s to 14.1s on Z840 Linux.
      > And js-objects.cc takes 8.69s for compile.
      >
      > Bug: v8:7629
      > Change-Id: I989f22363667445dd28d7f8c06c81ff79d6ed45f
      > Reviewed-on: https://chromium-review.googlesource.com/c/1447916
      > Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Reviewed-by: Marja Hölttä <marja@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#59288}
      
      Bug: v8:7629
      Bug: v8:8562
      Change-Id: Iac2227c5f0c5a4072d16814ecae481fb4720e4f5
      Reviewed-on: https://chromium-review.googlesource.com/c/1449951Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59318}
      83908b86
  8. 01 Feb, 2019 2 commits
    • Clemens Hammacher's avatar
      Revert "Extract JSObject class from objects.cc" · d0a754e0
      Clemens Hammacher authored
      This reverts commit b8c821f4.
      
      Reason for revert: compile errors, e.g. https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20builder/39320
      
      Original change's description:
      > Extract JSObject class from objects.cc
      > 
      > I extracted following class member functions to js-objects.cc
      > * JSReceiver
      > * JSObject
      > * JSBoundFunction
      > * JSFunction
      > * JSGlobalObject
      > * JSDate
      > * JSMessageObject
      > 
      > Declaration of all above class are in js-objects.h.
      > 
      > I also moved AllocationSite::DigestTransitionFeedback used in JSObject::UpdateAllocationSite
      > and ShouldConvertToSlowElements used in JSObject and JSArray
      > 
      > This patch makes compile time of objects.cc from 17.6s to 14.1s on Z840 Linux.
      > And js-objects.cc takes 8.69s for compile.
      > 
      > Bug: v8:7629
      > Change-Id: I989f22363667445dd28d7f8c06c81ff79d6ed45f
      > Reviewed-on: https://chromium-review.googlesource.com/c/1447916
      > Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
      > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
      > Reviewed-by: Marja Hölttä <marja@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#59288}
      
      TBR=marja@chromium.org,mstarzinger@chromium.org,titzer@chromium.org,tikuta@chromium.org
      
      Change-Id: I18a8af8a7970f96b2ec3e56b2b1871b4f080ab01
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: v8:7629
      Reviewed-on: https://chromium-review.googlesource.com/c/1449635Reviewed-by: 's avatarClemens Hammacher <clemensh@chromium.org>
      Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59289}
      d0a754e0
    • Takuto Ikuta's avatar
      Extract JSObject class from objects.cc · b8c821f4
      Takuto Ikuta authored
      I extracted following class member functions to js-objects.cc
      * JSReceiver
      * JSObject
      * JSBoundFunction
      * JSFunction
      * JSGlobalObject
      * JSDate
      * JSMessageObject
      
      Declaration of all above class are in js-objects.h.
      
      I also moved AllocationSite::DigestTransitionFeedback used in JSObject::UpdateAllocationSite
      and ShouldConvertToSlowElements used in JSObject and JSArray
      
      This patch makes compile time of objects.cc from 17.6s to 14.1s on Z840 Linux.
      And js-objects.cc takes 8.69s for compile.
      
      Bug: v8:7629
      Change-Id: I989f22363667445dd28d7f8c06c81ff79d6ed45f
      Reviewed-on: https://chromium-review.googlesource.com/c/1447916
      Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
      Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
      Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#59288}
      b8c821f4
  9. 09 Jan, 2019 1 commit
  10. 26 Dec, 2018 1 commit
  11. 18 Dec, 2018 1 commit
  12. 14 Dec, 2018 1 commit
  13. 08 Dec, 2018 1 commit
  14. 29 Nov, 2018 1 commit
  15. 22 Nov, 2018 1 commit
  16. 21 Sep, 2018 1 commit
  17. 12 Sep, 2018 1 commit