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

Issue 614713002: Relax representation requirement in FrameStates. (Closed)

Created:
6 years, 2 months ago by Jarin
Modified:
6 years, 2 months ago
Reviewers:
titzer
CC:
v8-dev
Project:
v8
Visibility:
Public.

Description

Relax representation requirement in FrameStates. This change enables non-tagged representations in FrameStates. That allows us to run zlib with deoptimization support and have almost the same performance of the generated code (as the code with no deoptimization). Unfortunately, the frame states seem to confuse typer. As a consequence, we generate more representation changes, which in turn causes the scheduler to take a lot more time and memory (>4x). The added compiler time makes zlib with deopt be about 50% slower. BUG= R=titzer@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=24454

Patch Set 1 #

Patch Set 2 : Comment tweak + rebase #

Patch Set 3 : Fix representation for Phi TypeNumber #

Patch Set 4 : Fix after rebase #

Patch Set 5 : Update unit tests #

Total comments: 6

Patch Set 6 : Address review comments #

Patch Set 7 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+349 lines, -96 lines) Patch
M src/compiler/code-generator.h View 1 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/code-generator.cc View 1 2 3 4 5 7 chunks +47 lines, -12 lines 0 comments Download
M src/compiler/instruction.h View 1 2 3 4 5 6 3 chunks +10 lines, -52 lines 0 comments Download
M src/compiler/instruction.cc View 1 2 3 4 5 6 1 chunk +72 lines, -0 lines 0 comments Download
M src/compiler/instruction-selector.h View 1 chunk +3 lines, -0 lines 0 comments Download
M src/compiler/instruction-selector.cc View 1 2 3 4 5 6 4 chunks +149 lines, -5 lines 0 comments Download
M src/compiler/machine-type.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/simplified-lowering.cc View 1 2 3 4 5 6 3 chunks +19 lines, -10 lines 0 comments Download
M test/unittests/compiler/instruction-selector-unittest.h View 1 2 3 4 5 6 2 chunks +8 lines, -0 lines 0 comments Download
M test/unittests/compiler/instruction-selector-unittest.cc View 1 2 3 4 5 6 5 chunks +39 lines, -16 lines 0 comments Download

Messages

Total messages: 8 (1 generated)
Jarin
Could you take a look, please?
6 years, 2 months ago (2014-10-02 13:14:43 UTC) #2
titzer
https://codereview.chromium.org/614713002/diff/80001/src/compiler/instruction.h File src/compiler/instruction.h (right): https://codereview.chromium.org/614713002/diff/80001/src/compiler/instruction.h#newcode736 src/compiler/instruction.h:736: void SetTypes(ZoneVector<MachineType>* types); The types vector only describes this ...
6 years, 2 months ago (2014-10-06 08:54:11 UTC) #3
titzer
https://codereview.chromium.org/614713002/diff/80001/src/compiler/code-generator.cc File src/compiler/code-generator.cc (right): https://codereview.chromium.org/614713002/diff/80001/src/compiler/code-generator.cc#newcode415 src/compiler/code-generator.cc:415: DCHECK_EQ(kRepFloat64, type & kRepMask); You probably need to account ...
6 years, 2 months ago (2014-10-06 08:56:02 UTC) #4
Jarin
Done as suggested. Thanks! https://codereview.chromium.org/614713002/diff/80001/src/compiler/code-generator.cc File src/compiler/code-generator.cc (right): https://codereview.chromium.org/614713002/diff/80001/src/compiler/code-generator.cc#newcode415 src/compiler/code-generator.cc:415: DCHECK_EQ(kRepFloat64, type & kRepMask); On ...
6 years, 2 months ago (2014-10-06 09:45:27 UTC) #5
Jarin
ping.
6 years, 2 months ago (2014-10-08 08:11:07 UTC) #6
titzer
lgtm
6 years, 2 months ago (2014-10-08 08:20:37 UTC) #7
Jarin
6 years, 2 months ago (2014-10-08 08:47:43 UTC) #8
Message was sent while issue was closed.
Committed patchset #7 (id:120001) manually as 24454 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698