From fe0987c98d71dab42b54f10d8d4df70c2a9dd2d7 Mon Sep 17 00:00:00 2001 From: "yangguo@chromium.org" Date: Thu, 14 Nov 2013 14:15:52 +0000 Subject: [PATCH] Remove unused LoadNumber* from ARM macro assembler. R=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/70093002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17748 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/arm/macro-assembler-arm.cc | 90 ------------------------------------------ 1 file changed, 90 deletions(-) diff --git a/src/arm/macro-assembler-arm.cc b/src/arm/macro-assembler-arm.cc index 82066a6..8bb4a08 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()); -- 2.7.4