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

Issue 6164005: ARM: Implement DoDivI in the lithium code generator. (Closed)

Created:
9 years, 11 months ago by Karl Klose
Modified:
9 years, 7 months ago
CC:
v8-dev
Visibility:
Public.

Description

ARM: Implement DoDivI in the lithium code generator. This change provides fast code for a few special cases and calls the GenericBinaryOpStub for the rest. It also changes the register allocation in the generation of lithium instructions to use fixed registers that are compatible with the generic stub. This allocation can be change once we use a more flexible implementation. Finally, this change provides infrastructure to save double registers at safepoints, which is need to call the stub in deferred code. BUG= TEST=

Patch Set 1 #

Total comments: 10

Patch Set 2 : Implement deferred code. #

Patch Set 3 : Small fix in comment. #

Patch Set 4 : Issue numbers for TODOs. #

Total comments: 2

Patch Set 5 : Adressed comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+198 lines, -7 lines) Patch
M src/arm/lithium-arm.cc View 1 2 3 1 chunk +8 lines, -5 lines 0 comments Download
M src/arm/lithium-codegen-arm.h View 1 2 chunks +4 lines, -0 lines 0 comments Download
M src/arm/lithium-codegen-arm.cc View 1 2 3 4 2 chunks +112 lines, -1 line 0 comments Download
M src/arm/macro-assembler-arm.h View 1 2 2 chunks +13 lines, -0 lines 0 comments Download
M src/arm/macro-assembler-arm.cc View 1 1 chunk +19 lines, -0 lines 0 comments Download
M src/safepoint-table.h View 1 2 3 5 chunks +23 lines, -1 line 0 comments Download
M src/safepoint-table.cc View 1 4 chunks +19 lines, -0 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
Karl Klose
9 years, 11 months ago (2011-01-12 16:32:54 UTC) #1
Søren Thygesen Gjesse
http://codereview.chromium.org/6164005/diff/1/src/arm/lithium-arm.cc File src/arm/lithium-arm.cc (right): http://codereview.chromium.org/6164005/diff/1/src/arm/lithium-arm.cc#newcode1242 src/arm/lithium-arm.cc:1242: // TODO(karlklose) The fixed register allocation Please open a ...
9 years, 11 months ago (2011-01-13 08:28:38 UTC) #2
Karl Klose
http://codereview.chromium.org/6164005/diff/1/src/arm/lithium-arm.cc File src/arm/lithium-arm.cc (right): http://codereview.chromium.org/6164005/diff/1/src/arm/lithium-arm.cc#newcode1242 src/arm/lithium-arm.cc:1242: // TODO(karlklose) The fixed register allocation On 2011/01/13 08:28:38, ...
9 years, 11 months ago (2011-01-13 13:52:31 UTC) #3
Søren Thygesen Gjesse
9 years, 11 months ago (2011-01-13 15:38:29 UTC) #4
LGTM

http://codereview.chromium.org/6164005/diff/11001/src/arm/lithium-codegen-arm.cc
File src/arm/lithium-codegen-arm.cc (left):

http://codereview.chromium.org/6164005/diff/11001/src/arm/lithium-codegen-arm...
src/arm/lithium-codegen-arm.cc:2513: __ ldr(result, FieldMemOperand(result,
JSGlobalPropertyCell::kValueOffset));
Accidental edit?

http://codereview.chromium.org/6164005/diff/11001/src/arm/lithium-codegen-arm.cc
File src/arm/lithium-codegen-arm.cc (right):

http://codereview.chromium.org/6164005/diff/11001/src/arm/lithium-codegen-arm...
src/arm/lithium-codegen-arm.cc:943: __ str(r0, MemOperand(sp,
DwVfpRegister::kNumAllocatableRegisters *
I think this deserves at least a comment. On
http://codereview.chromium.org/6248004 from I made the following comment on
almost the same construct

n IA32 we have EspIndexForPushAll, and I think we need something like that here,
maybe a macro assembler instruction like StoreToSafePointRegister to work in
correspondance with PushSafepointRegisters/PopSafepointRegisters.

Powered by Google App Engine
This is Rietveld 408576698