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

Issue 7237024: Refactor handling of test expressions in the graph builder. (Closed)

Created:
9 years, 6 months ago by fschneider
Modified:
9 years, 5 months ago
CC:
v8-dev
Visibility:
Public.

Description

Refactor handling of test expressions in the graph builder. Instead of generating two instructions and combining them at lithium translation using the EmitAtUses predicate, we generate the correct branch instruction right from the start. Committed: http://code.google.com/p/v8/source/detail?r=8495

Patch Set 1 #

Patch Set 2 : continued refactoring #

Patch Set 3 : '' #

Patch Set 4 : '' #

Patch Set 5 : '' #

Patch Set 6 : x64 and arm platforms #

Patch Set 7 : fixed bug in LBranch #

Total comments: 18

Patch Set 8 : '' #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+623 lines, -2032 lines) Patch
M src/arm/lithium-arm.h View 1 2 3 4 5 6 7 25 chunks +20 lines, -168 lines 0 comments Download
M src/arm/lithium-arm.cc View 1 2 3 4 5 6 7 7 chunks +56 lines, -145 lines 0 comments Download
M src/arm/lithium-codegen-arm.cc View 1 2 3 4 5 6 16 chunks +4 lines, -232 lines 0 comments Download
M src/hydrogen.h View 1 2 3 4 5 6 7 6 chunks +9 lines, -4 lines 1 comment Download
M src/hydrogen.cc View 1 2 3 4 5 6 7 83 chunks +227 lines, -167 lines 2 comments Download
M src/hydrogen-instructions.h View 1 2 3 4 5 6 7 10 chunks +130 lines, -157 lines 0 comments Download
src/hydrogen-instructions.cc View 1 2 3 4 5 chunks +17 lines, -24 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 1 2 3 4 5 6 16 chunks +4 lines, -243 lines 0 comments Download
M src/ia32/lithium-ia32.h View 1 2 3 4 5 6 7 25 chunks +16 lines, -171 lines 0 comments Download
M src/ia32/lithium-ia32.cc View 1 2 3 4 5 6 7 7 chunks +61 lines, -151 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 2 3 4 5 6 16 chunks +4 lines, -256 lines 0 comments Download
M src/x64/lithium-x64.h View 1 2 3 4 5 6 7 26 chunks +20 lines, -170 lines 0 comments Download
M src/x64/lithium-x64.cc View 1 2 3 4 5 6 7 7 chunks +55 lines, -144 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
fschneider
This is the ia32 version. I'll start porting after the first round of feedback.
9 years, 5 months ago (2011-06-28 12:39:55 UTC) #1
fschneider
Added the ports to all platforms.
9 years, 5 months ago (2011-06-29 14:08:59 UTC) #2
Kevin Millikin (Chromium)
It's nice to clean this up. I've got a first round of comments. http://codereview.chromium.org/7237024/diff/16008/src/arm/lithium-arm.cc File ...
9 years, 5 months ago (2011-06-30 10:52:03 UTC) #3
fschneider
Addressed first round of comments. http://codereview.chromium.org/7237024/diff/16008/src/arm/lithium-arm.cc File src/arm/lithium-arm.cc (right): http://codereview.chromium.org/7237024/diff/16008/src/arm/lithium-arm.cc#newcode1412 src/arm/lithium-arm.cc:1412: return new LCmpIDAndBranch(UseRegisterAtStart(left), On ...
9 years, 5 months ago (2011-06-30 13:13:36 UTC) #4
Kevin Millikin (Chromium)
9 years, 5 months ago (2011-06-30 13:31:05 UTC) #5
LGTM.

http://codereview.chromium.org/7237024/diff/14021/src/hydrogen.cc
File src/hydrogen.cc (right):

http://codereview.chromium.org/7237024/diff/14021/src/hydrogen.cc#newcode2118
src/hydrogen.cc:2118: ReturnValue(owner()->Pop());
No need for this last line.  All it does is check Phi(true, false) to make sure
it's not the arguments value and then pushes it back on the environment.

http://codereview.chromium.org/7237024/diff/14021/src/hydrogen.cc#newcode3006
src/hydrogen.cc:3006: return ast_context()->ReturnInstruction(instr,
expr->id());
:)

http://codereview.chromium.org/7237024/diff/14021/src/hydrogen.h
File src/hydrogen.h (right):

http://codereview.chromium.org/7237024/diff/14021/src/hydrogen.h#newcode501
src/hydrogen.h:501: virtual void ReturnControl(HControlInstruction* instr, int
ast_id) = 0;
Needs a comment in similar detail to ReturnValue and ReturnInstruction.

Powered by Google App Engine
This is Rietveld 408576698