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
[email protected]
http://groups.google.com/group/v8-dev