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

Issue 1912093005: [turbofan] Single entry into deferred regions (Closed)

Created:
4 years, 8 months ago by Mircea Trofin
Modified:
4 years, 8 months ago
Reviewers:
Benedikt Meurer, Jarin
CC:
v8-reviews_googlegroups.com, danno, epertoso
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[turbofan] Single entry into deferred If a deferred block has multiple predecessors, they have to be all deferred. Otherwise, we can run into a situation where if a range that spills only in deferred blocks inserts its spill in the block, and other ranges need moves inserted by ResolveControlFlow in the predecessors, the register of the range spilled in the deferred block may be clobbered. To avoid that, when a deferred block has multiple predecessors, and some are not deferred, we add a non-deferred block to collect all such edges. This CL addresses the validator assertion failure the referenced issue, as well as the greedy allocator failure - which was caused by the situation described above. BUG=v8:4940 LOG=n Committed: https://crrev.com/5ae587cfb342f3a845802591a1f4133b5a2849f9 Cr-Commit-Position: refs/heads/master@{#35742}

Patch Set 1 #

Total comments: 4

Patch Set 2 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+113 lines, -42 lines) Patch
M src/compiler/instruction.h View 1 chunk +4 lines, -3 lines 0 comments Download
M src/compiler/instruction.cc View 3 chunks +17 lines, -3 lines 0 comments Download
M src/compiler/pipeline.cc View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/raw-machine-assembler.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/register-allocator.cc View 1 3 chunks +12 lines, -5 lines 0 comments Download
M src/compiler/register-allocator-verifier.h View 1 chunk +2 lines, -2 lines 0 comments Download
M src/compiler/register-allocator-verifier.cc View 1 2 chunks +2 lines, -4 lines 0 comments Download
M src/compiler/schedule.h View 1 chunk +5 lines, -1 line 0 comments Download
M src/compiler/schedule.cc View 1 chunk +69 lines, -23 lines 0 comments Download

Messages

Total messages: 13 (7 generated)
Mircea Trofin
4 years, 8 months ago (2016-04-22 15:58:25 UTC) #3
Benedikt Meurer
LGTM once comments addressed. https://codereview.chromium.org/1912093005/diff/1/src/compiler/register-allocator-verifier.cc File src/compiler/register-allocator-verifier.cc (right): https://codereview.chromium.org/1912093005/diff/1/src/compiler/register-allocator-verifier.cc#newcode285 src/compiler/register-allocator-verifier.cc:285: // TODO(mtrofin): this check fails ...
4 years, 8 months ago (2016-04-23 12:04:50 UTC) #5
Mircea Trofin
https://codereview.chromium.org/1912093005/diff/1/src/compiler/register-allocator-verifier.cc File src/compiler/register-allocator-verifier.cc (right): https://codereview.chromium.org/1912093005/diff/1/src/compiler/register-allocator-verifier.cc#newcode285 src/compiler/register-allocator-verifier.cc:285: // TODO(mtrofin): this check fails when generating code for ...
4 years, 8 months ago (2016-04-23 16:27:08 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1912093005/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1912093005/20001
4 years, 8 months ago (2016-04-23 16:27:27 UTC) #9
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 8 months ago (2016-04-23 16:56:52 UTC) #11
commit-bot: I haz the power
4 years, 8 months ago (2016-04-23 16:58:20 UTC) #13
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/5ae587cfb342f3a845802591a1f4133b5a2849f9
Cr-Commit-Position: refs/heads/master@{#35742}

Powered by Google App Engine
This is Rietveld 408576698