1. 10 May, 2022 1 commit
  2. 09 May, 2022 6 commits
  3. 03 May, 2022 1 commit
  4. 02 May, 2022 2 commits
  5. 29 Apr, 2022 1 commit
    • George Wort's avatar
      Make profile-guided optimization of builtins more configurable · 0e127bce
      George Wort authored
      Introduce get_hints.py and combine_hints.py in order to make
      the interpretation of basic block counts into hints more
      configurable and explicit, as well as allowing more accurate
      and consistent methods of combining multiple profiles.
      
      get_hints.py allows for the minimum count and threshold ratio
      values to be easily altered for different profiles, while
      combine_hints.py allows the hints produced from different
      benchmarks and threshold values to be easily and sensibly
      combined.
      
      Simply summing together basic block counts from different
      benchmarks could previously lead to a longer running benchmark
      overshadowing multiple shorter benchmarks with conflicting
      hints.
      
      Allowing alteration of the current threshold values gives a
      doubling of performance, while the new method of combining
      distinct profiles can double the performance improvement of the
      secondary benchmark while losing as little as 4% of the
      improvement gained in the primary benchmark.
      
      Design doc: https://docs.google.com/document/d/1OhwZnIZom47IX0lyceyt-S9i8AApDB0UqJdvQD6NuKQ/edit?usp=sharing
      
      Bug: v8:10470
      Change-Id: I1c09d1eabfdda5ed6794592e2c13ff8b461be361
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3545181Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Commit-Queue: George Wort <george.wort@arm.com>
      Cr-Commit-Position: refs/heads/main@{#80282}
      0e127bce
  6. 27 Apr, 2022 2 commits
  7. 25 Apr, 2022 1 commit
  8. 19 Apr, 2022 2 commits
  9. 14 Apr, 2022 1 commit
  10. 13 Apr, 2022 2 commits
  11. 11 Apr, 2022 1 commit
  12. 07 Apr, 2022 2 commits
  13. 06 Apr, 2022 1 commit
  14. 04 Apr, 2022 1 commit
  15. 30 Mar, 2022 1 commit
    • Jakob Gruber's avatar
      Refactor OptimizationMarker and ConcurrencyMode enums · 57d985a5
      Jakob Gruber authored
      .. with readability and simplicity in mind.
      
      - Rename OptimizationMarker to the (shorter) TieringState. 'Tiering'
        also matches 'TieringManager' terminology.
      - Rename the values:
        kNone -> kNone
        kInOptimizationQueue -> kInProgress
        kCompileFoo_NotConcurrent -> kRequestFoo_Synchronous
        kCompileFoo_Concurrent -> kRequestFoo_Concurrent
      - Likewise rename ConcurrencyMode::kNotConcurrent to kSynchronous.
      - Add predicates to test enum values.
      - Consistent lower case names for accessors on JSFunction and
        FeedbackVector.
      - Instead of having to call HasOptimizationMarker() before using any
        other accessor, simply have optimization_marker() return kNone if
        no feedback vector exists.
      - Drive-by: Enable the Unreachable() in MaybeOptimizeCode()
        unconditionally - this should never happen, there's no reason not
        to protect against this in release builds as well.
      
      Bug: v8:12161
      Change-Id: I67c03e2b7bd0a6b86d0c64f504ad8cb47e9e26ae
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3555774Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
      Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
      Commit-Queue: Jakob Linke <jgruber@chromium.org>
      Auto-Submit: Jakob Linke <jgruber@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#79669}
      57d985a5
  16. 25 Mar, 2022 1 commit
  17. 22 Mar, 2022 1 commit
    • Darius M's avatar
      Reland^2 [compiler] Simplify "==0" branches in MachineOperatorReducer · 0719ace6
      Darius M authored
      This is a reland of 6b690a6b.
      
      The previous version of this CL was a bit too aggressive in the
      duplication of branch conditions. This caused an increase in
      register pressure in some cases, thus reducing performance.
      
      In fact, duplicating branch conditions that require an "== 0" to be
      added provides no benefits. We are thus now a bit less aggressive, and
      only duplicate comparisons.
      
      Original change's description:
      > Reland [compiler] Simplify "==0" branches in MachineOperatorReducer
      >
      > This is a reland of 48b443f6.
      >
      > While fixing the initial CL, we stumbled upon a few bugs that
      > we had to fix:
      >
      >  - CommonOperatorReducer and SimplifiedOperatorReducer were applied
      >    before and after SimplifiedLowering, but always assumed that it
      >    was before SimplifiedLowering, and thus had the wrong semantics
      >    for branches in some cases. They now have an added parameter to
      >    know which semantics of branch they should use.
      >
      >  - The lowering of StaticAssert was wrong and could leave kHeapConstant
      >    in the assert (instead of machine Booleans).
      >
      > Original change's description:
      > > [compiler] Simplify "==0" branches in MachineOperatorReducer
      > >
      > > Bug: v8:12484
      > > Change-Id: I0667c7464c0dd71338bc199a24a69248a7a0a525
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3497303
      > > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > > Owners-Override: Tobias Tebbi <tebbi@chromium.org>
      > > Commit-Queue: Darius Mercadier <dmercadier@chromium.org>
      > > Cr-Commit-Position: refs/heads/main@{#79379}
      >
      > Bug: v8:12484
      > Change-Id: Ibbf5df96fce5ccb04868dc517539479bf69f5703
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3516869
      > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > Commit-Queue: Darius Mercadier <dmercadier@chromium.org>
      > Cr-Commit-Position: refs/heads/main@{#79528}
      
      Bug: v8:12484
      Change-Id: I31f575a59811a83c7c1acb4c14bf5ded63a8f536
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3540102Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Commit-Queue: Darius Mercadier <dmercadier@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#79560}
      0719ace6
  18. 21 Mar, 2022 1 commit
    • Darius Mercadier's avatar
      Revert "Reland [compiler] Simplify "==0" branches in MachineOperatorReducer" · b3a91634
      Darius Mercadier authored
      This reverts commit 6b690a6b.
      
      Reason for revert: causes a few regressions here https://chromeperf.appspot.com/group_report?rev=79528
      
      Original change's description:
      > Reland [compiler] Simplify "==0" branches in MachineOperatorReducer
      >
      > This is a reland of 48b443f6.
      >
      > While fixing the initial CL, we stumbled upon a few bugs that
      > we had to fix:
      >
      >  - CommonOperatorReducer and SimplifiedOperatorReducer were applied
      >    before and after SimplifiedLowering, but always assumed that it
      >    was before SimplifiedLowering, and thus had the wrong semantics
      >    for branches in some cases. They now have an added parameter to
      >    know which semantics of branch they should use.
      >
      >  - The lowering of StaticAssert was wrong and could leave kHeapConstant
      >    in the assert (instead of machine Booleans).
      >
      > Original change's description:
      > > [compiler] Simplify "==0" branches in MachineOperatorReducer
      > >
      > > Bug: v8:12484
      > > Change-Id: I0667c7464c0dd71338bc199a24a69248a7a0a525
      > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3497303
      > > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > > Owners-Override: Tobias Tebbi <tebbi@chromium.org>
      > > Commit-Queue: Darius Mercadier <dmercadier@chromium.org>
      > > Cr-Commit-Position: refs/heads/main@{#79379}
      >
      > Bug: v8:12484
      > Change-Id: Ibbf5df96fce5ccb04868dc517539479bf69f5703
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3516869
      > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > Commit-Queue: Darius Mercadier <dmercadier@chromium.org>
      > Cr-Commit-Position: refs/heads/main@{#79528}
      
      Bug: v8:12484
      Change-Id: I457464d793e9c5af8448564aa3b46be863b96fbb
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3540148
      Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
      Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Commit-Queue: Darius Mercadier <dmercadier@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#79552}
      b3a91634
  19. 18 Mar, 2022 1 commit
    • Darius M's avatar
      Reland [compiler] Simplify "==0" branches in MachineOperatorReducer · 6b690a6b
      Darius M authored
      This is a reland of 48b443f6.
      
      While fixing the initial CL, we stumbled upon a few bugs that
      we had to fix:
      
       - CommonOperatorReducer and SimplifiedOperatorReducer were applied
         before and after SimplifiedLowering, but always assumed that it
         was before SimplifiedLowering, and thus had the wrong semantics
         for branches in some cases. They now have an added parameter to
         know which semantics of branch they should use.
      
       - The lowering of StaticAssert was wrong and could leave kHeapConstant
         in the assert (instead of machine Booleans).
      
      Original change's description:
      > [compiler] Simplify "==0" branches in MachineOperatorReducer
      >
      > Bug: v8:12484
      > Change-Id: I0667c7464c0dd71338bc199a24a69248a7a0a525
      > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3497303
      > Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
      > Owners-Override: Tobias Tebbi <tebbi@chromium.org>
      > Commit-Queue: Darius Mercadier <dmercadier@chromium.org>
      > Cr-Commit-Position: refs/heads/main@{#79379}
      
      Bug: v8:12484
      Change-Id: Ibbf5df96fce5ccb04868dc517539479bf69f5703
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3516869Reviewed-by: 's avatarTobias Tebbi <tebbi@chromium.org>
      Commit-Queue: Darius Mercadier <dmercadier@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#79528}
      6b690a6b
  20. 11 Mar, 2022 1 commit
  21. 09 Mar, 2022 1 commit
  22. 07 Mar, 2022 1 commit
  23. 28 Feb, 2022 1 commit
    • Nikolaos Papaspyrou's avatar
      heap: Deprecate counters for GC UMA histograms · d0af9947
      Nikolaos Papaspyrou authored
      The following histograms have been deprecated, as they are superseded
      by V8.GC.Cycle.*.Young or not needed anymore (next to each, the
      corresponding isolate counter):
      
      - V8.GCScavenger (gc_scavenger)
      - V8.GCScavengerBackground (gc_scavenger_background)
      - V8.GCScavengeReason (scavenge_reason)
      - V8.GCScavengerForeground (gc_scavenger_foreground)
      - V8.GCBackgroundScavenger (background_scavenger)
      - V8.GCMarkCompactor (gc_mark_compactor)
      
      This CL removes the corresponding instrumentation in the code and the
      isolate counters.
      
      Bug: chromium:1154636
      Bug: chromium:1299555
      Change-Id: I62d28ff60ef47a058fe148c7855af8e2c1cc0aed
      Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3487548Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
      Commit-Queue: Nikolaos Papaspyrou <nikolaos@chromium.org>
      Cr-Commit-Position: refs/heads/main@{#79308}
      d0af9947
  24. 24 Feb, 2022 1 commit
  25. 16 Feb, 2022 2 commits
  26. 15 Feb, 2022 2 commits
  27. 04 Feb, 2022 1 commit
  28. 31 Jan, 2022 1 commit