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

Issue 2731007: Implement transcendental cache probing in generated code on ARM.... (Closed)

Created:
10 years, 6 months ago by Mads Ager (chromium)
Modified:
9 years, 7 months ago
CC:
v8-dev
Visibility:
Public.

Description

Implement transcendental cache probing in generated code on ARM. Fixed hash code computation on ia32 and x64 to match the runtime system (change arithmetic shift right to logical shift right). Committed: http://code.google.com/p/v8/source/detail?r=4843

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Patch Set 4 : '' #

Total comments: 4

Patch Set 5 : '' #

Total comments: 11

Patch Set 6 : '' #

Patch Set 7 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+146 lines, -12 lines) Patch
M src/arm/codegen-arm.h View 1 2 3 4 5 1 chunk +15 lines, -0 lines 0 comments Download
M src/arm/codegen-arm.cc View 1 2 3 4 5 6 4 chunks +124 lines, -7 lines 0 comments Download
M src/ia32/codegen-ia32.cc View 1 2 3 4 5 1 chunk +3 lines, -2 lines 0 comments Download
M src/x64/codegen-x64.cc View 1 2 3 4 5 1 chunk +4 lines, -3 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
Mads Ager (chromium)
10 years, 6 months ago (2010-06-10 14:16:03 UTC) #1
Rodolph Perfetta
http://codereview.chromium.org/2731007/diff/7002/17001 File src/arm/codegen-arm.cc (right): http://codereview.chromium.org/2731007/diff/7002/17001#newcode8274 src/arm/codegen-arm.cc:8274: __ sub(r7, r0, Operand(kHeapObjectTag)); If you are not performing ...
10 years, 6 months ago (2010-06-10 19:30:45 UTC) #2
Mads Ager (chromium)
http://codereview.chromium.org/2731007/diff/7002/17001 File src/arm/codegen-arm.cc (right): http://codereview.chromium.org/2731007/diff/7002/17001#newcode8274 src/arm/codegen-arm.cc:8274: __ sub(r7, r0, Operand(kHeapObjectTag)); On 2010/06/10 19:30:46, rodolph.perfetta wrote: ...
10 years, 6 months ago (2010-06-11 06:27:10 UTC) #3
Erik Corry
LGTM http://codereview.chromium.org/2731007/diff/23001/24001 File src/arm/codegen-arm.cc (right): http://codereview.chromium.org/2731007/diff/23001/24001#newcode5093 src/arm/codegen-arm.cc:5093: frame_->CallStub(&stub, 1); You could do SpillAllButCopyTOSToR0() and then ...
10 years, 6 months ago (2010-06-11 08:42:01 UTC) #4
Mads Ager (chromium)
10 years, 6 months ago (2010-06-11 09:57:54 UTC) #5
http://codereview.chromium.org/2731007/diff/23001/24001
File src/arm/codegen-arm.cc (right):

http://codereview.chromium.org/2731007/diff/23001/24001#newcode5093
src/arm/codegen-arm.cc:5093: frame_->CallStub(&stub, 1);
On 2010/06/11 08:42:01, Erik Corry wrote:
> You could do
> SpillAllButCopyTOSToR0()
> and then have the calling convention for the stub be that the argument is
passed
> in R0 as well as on the stack.  The stub call will spill all anyway, but this
> way you don't have to load r0 at the start of the stub.

Done.

http://codereview.chromium.org/2731007/diff/23001/24001#newcode8269
src/arm/codegen-arm.cc:8269: Factory::heap_number_map(),
On 2010/06/11 08:42:01, Erik Corry wrote:
> It would be nice if we had an overloaded version of CheckMap that took a root
> array index.

Done and used in a couple of other places as well.

http://codereview.chromium.org/2731007/diff/23001/24001#newcode8285
src/arm/codegen-arm.cc:8285: __ and_(r3, r3,
Operand(TranscendentalCache::kCacheSize - 1));
On 2010/06/11 08:42:01, Erik Corry wrote:
> This is anding with 511, which doesn't fit in the immediate field, so there's
an
> implicit pc-relative load into ip.  We could use the ubfx instruction on ARM7.

Like it I do. Done.

http://codereview.chromium.org/2731007/diff/23001/24001#newcode8296
src/arm/codegen-arm.cc:8296: __ tst(r0, Operand(r0));
On 2010/06/11 08:42:01, Erik Corry wrote:
> Prefer cmp with immediate 0 here, since it doesn't do a partial flags update.

Done.

http://codereview.chromium.org/2731007/diff/23001/24001#newcode8318
src/arm/codegen-arm.cc:8318: __ ldr(r4, MemOperand(r0, 0));
On 2010/06/11 08:42:01, Erik Corry wrote:
> Load r4, r5 and r6 with ldm?

Done.

Powered by Google App Engine
This is Rietveld 408576698