Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(377)

Issue 1403163003: Revert of [turbofan] Splinter into one range. (Closed)

Created:
5 years, 2 months ago by Benedikt Meurer
Modified:
5 years, 2 months ago
CC:
v8-reviews_googlegroups.com, Jim Stichnoth
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Revert of [turbofan] Splinter into one range. (patchset #2 id:80001 of https://codereview.chromium.org/1391023007/ ) Reason for revert: Weird endless loop in TopLevelLiveRange::Merge() due to always splitting first and not making progress. See comments, unfortunately no useable repro. Original issue's description: > [turbofan] Splinter into one range. > > Before this CL, we created one live range per successive set of > deferred blocks. For scenarios with many such blocks, this creates > an upfront pressure for the register allocator to deal with many ranges. > Linear sorts ranges, which is a super-linear operation. > > The change places all deferred intervals into one range, meaning that, > at most, there will be twice as many live ranges as the original set. In > pathological cases (benchmarks/Compile/slow_nbody1.js), this change > halves the compilation time. We see some improvements elsewhere, > notably SQLite at ~4-5%. > > We may be able to avoid the subsequent merge. Its cost is the > additional ranges it may need to create. The sole reason for the merge > phase is to provide an unchanged view of the world to the subsequent > phases. With the at-most-one splinter model, we may be able to teach > the other phases about splintering - should we find perf hindrances > due to merging. > > Committed: https://crrev.com/efdcd20267870276c5824f1ccf4e171ac378f7ae > Cr-Commit-Position: refs/heads/master@{#31224} TBR=jarin@chromium.org,mtrofin@google.com,mtrofin@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Committed: https://crrev.com/23a8837fcc8a212a4a2608a9bf53f908a7a91728 Cr-Commit-Position: refs/heads/master@{#31300}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+70 lines, -138 lines) Patch
M src/compiler/live-range-separator.cc View 1 chunk +5 lines, -7 lines 0 comments Download
M src/compiler/register-allocator.h View 4 chunks +6 lines, -17 lines 0 comments Download
M src/compiler/register-allocator.cc View 5 chunks +54 lines, -86 lines 0 comments Download
M test/unittests/compiler/live-range-unittest.cc View 3 chunks +5 lines, -28 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
Benedikt Meurer
Created Revert of [turbofan] Splinter into one range.
5 years, 2 months ago (2015-10-15 13:27:46 UTC) #1
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1403163003/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1403163003/1
5 years, 2 months ago (2015-10-15 13:28:02 UTC) #2
commit-bot: I haz the power
Committed patchset #1 (id:1)
5 years, 2 months ago (2015-10-15 13:28:14 UTC) #3
commit-bot: I haz the power
5 years, 2 months ago (2015-10-15 13:28:28 UTC) #4
Message was sent while issue was closed.
Patchset 1 (id:??) landed as
https://crrev.com/23a8837fcc8a212a4a2608a9bf53f908a7a91728
Cr-Commit-Position: refs/heads/master@{#31300}

Powered by Google App Engine
This is Rietveld 408576698