| Index: src/arm/code-stubs-arm.h
|
| diff --git a/src/arm/code-stubs-arm.h b/src/arm/code-stubs-arm.h
|
| index 75cbf6582c6bd19c8de1b0090a86c7d7fe557539..f31f38e784f38d59574a656bd7c20f35a8de36da 100644
|
| --- a/src/arm/code-stubs-arm.h
|
| +++ b/src/arm/code-stubs-arm.h
|
| @@ -608,142 +608,6 @@ class DirectCEntryStub: public PlatformCodeStub {
|
| };
|
|
|
|
|
| -class FloatingPointHelper : public AllStatic {
|
| - public:
|
| - enum Destination {
|
| - kVFPRegisters,
|
| - kCoreRegisters
|
| - };
|
| -
|
| -
|
| - // Loads smis from r0 and r1 (right and left in binary operations) into
|
| - // floating point registers. Depending on the destination the values ends up
|
| - // either d7 and d6 or in r2/r3 and r0/r1 respectively. If the destination is
|
| - // floating point registers VFP3 must be supported. If core registers are
|
| - // requested when VFP3 is supported d6 and d7 will be scratched.
|
| - static void LoadSmis(MacroAssembler* masm,
|
| - Destination destination,
|
| - Register scratch1,
|
| - Register scratch2);
|
| -
|
| - // Convert the smi or heap number in object to an int32 using the rules
|
| - // for ToInt32 as described in ECMAScript 9.5.: the value is truncated
|
| - // and brought into the range -2^31 .. +2^31 - 1.
|
| - static void ConvertNumberToInt32(MacroAssembler* masm,
|
| - Register object,
|
| - Register dst,
|
| - Register heap_number_map,
|
| - Register scratch1,
|
| - Register scratch2,
|
| - Register scratch3,
|
| - DwVfpRegister double_scratch1,
|
| - DwVfpRegister double_scratch2,
|
| - Label* not_int32);
|
| -
|
| - // Converts the integer (untagged smi) in |int_scratch| to a double, storing
|
| - // the result either in |double_dst| or |dst2:dst1|, depending on
|
| - // |destination|.
|
| - // Warning: The value in |int_scratch| will be changed in the process!
|
| - static void ConvertIntToDouble(MacroAssembler* masm,
|
| - Register int_scratch,
|
| - Destination destination,
|
| - DwVfpRegister double_dst,
|
| - Register dst1,
|
| - Register dst2,
|
| - Register scratch2,
|
| - SwVfpRegister single_scratch);
|
| -
|
| - // Load the number from object into double_dst in the double format.
|
| - // Control will jump to not_int32 if the value cannot be exactly represented
|
| - // by a 32-bit integer.
|
| - // Floating point value in the 32-bit integer range that are not exact integer
|
| - // won't be loaded.
|
| - static void LoadNumberAsInt32Double(MacroAssembler* masm,
|
| - Register object,
|
| - Destination destination,
|
| - DwVfpRegister double_dst,
|
| - DwVfpRegister double_scratch,
|
| - Register dst1,
|
| - Register dst2,
|
| - Register heap_number_map,
|
| - Register scratch1,
|
| - Register scratch2,
|
| - SwVfpRegister single_scratch,
|
| - Label* not_int32);
|
| -
|
| - // Loads the number from object into dst as a 32-bit integer.
|
| - // Control will jump to not_int32 if the object cannot be exactly represented
|
| - // by a 32-bit integer.
|
| - // Floating point value in the 32-bit integer range that are not exact integer
|
| - // won't be converted.
|
| - // scratch3 is not used when VFP3 is supported.
|
| - static void LoadNumberAsInt32(MacroAssembler* masm,
|
| - Register object,
|
| - Register dst,
|
| - Register heap_number_map,
|
| - Register scratch1,
|
| - Register scratch2,
|
| - Register scratch3,
|
| - DwVfpRegister double_scratch0,
|
| - DwVfpRegister double_scratch1,
|
| - Label* not_int32);
|
| -
|
| - // Generate non VFP3 code to check if a double can be exactly represented by a
|
| - // 32-bit integer. This does not check for 0 or -0, which need
|
| - // to be checked for separately.
|
| - // Control jumps to not_int32 if the value is not a 32-bit integer, and falls
|
| - // through otherwise.
|
| - // src1 and src2 will be cloberred.
|
| - //
|
| - // Expected input:
|
| - // - src1: higher (exponent) part of the double value.
|
| - // - src2: lower (mantissa) part of the double value.
|
| - // Output status:
|
| - // - dst: 32 higher bits of the mantissa. (mantissa[51:20])
|
| - // - src2: contains 1.
|
| - // - other registers are clobbered.
|
| - static void DoubleIs32BitInteger(MacroAssembler* masm,
|
| - Register src1,
|
| - Register src2,
|
| - Register dst,
|
| - Register scratch,
|
| - Label* not_int32);
|
| -
|
| - // Generates code to call a C function to do a double operation using core
|
| - // registers. (Used when VFP3 is not supported.)
|
| - // This code never falls through, but returns with a heap number containing
|
| - // the result in r0.
|
| - // Register heapnumber_result must be a heap number in which the
|
| - // result of the operation will be stored.
|
| - // Requires the following layout on entry:
|
| - // r0: Left value (least significant part of mantissa).
|
| - // r1: Left value (sign, exponent, top of mantissa).
|
| - // r2: Right value (least significant part of mantissa).
|
| - // r3: Right value (sign, exponent, top of mantissa).
|
| - static void CallCCodeForDoubleOperation(MacroAssembler* masm,
|
| - Token::Value op,
|
| - Register heap_number_result,
|
| - Register scratch);
|
| -
|
| - // Loads the objects from |object| into floating point registers.
|
| - // Depending on |destination| the value ends up either in |dst| or
|
| - // in |dst1|/|dst2|. If |destination| is kVFPRegisters, then VFP3
|
| - // must be supported. If kCoreRegisters are requested and VFP3 is
|
| - // supported, |dst| will be scratched. If |object| is neither smi nor
|
| - // heap number, |not_number| is jumped to with |object| still intact.
|
| - static void LoadNumber(MacroAssembler* masm,
|
| - FloatingPointHelper::Destination destination,
|
| - Register object,
|
| - DwVfpRegister dst,
|
| - Register dst1,
|
| - Register dst2,
|
| - Register heap_number_map,
|
| - Register scratch1,
|
| - Register scratch2,
|
| - Label* not_number);
|
| -};
|
| -
|
| -
|
| class NameDictionaryLookupStub: public PlatformCodeStub {
|
| public:
|
| enum LookupMode { POSITIVE_LOOKUP, NEGATIVE_LOOKUP };
|
|
|