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

Issue 608031: Change KeyedStoreIC interface to take value, key, and receiver in registers. (Closed)

Created:
10 years, 10 months ago by William Hesse
Modified:
9 years, 7 months ago
Reviewers:
fschneider
CC:
v8-dev
Visibility:
Public.

Description

Change KeyedStoreIC interface to take value, key, and receiver in registers. Committed: http://code.google.com/p/v8/source/detail?r=3955

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Patch Set 4 : '' #

Total comments: 4

Patch Set 5 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+275 lines, -227 lines) Patch
M src/ia32/codegen-ia32.cc View 1 2 3 4 6 chunks +64 lines, -14 lines 0 comments Download
M src/ia32/full-codegen-ia32.cc View 4 4 chunks +18 lines, -12 lines 0 comments Download
M src/ia32/ic-ia32.cc View 1 2 3 4 10 chunks +116 lines, -139 lines 0 comments Download
M src/ia32/stub-cache-ia32.cc View 1 2 3 4 1 chunk +2 lines, -7 lines 0 comments Download
M src/ia32/virtual-frame-ia32.h View 1 2 3 4 1 chunk +8 lines, -0 lines 0 comments Download
M src/ia32/virtual-frame-ia32.cc View 1 2 3 4 3 chunks +67 lines, -55 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
William Hesse
10 years, 10 months ago (2010-02-23 15:22:27 UTC) #1
fschneider
LGTM. http://codereview.chromium.org/608031/diff/6009/6010 File src/ia32/codegen-ia32.cc (right): http://codereview.chromium.org/608031/diff/6009/6010#newcode6751 src/ia32/codegen-ia32.cc:6751: __ mov(scratch_, receiver_); // Safe even if key_ ...
10 years, 10 months ago (2010-02-25 11:53:52 UTC) #2
William Hesse
10 years, 9 months ago (2010-03-01 16:16:14 UTC) #3
We forgot to fix the DebugBreakIC... to know that the registers contained GCable
values.  Fixed in http://codereview.chromium.org/660257

http://codereview.chromium.org/608031/diff/6009/6014
File src/ia32/ic-ia32.cc (right):

http://codereview.chromium.org/608031/diff/6009/6014#newcode817
src/ia32/ic-ia32.cc:817: __ fstp_s(Operand(edi, ebx, times_4, 0));
Not valid. ret(4) pops 4 bytes _after_ popping the return address.

On 2010/02/25 11:53:52, fschneider wrote:
> Tiny optimization: To remove the pop-instruction instead of 
> 
> __ push(ecx)
> __ fild_s(...)
> __ pop(ecx)
> __ fstp_s(...)
> __ ret(0)
> 
> you could just do
> 
> __ push(ecx)
> __ fild_s(...)
> __ fstp_s(...)
> __ ret(4)
> 
> And hoist __ ret(0) into the switch-statement for the other cases.

Powered by Google App Engine
This is Rietveld 408576698