Please have a look again. This version still only works for ARM EABI, but it
will fail with UNIMPLEMENTED instead of producing wrong results.


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,
On 2011/02/17 09:59:56, Søren Gjesse wrote:
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.

Done.

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());
On 2011/02/17 09:59:56, Søren Gjesse wrote:
As discussed off-line this saving is not needed.

Done.

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());
On 2011/02/17 09:59:56, Søren Gjesse wrote:
Ditto.

Done.

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));
On 2011/02/17 09:59:56, Søren Gjesse wrote:
Crankshaft implies VFP3, and we are already in a VFP3 scope, so this
ASSERT is
not necessary.

Done.

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;
On 2011/02/17 09:59:56, Søren Gjesse wrote:
Please use JumpIfNotSmi.

Done.

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);
On 2011/02/17 09:59:56, Søren Gjesse wrote:
LeaveCC is default for add.

Done.

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.
Implemented MacroAssembler::GetCFunctionDoubleResult and used it here
and in

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",
Yes, removed.

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

--
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev

Reply via email to