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

Issue 556453006: Fix register hinting for phis. (Closed)

Created:
6 years, 3 months ago by Vyacheslav Egorov (Google)
Modified:
6 years, 3 months ago
Reviewers:
Florian Schneider
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Visibility:
Public.

Description

Fix register hinting for phis. The way it was implemented did not always work for phis for live ranges extending past the loop, because the hint itself stayed uncoverted until after register allocation inside the loop was completed. For the loop like this: f() { var x = 1.0, y = 2.0; for (var i = 0; i < 100; i++) x += y; return x; } That used to generate: loop: cmp ecx,0xc8 jnl ->exit mov xmm3, xmm2 addsd xmm3, xmm1 mov xmm2, xmm3 add ecx,0x2 jmp ->loop With this change we generate: loop: cmp ecx,0xc8 jnl ->exit addsd xmm2,xmm1 add ecx,0x2 jmp ->loop R=fschneider@google.com BUG= Committed: https://code.google.com/p/dart/source/detail?r=40024

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+5 lines, -1 line) Patch
M runtime/vm/flow_graph_allocator.h View 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/flow_graph_allocator.cc View 1 chunk +4 lines, -1 line 0 comments Download

Messages

Total messages: 3 (0 generated)
Vyacheslav Egorov (Google)
PTAL
6 years, 3 months ago (2014-09-09 10:50:02 UTC) #1
Florian Schneider
lgtm
6 years, 3 months ago (2014-09-09 10:53:40 UTC) #2
Vyacheslav Egorov (Google)
6 years, 3 months ago (2014-09-09 11:27:07 UTC) #3
Message was sent while issue was closed.
Committed patchset #1 (id:1) manually as 40024 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698