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

Issue 1735007: Inline keyed load on ARM... (Closed)

Created:
10 years, 8 months ago by Søren Thygesen Gjesse
Modified:
9 years, 7 months ago
CC:
v8-dev
Visibility:
Public.

Description

Inline keyed load on ARM This uses the same infrastructure as is used by the inlining of named property load. The code patching if the inlined code is simpler as the key is provided in a register os the only patching required is the map check directing the inlined code to the deferred code block or not. Committed: http://code.google.com/p/v8/source/detail?r=4510

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Total comments: 24

Patch Set 4 : '' #

Patch Set 5 : '' #

Patch Set 6 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+172 lines, -42 lines) Patch
M src/arm/assembler-arm.cc View 1 chunk +2 lines, -1 line 0 comments Download
M src/arm/codegen-arm.h View 1 2 3 4 2 chunks +2 lines, -2 lines 0 comments Download
M src/arm/codegen-arm.cc View 1 2 3 4 7 chunks +111 lines, -16 lines 0 comments Download
M src/arm/ic-arm.cc View 1 2 3 4 3 chunks +45 lines, -21 lines 0 comments Download
M src/arm/virtual-frame-arm.h View 1 2 3 4 1 chunk +6 lines, -2 lines 0 comments Download
M src/arm/virtual-frame-arm.cc View 1 2 3 4 5 1 chunk +6 lines, -0 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
Søren Thygesen Gjesse
10 years, 8 months ago (2010-04-23 10:28:57 UTC) #1
antonm
drive by question http://codereview.chromium.org/1735007/diff/15001/16001 File src/arm/codegen-arm.cc (right): http://codereview.chromium.org/1735007/diff/15001/16001#newcode5389 src/arm/codegen-arm.cc:5389: __ tst(r0, Operand(kSmiTagMask)); r0 is an ...
10 years, 8 months ago (2010-04-23 10:37:40 UTC) #2
Mads Ager (chromium)
We should add a test case that bails out of the inlined keyed load because ...
10 years, 8 months ago (2010-04-23 12:21:24 UTC) #3
Erik Corry
LGTM http://codereview.chromium.org/1735007/diff/15001/16001 File src/arm/codegen-arm.cc (right): http://codereview.chromium.org/1735007/diff/15001/16001#newcode5286 src/arm/codegen-arm.cc:5286: // kayed load has been inlined. kayed -> ...
10 years, 8 months ago (2010-04-23 14:56:47 UTC) #4
Søren Thygesen Gjesse
Some further testing revealed that this change still have bugs. So it will not be ...
10 years, 8 months ago (2010-04-26 12:23:34 UTC) #5
antonm
http://codereview.chromium.org/1735007/diff/15001/16001 File src/arm/codegen-arm.cc (right): http://codereview.chromium.org/1735007/diff/15001/16001#newcode5389 src/arm/codegen-arm.cc:5389: __ tst(r0, Operand(kSmiTagMask)); On 2010/04/23 14:56:47, Erik Corry wrote: ...
10 years, 8 months ago (2010-04-26 15:07:30 UTC) #6
antonm
10 years, 8 months ago (2010-04-26 15:15:04 UTC) #7
http://codereview.chromium.org/1735007/diff/15001/16001
File src/arm/codegen-arm.cc (right):

http://codereview.chromium.org/1735007/diff/15001/16001#newcode5389
src/arm/codegen-arm.cc:5389: __ tst(r0, Operand(kSmiTagMask));
On 2010/04/26 15:07:31, antonm wrote:
> On 2010/04/23 14:56:47, Erik Corry wrote:
> > On 2010/04/23 10:37:41, antonm wrote:
> > > r0 is an object, no?  Should it be r1 and check that key is smi?
> > > 
> > > And sorry for being pushy but there is BranchOnSmi
> > 
> > I don't think it works for deferred.  Perhaps we should have BranchOnSmi on
> > deferred.
> > 
> > 
> 
> You're right, Erik.  Let me add one not to sound silly next time :)

Wait, won't __ BranchOnSmi(r1, deferred->entry_label()); do the trick?

Powered by Google App Engine
This is Rietveld 408576698