|
|
Created:
5 years ago by Mircea Trofin Modified:
5 years ago CC:
v8-reviews_googlegroups.com, bradnelson Base URL:
https://chromium.googlesource.com/v8/v8.git@master Target Ref:
refs/pending/heads/master Project:
v8 Visibility:
Public. |
DescriptionSome of the regression in the bug below was already addressed as
part of a compile time improvement push. We got from 3 minutes down
to ~30 seconds prior to the change here.
This change further reduces the compile time down to 2 seconds, which
is actually slightly better than the pre-splintering total execution time
of about 3 seconds.
The cause of the regression was the repeated traversal of the children
of a live range, seeking for the one covering a safe point. The fix is to
leverage the intrinsic ordering in the chain of live range children, as well
as that of the safe points.
BUG=chromium:567745
LOG=N
Committed: https://crrev.com/9e8b7564f79ed95b05041bea5f320fb1ca7f2373
Cr-Commit-Position: refs/heads/master@{#32958}
Patch Set 1 #Patch Set 2 : #Patch Set 3 : #Patch Set 4 : #
Total comments: 2
Patch Set 5 : *REBASE* #Patch Set 6 : feedback #Messages
Total messages: 20 (11 generated)
Description was changed from ========== fix perf BUG= ========== to ========== Some of the regression in the bug below was already addressed as part of a compile time improvement push. We got from 3 minutes down to ~30 seconds prior to the change here. This change further reduces the compile time down to 2 seconds, which is actually slightly better than the pre-splintering total execution time of about 3 seconds. The cause of the regression was the repeated traversal of the children of a live range, seeking for the one covering a safe point. The fix is to leverage the intrinsic ordering in the chain of live range children, as well as that of the safe points. BUG= chromium:567745 ==========
mtrofin@chromium.org changed reviewers: + bmeurer@chromium.org, jarin@chromium.org
lgtm https://codereview.chromium.org/1529293002/diff/50001/src/compiler/register-a... File src/compiler/register-allocator.cc (right): https://codereview.chromium.org/1529293002/diff/50001/src/compiler/register-a... src/compiler/register-allocator.cc:3130: DCHECK_NOT_NULL(cur); I am wondering whether we could nopt do some sanity check for safepoint ordering. Could not we DCHECK safe_point_pos >= cur->Start() here? (Actually we might have to handle the first range separately, i.e. something like DCHECK(safe_point_pos >= cur->Start() || range == cur).) What do you think?
On 2015/12/17 08:51:37, Jarin wrote: > lgtm > > https://codereview.chromium.org/1529293002/diff/50001/src/compiler/register-a... > File src/compiler/register-allocator.cc (right): > > https://codereview.chromium.org/1529293002/diff/50001/src/compiler/register-a... > src/compiler/register-allocator.cc:3130: DCHECK_NOT_NULL(cur); > I am wondering whether we could nopt do some sanity check for safepoint > ordering. Could not we DCHECK safe_point_pos >= cur->Start() here? (Actually we > might have to handle the first range separately, i.e. something like > DCHECK(safe_point_pos >= cur->Start() || range == cur).) What do you think? Do we want LOG=Y for this CL?
Patchset #5 (id:70001) has been deleted
On 2015/12/17 16:32:45, Mircea Trofin wrote: > On 2015/12/17 08:51:37, Jarin wrote: > > lgtm > > > > > https://codereview.chromium.org/1529293002/diff/50001/src/compiler/register-a... > > File src/compiler/register-allocator.cc (right): > > > > > https://codereview.chromium.org/1529293002/diff/50001/src/compiler/register-a... > > src/compiler/register-allocator.cc:3130: DCHECK_NOT_NULL(cur); > > I am wondering whether we could nopt do some sanity check for safepoint > > ordering. Could not we DCHECK safe_point_pos >= cur->Start() here? (Actually > we > > might have to handle the first range separately, i.e. something like > > DCHECK(safe_point_pos >= cur->Start() || range == cur).) What do you think? > > Do we want LOG=Y for this CL? Not sure, I never do LOG=Y.
Patchset #5 (id:90001) has been deleted
The CQ bit was checked by mtrofin@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from jarin@chromium.org Link to the patchset: https://codereview.chromium.org/1529293002/#ps130001 (title: "feedback")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1529293002/130001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1529293002/130001
The CQ bit was unchecked by mtrofin@chromium.org
https://codereview.chromium.org/1529293002/diff/50001/src/compiler/register-a... File src/compiler/register-allocator.cc (right): https://codereview.chromium.org/1529293002/diff/50001/src/compiler/register-a... src/compiler/register-allocator.cc:3130: DCHECK_NOT_NULL(cur); On 2015/12/17 08:51:37, Jarin wrote: > I am wondering whether we could nopt do some sanity check for safepoint > ordering. Could not we DCHECK safe_point_pos >= cur->Start() here? (Actually we > might have to handle the first range separately, i.e. something like > DCHECK(safe_point_pos >= cur->Start() || range == cur).) What do you think? Done.
Description was changed from ========== Some of the regression in the bug below was already addressed as part of a compile time improvement push. We got from 3 minutes down to ~30 seconds prior to the change here. This change further reduces the compile time down to 2 seconds, which is actually slightly better than the pre-splintering total execution time of about 3 seconds. The cause of the regression was the repeated traversal of the children of a live range, seeking for the one covering a safe point. The fix is to leverage the intrinsic ordering in the chain of live range children, as well as that of the safe points. BUG= chromium:567745 ========== to ========== Some of the regression in the bug below was already addressed as part of a compile time improvement push. We got from 3 minutes down to ~30 seconds prior to the change here. This change further reduces the compile time down to 2 seconds, which is actually slightly better than the pre-splintering total execution time of about 3 seconds. The cause of the regression was the repeated traversal of the children of a live range, seeking for the one covering a safe point. The fix is to leverage the intrinsic ordering in the chain of live range children, as well as that of the safe points. BUG= chromium:567745 LOG=N ==========
The CQ bit was checked by mtrofin@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1529293002/130001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1529293002/130001
Message was sent while issue was closed.
Description was changed from ========== Some of the regression in the bug below was already addressed as part of a compile time improvement push. We got from 3 minutes down to ~30 seconds prior to the change here. This change further reduces the compile time down to 2 seconds, which is actually slightly better than the pre-splintering total execution time of about 3 seconds. The cause of the regression was the repeated traversal of the children of a live range, seeking for the one covering a safe point. The fix is to leverage the intrinsic ordering in the chain of live range children, as well as that of the safe points. BUG= chromium:567745 LOG=N ========== to ========== Some of the regression in the bug below was already addressed as part of a compile time improvement push. We got from 3 minutes down to ~30 seconds prior to the change here. This change further reduces the compile time down to 2 seconds, which is actually slightly better than the pre-splintering total execution time of about 3 seconds. The cause of the regression was the repeated traversal of the children of a live range, seeking for the one covering a safe point. The fix is to leverage the intrinsic ordering in the chain of live range children, as well as that of the safe points. BUG= chromium:567745 LOG=N ==========
Message was sent while issue was closed.
Committed patchset #6 (id:130001)
Message was sent while issue was closed.
Description was changed from ========== Some of the regression in the bug below was already addressed as part of a compile time improvement push. We got from 3 minutes down to ~30 seconds prior to the change here. This change further reduces the compile time down to 2 seconds, which is actually slightly better than the pre-splintering total execution time of about 3 seconds. The cause of the regression was the repeated traversal of the children of a live range, seeking for the one covering a safe point. The fix is to leverage the intrinsic ordering in the chain of live range children, as well as that of the safe points. BUG= chromium:567745 LOG=N ========== to ========== Some of the regression in the bug below was already addressed as part of a compile time improvement push. We got from 3 minutes down to ~30 seconds prior to the change here. This change further reduces the compile time down to 2 seconds, which is actually slightly better than the pre-splintering total execution time of about 3 seconds. The cause of the regression was the repeated traversal of the children of a live range, seeking for the one covering a safe point. The fix is to leverage the intrinsic ordering in the chain of live range children, as well as that of the safe points. BUG= chromium:567745 LOG=N Committed: https://crrev.com/9e8b7564f79ed95b05041bea5f320fb1ca7f2373 Cr-Commit-Position: refs/heads/master@{#32958} ==========
Message was sent while issue was closed.
Patchset 6 (id:??) landed as https://crrev.com/9e8b7564f79ed95b05041bea5f320fb1ca7f2373 Cr-Commit-Position: refs/heads/master@{#32958} |