LGTM

http://codereview.chromium.org/6532020/diff/1/src/arm/lithium-arm.cc
File src/arm/lithium-arm.cc (right):

http://codereview.chromium.org/6532020/diff/1/src/arm/lithium-arm.cc#newcode1431
src/arm/lithium-arm.cc:1431: return MarkAsCall(DefineFixedDouble(result,
d3), instr,
Please do either
MarkAsCall(
    DefineFixedDouble(result, d3), instr, CAN_DEOPTIMIZE_EAGERLY);

or

MarkAsCall(DefineFixedDouble(result, d3),
           instr,
           CAN_DEOPTIMIZE_EAGERLY);

I think the first will fit.

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

http://codereview.chromium.org/6532020/diff/1/src/arm/lithium-codegen-arm.cc#newcode2872
src/arm/lithium-codegen-arm.cc:2872: __ stm(db_w, sp, r0.bit() |
r1.bit() | r2.bit() | r3.bit());
As discussed off-line this saving is not needed.

http://codereview.chromium.org/6532020/diff/1/src/arm/lithium-codegen-arm.cc#newcode2880
src/arm/lithium-codegen-arm.cc:2880: __ stm(db_w, sp, r0.bit() |
r1.bit() | r2.bit() | r3.bit());
Ditto.

http://codereview.chromium.org/6532020/diff/1/src/arm/lithium-codegen-arm.cc#newcode2888
src/arm/lithium-codegen-arm.cc:2888:
ASSERT(CpuFeatures::IsSupported(VFP3));
Crankshaft implies VFP3, and we are already in a VFP3 scope, so this
ASSERT is not necessary.

http://codereview.chromium.org/6532020/diff/1/src/arm/lithium-codegen-arm.cc#newcode2893
src/arm/lithium-codegen-arm.cc:2893: Label non_smi, call;
Please use JumpIfNotSmi.

http://codereview.chromium.org/6532020/diff/1/src/arm/lithium-codegen-arm.cc#newcode2911
src/arm/lithium-codegen-arm.cc:2911: __ add(scratch, right_reg,
Operand(value_offset), LeaveCC);
LeaveCC is default for add.

http://codereview.chromium.org/6532020/diff/1/src/arm/lithium-codegen-arm.cc#newcode2922
src/arm/lithium-codegen-arm.cc:2922: // Store the result in the result
register and restore r0-r3.
We need to support non USE_ARM_EABI, where fp result is returned in cr8,
See code-atubs-arm.cc.

Maybe we should abstract this to a macro assembler
GetCFunctionDoubleResult instruction to avoid the #ifdef/#endif
spreading.

http://codereview.chromium.org/6532020/diff/1/src/arm/simulator-arm.cc
File src/arm/simulator-arm.cc (right):

http://codereview.chromium.org/6532020/diff/1/src/arm/simulator-arm.cc#newcode319
src/arm/simulator-arm.cc:319: PrintF("%3s: %f \n",
Accidental edit?

http://codereview.chromium.org/6532020/

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to