| Index: src/arm/macro-assembler-arm.cc
|
| diff --git a/src/arm/macro-assembler-arm.cc b/src/arm/macro-assembler-arm.cc
|
| index bacf570c3b5fec5b01d7ff98732e57726e939b21..73ae68285acc6d0e033e95fec84359a02e111819 100644
|
| --- a/src/arm/macro-assembler-arm.cc
|
| +++ b/src/arm/macro-assembler-arm.cc
|
| @@ -291,8 +291,6 @@ void MacroAssembler::Move(Register dst, Register src, Condition cond) {
|
|
|
|
|
| void MacroAssembler::Move(DwVfpRegister dst, DwVfpRegister src) {
|
| - ASSERT(CpuFeatures::IsSupported(VFP2));
|
| - CpuFeatureScope scope(this, VFP2);
|
| if (!dst.is(src)) {
|
| vmov(dst, src);
|
| }
|
| @@ -811,7 +809,6 @@ void MacroAssembler::VFPCompareAndLoadFlags(const DwVfpRegister src1,
|
| void MacroAssembler::Vmov(const DwVfpRegister dst,
|
| const double imm,
|
| const Register scratch) {
|
| - ASSERT(IsEnabled(VFP2));
|
| static const DoubleRepresentation minus_zero(-0.0);
|
| static const DoubleRepresentation zero(0.0);
|
| DoubleRepresentation value(imm);
|
| @@ -873,7 +870,6 @@ void MacroAssembler::EnterExitFrame(bool save_doubles, int stack_space) {
|
|
|
| // Optionally save all double registers.
|
| if (save_doubles) {
|
| - CpuFeatureScope scope(this, VFP2);
|
| // Check CPU flags for number of registers, setting the Z condition flag.
|
| CheckFor32DRegs(ip);
|
|
|
| @@ -938,7 +934,6 @@ void MacroAssembler::LeaveExitFrame(bool save_doubles,
|
| Register argument_count) {
|
| // Optionally restore all double registers.
|
| if (save_doubles) {
|
| - CpuFeatureScope scope(this, VFP2);
|
| // Calculate the stack location of the saved doubles and restore them.
|
| const int offset = 2 * kPointerSize;
|
| sub(r3, fp,
|
| @@ -975,7 +970,6 @@ void MacroAssembler::LeaveExitFrame(bool save_doubles,
|
| }
|
|
|
| void MacroAssembler::GetCFunctionDoubleResult(const DwVfpRegister dst) {
|
| - ASSERT(CpuFeatures::IsSupported(VFP2));
|
| if (use_eabi_hardfloat()) {
|
| Move(dst, d0);
|
| } else {
|
| @@ -2048,11 +2042,7 @@ void MacroAssembler::StoreNumberToDoubleElements(Register value_reg,
|
| // scratch1 is now effective address of the double element
|
|
|
| FloatingPointHelper::Destination destination;
|
| - if (CpuFeatures::IsSupported(VFP2)) {
|
| - destination = FloatingPointHelper::kVFPRegisters;
|
| - } else {
|
| - destination = FloatingPointHelper::kCoreRegisters;
|
| - }
|
| + destination = FloatingPointHelper::kVFPRegisters;
|
|
|
| Register untagged_value = elements_reg;
|
| SmiUntag(untagged_value, value_reg);
|
| @@ -2065,7 +2055,6 @@ void MacroAssembler::StoreNumberToDoubleElements(Register value_reg,
|
| scratch4,
|
| s2);
|
| if (destination == FloatingPointHelper::kVFPRegisters) {
|
| - CpuFeatureScope scope(this, VFP2);
|
| vstr(d0, scratch1, 0);
|
| } else {
|
| str(mantissa_reg, MemOperand(scratch1, 0));
|
| @@ -2425,9 +2414,6 @@ void MacroAssembler::SmiToDoubleVFPRegister(Register smi,
|
| void MacroAssembler::TestDoubleIsInt32(DwVfpRegister double_input,
|
| DwVfpRegister double_scratch) {
|
| ASSERT(!double_input.is(double_scratch));
|
| - ASSERT(CpuFeatures::IsSupported(VFP2));
|
| - CpuFeatureScope scope(this, VFP2);
|
| -
|
| vcvt_s32_f64(double_scratch.low(), double_input);
|
| vcvt_f64_s32(double_scratch, double_scratch.low());
|
| VFPCompareAndSetFlags(double_input, double_scratch);
|
| @@ -2438,9 +2424,6 @@ void MacroAssembler::TryDoubleToInt32Exact(Register result,
|
| DwVfpRegister double_input,
|
| DwVfpRegister double_scratch) {
|
| ASSERT(!double_input.is(double_scratch));
|
| - ASSERT(CpuFeatures::IsSupported(VFP2));
|
| - CpuFeatureScope scope(this, VFP2);
|
| -
|
| vcvt_s32_f64(double_scratch.low(), double_input);
|
| vmov(result, double_scratch.low());
|
| vcvt_f64_s32(double_scratch, double_scratch.low());
|
| @@ -2456,8 +2439,6 @@ void MacroAssembler::TryInt32Floor(Register result,
|
| Label* exact) {
|
| ASSERT(!result.is(input_high));
|
| ASSERT(!double_input.is(double_scratch));
|
| - ASSERT(CpuFeatures::IsSupported(VFP2));
|
| - CpuFeatureScope scope(this, VFP2);
|
| Label negative, exception;
|
|
|
| // Test for NaN and infinities.
|
| @@ -2502,16 +2483,9 @@ void MacroAssembler::ECMAConvertNumberToInt32(Register source,
|
| Register scratch,
|
| DwVfpRegister double_scratch1,
|
| DwVfpRegister double_scratch2) {
|
| - if (CpuFeatures::IsSupported(VFP2)) {
|
| - CpuFeatureScope scope(this, VFP2);
|
| - vldr(double_scratch1, FieldMemOperand(source, HeapNumber::kValueOffset));
|
| - ECMAToInt32VFP(result, double_scratch1, double_scratch2,
|
| - scratch, input_high, input_low);
|
| - } else {
|
| - Ldrd(input_low, input_high,
|
| - FieldMemOperand(source, HeapNumber::kValueOffset));
|
| - ECMAToInt32NoVFP(result, scratch, input_high, input_low);
|
| - }
|
| + vldr(double_scratch1, FieldMemOperand(source, HeapNumber::kValueOffset));
|
| + ECMAToInt32VFP(result, double_scratch1, double_scratch2,
|
| + scratch, input_high, input_low);
|
| }
|
|
|
|
|
| @@ -2521,7 +2495,6 @@ void MacroAssembler::ECMAToInt32VFP(Register result,
|
| Register scratch,
|
| Register input_high,
|
| Register input_low) {
|
| - CpuFeatureScope scope(this, VFP2);
|
| ASSERT(!input_high.is(result));
|
| ASSERT(!input_low.is(result));
|
| ASSERT(!input_low.is(input_high));
|
| @@ -2715,10 +2688,7 @@ void MacroAssembler::CallRuntimeSaveDoubles(Runtime::FunctionId id) {
|
| const Runtime::Function* function = Runtime::FunctionForId(id);
|
| mov(r0, Operand(function->nargs));
|
| mov(r1, Operand(ExternalReference(function, isolate())));
|
| - SaveFPRegsMode mode = CpuFeatures::IsSupported(VFP2)
|
| - ? kSaveFPRegs
|
| - : kDontSaveFPRegs;
|
| - CEntryStub stub(1, mode);
|
| + CEntryStub stub(1, kSaveFPRegs);
|
| CallStub(&stub);
|
| }
|
|
|
| @@ -3463,7 +3433,6 @@ void MacroAssembler::PrepareCallCFunction(int num_reg_arguments,
|
|
|
|
|
| void MacroAssembler::SetCallCDoubleArguments(DwVfpRegister dreg) {
|
| - ASSERT(CpuFeatures::IsSupported(VFP2));
|
| if (use_eabi_hardfloat()) {
|
| Move(d0, dreg);
|
| } else {
|
| @@ -3474,7 +3443,6 @@ void MacroAssembler::SetCallCDoubleArguments(DwVfpRegister dreg) {
|
|
|
| void MacroAssembler::SetCallCDoubleArguments(DwVfpRegister dreg1,
|
| DwVfpRegister dreg2) {
|
| - ASSERT(CpuFeatures::IsSupported(VFP2));
|
| if (use_eabi_hardfloat()) {
|
| if (dreg2.is(d0)) {
|
| ASSERT(!dreg1.is(d1));
|
| @@ -3493,7 +3461,6 @@ void MacroAssembler::SetCallCDoubleArguments(DwVfpRegister dreg1,
|
|
|
| void MacroAssembler::SetCallCDoubleArguments(DwVfpRegister dreg,
|
| Register reg) {
|
| - ASSERT(CpuFeatures::IsSupported(VFP2));
|
| if (use_eabi_hardfloat()) {
|
| Move(d0, dreg);
|
| Move(r0, reg);
|
|
|