Index: src/arm/macro-assembler-arm.cc |
diff --git a/src/arm/macro-assembler-arm.cc b/src/arm/macro-assembler-arm.cc |
index 82066a6c6706f997f0c8be535d70684199a93443..8bb4a0840b1db3ec63ed6f8485b5a90e44b9b720 100644 |
--- a/src/arm/macro-assembler-arm.cc |
+++ b/src/arm/macro-assembler-arm.cc |
@@ -858,96 +858,6 @@ void MacroAssembler::VmovLow(DwVfpRegister dst, Register src) { |
} |
-void MacroAssembler::LoadNumber(Register object, |
- LowDwVfpRegister dst, |
- Register heap_number_map, |
- Register scratch, |
- Label* not_number) { |
- Label is_smi, done; |
- |
- UntagAndJumpIfSmi(scratch, object, &is_smi); |
- JumpIfNotHeapNumber(object, heap_number_map, scratch, not_number); |
- |
- vldr(dst, FieldMemOperand(object, HeapNumber::kValueOffset)); |
- b(&done); |
- |
- // Handle loading a double from a smi. |
- bind(&is_smi); |
- vmov(dst.high(), scratch); |
- vcvt_f64_s32(dst, dst.high()); |
- |
- bind(&done); |
-} |
- |
- |
-void MacroAssembler::LoadNumberAsInt32Double(Register object, |
- DwVfpRegister double_dst, |
- Register heap_number_map, |
- Register scratch, |
- LowDwVfpRegister double_scratch, |
- Label* not_int32) { |
- ASSERT(!scratch.is(object)); |
- ASSERT(!heap_number_map.is(object) && !heap_number_map.is(scratch)); |
- |
- Label done, obj_is_not_smi; |
- |
- UntagAndJumpIfNotSmi(scratch, object, &obj_is_not_smi); |
- vmov(double_scratch.low(), scratch); |
- vcvt_f64_s32(double_dst, double_scratch.low()); |
- b(&done); |
- |
- bind(&obj_is_not_smi); |
- JumpIfNotHeapNumber(object, heap_number_map, scratch, not_int32); |
- |
- // Load the number. |
- // Load the double value. |
- vldr(double_dst, FieldMemOperand(object, HeapNumber::kValueOffset)); |
- |
- TestDoubleIsInt32(double_dst, double_scratch); |
- // Jump to not_int32 if the operation did not succeed. |
- b(ne, not_int32); |
- |
- bind(&done); |
-} |
- |
- |
-void MacroAssembler::LoadNumberAsInt32(Register object, |
- Register dst, |
- Register heap_number_map, |
- Register scratch, |
- DwVfpRegister double_scratch0, |
- LowDwVfpRegister double_scratch1, |
- Label* not_int32) { |
- ASSERT(!dst.is(object)); |
- ASSERT(!scratch.is(object)); |
- |
- Label done, maybe_undefined; |
- |
- UntagAndJumpIfSmi(dst, object, &done); |
- |
- JumpIfNotHeapNumber(object, heap_number_map, scratch, &maybe_undefined); |
- |
- // Object is a heap number. |
- // Convert the floating point value to a 32-bit integer. |
- // Load the double value. |
- vldr(double_scratch0, FieldMemOperand(object, HeapNumber::kValueOffset)); |
- |
- TryDoubleToInt32Exact(dst, double_scratch0, double_scratch1); |
- // Jump to not_int32 if the operation did not succeed. |
- b(ne, not_int32); |
- b(&done); |
- |
- bind(&maybe_undefined); |
- CompareRoot(object, Heap::kUndefinedValueRootIndex); |
- b(ne, not_int32); |
- // |undefined| is truncated to 0. |
- mov(dst, Operand(Smi::FromInt(0))); |
- // Fall through. |
- |
- bind(&done); |
-} |
- |
- |
void MacroAssembler::Prologue(PrologueFrameMode frame_mode) { |
if (frame_mode == BUILD_STUB_FRAME) { |
stm(db_w, sp, cp.bit() | fp.bit() | lr.bit()); |