Index: src/mips/macro-assembler-mips.cc |
diff --git a/src/mips/macro-assembler-mips.cc b/src/mips/macro-assembler-mips.cc |
index 22b44ca48569feaa49a8a09154f11ad4eabd629b..d1e60bd7f468dc1ab0844c472615e55b2126eaf8 100644 |
--- a/src/mips/macro-assembler-mips.cc |
+++ b/src/mips/macro-assembler-mips.cc |
@@ -18,19 +18,6 @@ |
namespace v8 { |
namespace internal { |
-// Floating point constants. |
-const uint32_t kDoubleSignMask = HeapNumber::kSignMask; |
-const uint32_t kDoubleExponentShift = HeapNumber::kExponentShift; |
-const uint32_t kDoubleNaNShift = kDoubleExponentShift - 1; |
-const uint32_t kDoubleNaNMask = |
- HeapNumber::kExponentMask | (1 << kDoubleNaNShift); |
- |
-const uint32_t kSingleSignMask = kBinary32SignMask; |
-const uint32_t kSingleExponentMask = kBinary32ExponentMask; |
-const uint32_t kSingleExponentShift = kBinary32ExponentShift; |
-const uint32_t kSingleNaNShift = kSingleExponentShift - 1; |
-const uint32_t kSingleNaNMask = kSingleExponentMask | (1 << kSingleNaNShift); |
- |
MacroAssembler::MacroAssembler(Isolate* arg_isolate, void* buffer, int size, |
CodeObjectRequired create_code_object) |
: Assembler(arg_isolate, buffer, size), |
@@ -4757,75 +4744,6 @@ void MacroAssembler::StoreNumberToDoubleElements(Register value_reg, |
sdc1(double_result, MemOperand(scratch1, 0)); |
} |
-void MacroAssembler::SubNanPreservePayloadAndSign_s(FloatRegister fd, |
- FloatRegister fs, |
- FloatRegister ft) { |
- FloatRegister dest = fd.is(fs) || fd.is(ft) ? kLithiumScratchDouble : fd; |
- Label check_nan, save_payload, done; |
- Register scratch1 = t8; |
- Register scratch2 = t9; |
- |
- sub_s(dest, fs, ft); |
- // Check if the result of subtraction is NaN. |
- BranchF32(nullptr, &check_nan, eq, fs, ft); |
- Branch(USE_DELAY_SLOT, &done); |
- dest.is(fd) ? nop() : mov_s(fd, dest); |
- |
- bind(&check_nan); |
- // Check if first operand is a NaN. |
- mfc1(scratch1, fs); |
- BranchF32(nullptr, &save_payload, eq, fs, fs); |
- // Second operand must be a NaN. |
- mfc1(scratch1, ft); |
- |
- bind(&save_payload); |
- // Reserve payload. |
- And(scratch1, scratch1, |
- Operand(kSingleSignMask | ((1 << kSingleNaNShift) - 1))); |
- mfc1(scratch2, dest); |
- And(scratch2, scratch2, Operand(kSingleNaNMask)); |
- Or(scratch2, scratch2, scratch1); |
- mtc1(scratch2, fd); |
- |
- bind(&done); |
-} |
- |
-void MacroAssembler::SubNanPreservePayloadAndSign_d(DoubleRegister fd, |
- DoubleRegister fs, |
- DoubleRegister ft) { |
- FloatRegister dest = fd.is(fs) || fd.is(ft) ? kLithiumScratchDouble : fd; |
- Label check_nan, save_payload, done; |
- Register scratch1 = t8; |
- Register scratch2 = t9; |
- |
- sub_d(dest, fs, ft); |
- // Check if the result of subtraction is NaN. |
- BranchF64(nullptr, &check_nan, eq, fs, ft); |
- Branch(USE_DELAY_SLOT, &done); |
- dest.is(fd) ? nop() : mov_d(fd, dest); |
- |
- bind(&check_nan); |
- // Check if first operand is a NaN. |
- Mfhc1(scratch1, fs); |
- mov_s(dest, fs); |
- BranchF64(nullptr, &save_payload, eq, fs, fs); |
- // Second operand must be a NaN. |
- Mfhc1(scratch1, ft); |
- mov_s(dest, ft); |
- |
- bind(&save_payload); |
- // Reserve payload. |
- And(scratch1, scratch1, |
- Operand(kDoubleSignMask | ((1 << kDoubleNaNShift) - 1))); |
- Mfhc1(scratch2, dest); |
- And(scratch2, scratch2, Operand(kDoubleNaNMask)); |
- Or(scratch2, scratch2, scratch1); |
- Move_s(fd, dest); |
- Mthc1(scratch2, fd); |
- |
- bind(&done); |
-} |
- |
void MacroAssembler::CompareMapAndBranch(Register obj, |
Register scratch, |
Handle<Map> map, |