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

Issue 6352006: Remove instruction summaries and provide a LIR-interface for the register all... (Closed)

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

Description

Remove instruction summaries. Instead of constructing a temporary container for all LOperands of each instruction, the register works directly on the LIR instructions that provide an abstract interface for input/output/temp operands. This saves allocation of zone memory and speeds up LIR construction, but makes iterating over all uses in the register allocator slightly more expensive because environment uses are stored in a linked list of environments. We can fix this by using a flat representation of LOperands. Committed: http://code.google.com/p/v8/source/detail?r=6638

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Patch Set 4 : '' #

Total comments: 32

Patch Set 5 : '' #

Patch Set 6 : addressed comments, rebased and ported to ARM and x64 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+549 lines, -245 lines) Patch
M src/arm/lithium-arm.h View 1 2 3 4 5 4 chunks +34 lines, -8 lines 0 comments Download
M src/arm/lithium-arm.cc View 1 2 3 4 5 9 chunks +35 lines, -13 lines 0 comments Download
M src/ia32/lithium-ia32.h View 1 2 3 4 5 4 chunks +38 lines, -7 lines 0 comments Download
M src/ia32/lithium-ia32.cc View 1 2 3 4 5 8 chunks +35 lines, -13 lines 0 comments Download
M src/lithium.h View 1 2 3 4 5 1 chunk +76 lines, -0 lines 0 comments Download
M src/lithium-allocator.h View 1 2 3 4 5 7 chunks +49 lines, -67 lines 0 comments Download
M src/lithium-allocator.cc View 1 2 3 4 5 28 chunks +55 lines, -116 lines 0 comments Download
A src/lithium-allocator-inl.h View 1 2 3 4 1 chunk +140 lines, -0 lines 0 comments Download
M src/x64/lithium-x64.h View 1 2 3 4 5 4 chunks +39 lines, -8 lines 0 comments Download
M src/x64/lithium-x64.cc View 1 2 3 4 5 8 chunks +35 lines, -13 lines 0 comments Download
M tools/gyp/v8.gyp View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M tools/visual_studio/v8_base.vcproj View 1 2 3 4 5 1 chunk +4 lines, -0 lines 0 comments Download
M tools/visual_studio/v8_base_arm.vcproj View 1 2 3 4 5 1 chunk +4 lines, -0 lines 0 comments Download
M tools/visual_studio/v8_base_x64.vcproj View 1 2 3 4 5 1 chunk +4 lines, -0 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
fschneider
9 years, 11 months ago (2011-01-20 09:35:05 UTC) #1
Kevin Millikin (Chromium)
I've got lots of comments about the iterator. The biggest one is I usually like ...
9 years, 11 months ago (2011-01-20 12:20:30 UTC) #2
fschneider
http://codereview.chromium.org/6352006/diff/24001/src/ia32/lithium-ia32.cc File src/ia32/lithium-ia32.cc (right): http://codereview.chromium.org/6352006/diff/24001/src/ia32/lithium-ia32.cc#newcode88 src/ia32/lithium-ia32.cc:88: for (UseIterator it = GetUseIterator(); it.HasNext(); ) { On ...
9 years, 11 months ago (2011-01-20 17:13:08 UTC) #3
fschneider
9 years, 11 months ago (2011-01-25 15:02:09 UTC) #4
Kevin Millikin (Chromium)
9 years, 10 months ago (2011-02-04 11:48:09 UTC) #5
LGTM.

http://codereview.chromium.org/6352006/diff/24001/src/ia32/lithium-ia32.cc
File src/ia32/lithium-ia32.cc (right):

http://codereview.chromium.org/6352006/diff/24001/src/ia32/lithium-ia32.cc#ne...
src/ia32/lithium-ia32.cc:945: chunk_->AddInstruction(instr, current_block_);
I mean "make AddInstruction a void function".

Powered by Google App Engine
This is Rietveld 408576698