Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(36)

Unified Diff: src/arm/macro-assembler-arm.cc

Issue 70093002: Remove unused LoadNumber* from ARM macro assembler. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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());
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698