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

Issue 6628012: Refactor polymorphic load and inline function graph construction. (Closed)

Created:
9 years, 9 months ago by Kevin Millikin (Chromium)
Modified:
9 years, 7 months ago
Reviewers:
fschneider
CC:
v8-dev
Visibility:
Public.

Description

Refactor polymorphic load and inline function graph construction. Change the way we construct the graph for polymorphic loads to match that of polymorphic stores. Introduce a stack-allocated helper for saving and restoring all the function-specific graph builder state that needs to change when we begin translating an inlined function. Make this class authoritative by moving redundant state out of the builder and deferring to the current function's state. Ensure that we always print a tracing message when abandoning an inlining attempt. Committed: http://code.google.com/p/v8/source/detail?r=7074

Patch Set 1 #

Total comments: 5
Unified diffs Side-by-side diffs Delta from patch set Stats (+391 lines, -270 lines) Patch
M src/arm/lithium-arm.h View 6 chunks +7 lines, -2 lines 0 comments Download
M src/arm/lithium-arm.cc View 5 chunks +7 lines, -6 lines 0 comments Download
M src/arm/lithium-codegen-arm.h View 3 chunks +3 lines, -2 lines 0 comments Download
M src/arm/lithium-codegen-arm.cc View 2 chunks +3 lines, -3 lines 0 comments Download
M src/compiler.cc View 1 chunk +5 lines, -5 lines 0 comments Download
M src/hydrogen.h View 11 chunks +95 lines, -34 lines 0 comments Download
M src/hydrogen.cc View 36 chunks +230 lines, -191 lines 5 comments Download
M src/ia32/lithium-codegen-ia32.h View 3 chunks +3 lines, -2 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 3 chunks +4 lines, -4 lines 0 comments Download
M src/ia32/lithium-ia32.h View 6 chunks +8 lines, -2 lines 0 comments Download
M src/ia32/lithium-ia32.cc View 4 chunks +5 lines, -5 lines 0 comments Download
M src/lithium-allocator.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/x64/lithium-codegen-x64.h View 3 chunks +3 lines, -2 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 3 chunks +4 lines, -4 lines 0 comments Download
M src/x64/lithium-x64.h View 6 chunks +8 lines, -2 lines 0 comments Download
M src/x64/lithium-x64.cc View 4 chunks +5 lines, -5 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Kevin Millikin (Chromium)
The change is so big because I discovered when making it that we used the ...
9 years, 9 months ago (2011-03-04 14:32:58 UTC) #1
fschneider
LGTM. http://codereview.chromium.org/6628012/diff/1/src/hydrogen.cc File src/hydrogen.cc (right): http://codereview.chromium.org/6628012/diff/1/src/hydrogen.cc#newcode3231 src/hydrogen.cc:3231: if (count == types->length() && FLAG_deoptimize_uncommon_cases) { Remove ...
9 years, 9 months ago (2011-03-07 11:29:47 UTC) #2
Kevin Millikin (Chromium)
9 years, 9 months ago (2011-03-07 11:51:52 UTC) #3
http://codereview.chromium.org/6628012/diff/1/src/hydrogen.cc
File src/hydrogen.cc (right):

http://codereview.chromium.org/6628012/diff/1/src/hydrogen.cc#newcode3245
src/hydrogen.cc:3245: if (instr->HasSideEffects()) {
On 2011/03/07 11:29:47, fschneider wrote:
> HasSideEffects() is always true for HStoreNamedGeneric.

But this code shouldn't rely on assuming the type returned by the
BuildStoreNamedGeneric helper, or assume a property of that instruction.

Eventually I'll get rid of HGraphBuilder::AddSimulate and have AddInstruction or
else the constructor responsible for capturing the environment.  Until then and
since things are changing, it seems nicer to assume as little as possible.

http://codereview.chromium.org/6628012/diff/1/src/hydrogen.cc#newcode3571
src/hydrogen.cc:3571: }
On 2011/03/07 11:29:47, fschneider wrote:
> Remove extra space.

Thanks.

Powered by Google App Engine
This is Rietveld 408576698