Index: src/arm/code-stubs-arm.cc |
diff --git a/src/arm/code-stubs-arm.cc b/src/arm/code-stubs-arm.cc |
index 110cec0d0dda1a2a1d328fcc055ca4a106f6ea35..3b7e46ce2c8358030ea66fda152a5478fd0a6133 100644 |
--- a/src/arm/code-stubs-arm.cc |
+++ b/src/arm/code-stubs-arm.cc |
@@ -308,13 +308,9 @@ class ConvertToDoubleStub : public CodeStub { |
void ConvertToDoubleStub::Generate(MacroAssembler* masm) { |
-#ifndef BIG_ENDIAN_FLOATING_POINT |
- Register exponent = result1_; |
- Register mantissa = result2_; |
-#else |
Register exponent = result2_; |
Register mantissa = result1_; |
-#endif |
+ |
Label not_special; |
// Convert from Smi to integer. |
__ mov(source_, Operand(source_, ASR, kSmiTagSize)); |
@@ -951,18 +947,10 @@ void FloatingPointHelper::CallCCodeForDoubleOperation( |
// Call C routine that may not cause GC or other trouble. |
__ CallCFunction(ExternalReference::double_fp_operation(op, masm->isolate()), |
4); |
- // Store answer in the overwritable heap number. |
-#if !defined(USE_ARM_EABI) |
- // Double returned in fp coprocessor register 0 and 1, encoded as |
- // register cr8. Offsets must be divisible by 4 for coprocessor so we |
- // need to substract the tag from heap_number_result. |
- __ sub(scratch, heap_number_result, Operand(kHeapObjectTag)); |
- __ stc(p1, cr8, MemOperand(scratch, HeapNumber::kValueOffset)); |
-#else |
- // Double returned in registers 0 and 1. |
+ // Store answer in the overwritable heap number. Double returned in |
+ // registers r0 and r1. |
__ Strd(r0, r1, FieldMemOperand(heap_number_result, |
HeapNumber::kValueOffset)); |
-#endif |
// Place heap_number_result in r0 and return to the pushed return address. |
__ mov(r0, Operand(heap_number_result)); |
__ pop(pc); |
@@ -2047,17 +2035,9 @@ void GenericBinaryOpStub::HandleBinaryOpSlowCases( |
// save. |
__ CallCFunction( |
ExternalReference::double_fp_operation(op_, masm->isolate()), 4); |
- // Store answer in the overwritable heap number. |
- #if !defined(USE_ARM_EABI) |
- // Double returned in fp coprocessor register 0 and 1, encoded as |
- // register cr8. Offsets must be divisible by 4 for coprocessor so we |
- // need to substract the tag from r5. |
- __ sub(r4, r5, Operand(kHeapObjectTag)); |
- __ stc(p1, cr8, MemOperand(r4, HeapNumber::kValueOffset)); |
- #else |
- // Double returned in registers 0 and 1. |
+ // Store answer in the overwritable heap number. Double |
+ // returned in registers r0 and r1. |
__ Strd(r0, r1, FieldMemOperand(r5, HeapNumber::kValueOffset)); |
- #endif |
__ mov(r0, Operand(r5)); |
// And we are done. |
__ pop(pc); |