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

Issue 18495: Move SpilledFrame inside cases of SmiOperation.... (Closed)

Created:
11 years, 11 months ago by William Hesse
Modified:
8 years, 7 months ago
Visibility:
Public.

Description

Move SpilledFrame inside cases of SmiOperation. Change subtraction case of SmiOperation to use unspilled frame. Committed: http://code.google.com/p/v8/source/detail?r=1133

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Total comments: 19

Patch Set 4 : '' #

Patch Set 5 : '' #

Patch Set 6 : '' #

Patch Set 7 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+77 lines, -63 lines) Patch
M src/codegen-ia32.cc View 1 2 3 4 5 6 11 chunks +77 lines, -63 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
William Hesse
11 years, 11 months ago (2009-01-22 13:22:51 UTC) #1
Kevin Millikin (Chromium)
It's early in the day so I could be wrong, but I think we can ...
11 years, 11 months ago (2009-01-23 08:49:24 UTC) #2
Kevin Millikin (Chromium)
LGTM. You can address my other clean-up comments as a separate changelist if you want.
11 years, 11 months ago (2009-01-23 11:51:28 UTC) #3
William Hesse
8 years, 7 months ago (2012-05-07 09:35:10 UTC) #4
http://codereview.chromium.org/18495/diff/203/src/codegen-ia32.cc
File src/codegen-ia32.cc (right):

http://codereview.chromium.org/18495/diff/203/src/codegen-ia32.cc#newcode858
src/codegen-ia32.cc:858: DeferredInlinedSmiAdd(CodeGenerator* generator, Smi*
value,
On 2009/01/23 08:49:25, Kevin Millikin wrote:
> While you're changing this code, you could clean it up to have one parameter
per
> line.

Done.

http://codereview.chromium.org/18495/diff/203/src/codegen-ia32.cc#newcode864
src/codegen-ia32.cc:864: virtual void Generate() {
On 2009/01/23 08:49:25, Kevin Millikin wrote:
> I also don't care for these inline-looking Generate functions in the deferred
> code classes.  They can't be inlined at the call site anyway.  Feel free to
move
> it out and right after the class declaration while you're cleaning up this
code.

Done.

http://codereview.chromium.org/18495/diff/203/src/codegen-ia32.cc#newcode932
src/codegen-ia32.cc:932: // The result is actually returned in eax.
On 2009/01/23 08:49:25, Kevin Millikin wrote:
> Remove this comment.

Done.

http://codereview.chromium.org/18495/diff/203/src/codegen-ia32.cc#newcode1001
src/codegen-ia32.cc:1001: if (!reversed) {
On 2009/01/23 08:49:25, Kevin Millikin wrote:
> Since this is a two-armed if anyway, it might read better if the condition
were
> not negated.

Done.

http://codereview.chromium.org/18495/diff/203/src/codegen-ia32.cc#newcode1022
src/codegen-ia32.cc:1022: Result answer(this);  // Only allocated a new register
if reversed.
On 2009/01/23 08:49:25, Kevin Millikin wrote:
> allocated ==> allocate

Done.

http://codereview.chromium.org/18495/diff/203/src/codegen-ia32.cc#newcode1024
src/codegen-ia32.cc:1024: frame_->Spill(operand.reg());
On 2009/01/23 08:49:25, Kevin Millikin wrote:
> It looks like operand is only clobbered in the not-reversed case.  Could this
> spill be done more lazily?

Done.

http://codereview.chromium.org/18495/diff/203/src/codegen-ia32.cc#newcode1041
src/codegen-ia32.cc:1041: deferred->enter()->Branch(overflow, &answer,
not_taken);
On 2009/01/23 08:49:25, Kevin Millikin wrote:
> Maybe it makes this code uglier, but can't we pass operand instead of answer? 
> In the non-reversed case, it's the same thing and in the deferred case it
avoids
> allocating a register, moving a constant into it, and subtracting, which seems
> to be just recovering operand.

Done.

http://codereview.chromium.org/18495/diff/203/src/codegen-ia32.cc#newcode1160
src/codegen-ia32.cc:1160: if (!reversed) {
On 2009/01/23 08:49:25, Kevin Millikin wrote:
> Reverse the arms of the if?

Done.

Powered by Google App Engine
This is Rietveld 408576698