From 647e6cf2ac9647a1550a6a14c2cf2b8091bf9aca Mon Sep 17 00:00:00 2001 From: "Jacob.Bramley@arm.com" Date: Tue, 16 Sep 2014 10:42:09 +0000 Subject: [PATCH] ARM64: Remove the unused 'SmiAbs'. BUG= R=ulan@chromium.org Review URL: https://codereview.chromium.org/572903003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/arm64/macro-assembler-arm64.cc | 6 ----- src/arm64/macro-assembler-arm64.h | 5 ---- test/cctest/test-assembler-arm64.cc | 52 ------------------------------------- 3 files changed, 63 deletions(-) diff --git a/src/arm64/macro-assembler-arm64.cc b/src/arm64/macro-assembler-arm64.cc index 60f417d..f78efd2 100644 --- a/src/arm64/macro-assembler-arm64.cc +++ b/src/arm64/macro-assembler-arm64.cc @@ -1658,12 +1658,6 @@ void MacroAssembler::ThrowUncatchable(Register value, } -void MacroAssembler::SmiAbs(const Register& smi, Label* slow) { - DCHECK(smi.Is64Bits()); - Abs(smi, smi, slow); -} - - void MacroAssembler::AssertSmi(Register object, BailoutReason reason) { if (emit_debug_code()) { STATIC_ASSERT(kSmiTag == 0); diff --git a/src/arm64/macro-assembler-arm64.h b/src/arm64/macro-assembler-arm64.h index 8d5f4fc..e73fc2c 100644 --- a/src/arm64/macro-assembler-arm64.h +++ b/src/arm64/macro-assembler-arm64.h @@ -910,11 +910,6 @@ class MacroAssembler : public Assembler { inline void SmiTagAndPush(Register src); inline void SmiTagAndPush(Register src1, Register src2); - // Compute the absolute value of 'smi' and leave the result in 'smi' - // register. If 'smi' is the most negative SMI, the absolute value cannot - // be represented as a SMI and a jump to 'slow' is done. - void SmiAbs(const Register& smi, Label* slow); - inline void JumpIfSmi(Register value, Label* smi_label, Label* not_smi_label = NULL); diff --git a/test/cctest/test-assembler-arm64.cc b/test/cctest/test-assembler-arm64.cc index 3d05487..587a4ce 100644 --- a/test/cctest/test-assembler-arm64.cc +++ b/test/cctest/test-assembler-arm64.cc @@ -10270,58 +10270,6 @@ TEST(copyfields) { } -static void DoSmiAbsTest(int32_t value, bool must_fail = false) { - SETUP(); - - START(); - Label end, slow; - __ Mov(x2, 0xc001c0de); - __ Mov(x1, value); - __ SmiTag(x1); - __ SmiAbs(x1, &slow); - __ SmiUntag(x1); - __ B(&end); - - __ Bind(&slow); - __ Mov(x2, 0xbad); - - __ Bind(&end); - END(); - - RUN(); - - if (must_fail) { - // We tested an invalid conversion. The code must have jump on slow. - CHECK_EQUAL_64(0xbad, x2); - } else { - // The conversion is valid, check the result. - int32_t result = (value >= 0) ? value : -value; - CHECK_EQUAL_64(result, x1); - - // Check that we didn't jump on slow. - CHECK_EQUAL_64(0xc001c0de, x2); - } - - TEARDOWN(); -} - - -TEST(smi_abs) { - INIT_V8(); - // Simple and edge cases. - DoSmiAbsTest(0); - DoSmiAbsTest(0x12345); - DoSmiAbsTest(0x40000000); - DoSmiAbsTest(0x7fffffff); - DoSmiAbsTest(-1); - DoSmiAbsTest(-12345); - DoSmiAbsTest(0x80000001); - - // Check that the most negative SMI is detected. - DoSmiAbsTest(0x80000000, true); -} - - TEST(blr_lr) { // A simple test to check that the simulator correcty handle "blr lr". INIT_V8(); -- 2.7.4