| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/v8.h" | 5 #include "src/v8.h" |
| 6 | 6 |
| 7 #include "src/arm/lithium-codegen-arm.h" | 7 #include "src/arm/lithium-codegen-arm.h" |
| 8 #include "src/arm/lithium-gap-resolver-arm.h" | 8 #include "src/arm/lithium-gap-resolver-arm.h" |
| 9 #include "src/code-stubs.h" | 9 #include "src/code-stubs.h" |
| 10 #include "src/hydrogen-osr.h" | 10 #include "src/hydrogen-osr.h" |
| (...skipping 3830 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3841 __ bind(&convert); | 3841 __ bind(&convert); |
| 3842 __ vadd(input_plus_dot_five, input, dot_five); | 3842 __ vadd(input_plus_dot_five, input, dot_five); |
| 3843 // Reuse dot_five (double_scratch0) as we no longer need this value. | 3843 // Reuse dot_five (double_scratch0) as we no longer need this value. |
| 3844 __ TryInt32Floor(result, input_plus_dot_five, input_high, double_scratch0(), | 3844 __ TryInt32Floor(result, input_plus_dot_five, input_high, double_scratch0(), |
| 3845 &done, &done); | 3845 &done, &done); |
| 3846 DeoptimizeIf(al, instr->environment()); | 3846 DeoptimizeIf(al, instr->environment()); |
| 3847 __ bind(&done); | 3847 __ bind(&done); |
| 3848 } | 3848 } |
| 3849 | 3849 |
| 3850 | 3850 |
| 3851 void LCodeGen::DoMathFround(LMathFround* instr) { |
| 3852 DwVfpRegister input_reg = ToDoubleRegister(instr->value()); |
| 3853 DwVfpRegister output_reg = ToDoubleRegister(instr->result()); |
| 3854 LowDwVfpRegister scratch = double_scratch0(); |
| 3855 __ vcvt_f32_f64(scratch.low(), input_reg); |
| 3856 __ vcvt_f64_f32(output_reg, scratch.low()); |
| 3857 } |
| 3858 |
| 3859 |
| 3851 void LCodeGen::DoMathSqrt(LMathSqrt* instr) { | 3860 void LCodeGen::DoMathSqrt(LMathSqrt* instr) { |
| 3852 DwVfpRegister input = ToDoubleRegister(instr->value()); | 3861 DwVfpRegister input = ToDoubleRegister(instr->value()); |
| 3853 DwVfpRegister result = ToDoubleRegister(instr->result()); | 3862 DwVfpRegister result = ToDoubleRegister(instr->result()); |
| 3854 __ vsqrt(result, input); | 3863 __ vsqrt(result, input); |
| 3855 } | 3864 } |
| 3856 | 3865 |
| 3857 | 3866 |
| 3858 void LCodeGen::DoMathPowHalf(LMathPowHalf* instr) { | 3867 void LCodeGen::DoMathPowHalf(LMathPowHalf* instr) { |
| 3859 DwVfpRegister input = ToDoubleRegister(instr->value()); | 3868 DwVfpRegister input = ToDoubleRegister(instr->value()); |
| 3860 DwVfpRegister result = ToDoubleRegister(instr->result()); | 3869 DwVfpRegister result = ToDoubleRegister(instr->result()); |
| (...skipping 2012 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5873 __ Push(scope_info); | 5882 __ Push(scope_info); |
| 5874 __ push(ToRegister(instr->function())); | 5883 __ push(ToRegister(instr->function())); |
| 5875 CallRuntime(Runtime::kPushBlockContext, 2, instr); | 5884 CallRuntime(Runtime::kPushBlockContext, 2, instr); |
| 5876 RecordSafepoint(Safepoint::kNoLazyDeopt); | 5885 RecordSafepoint(Safepoint::kNoLazyDeopt); |
| 5877 } | 5886 } |
| 5878 | 5887 |
| 5879 | 5888 |
| 5880 #undef __ | 5889 #undef __ |
| 5881 | 5890 |
| 5882 } } // namespace v8::internal | 5891 } } // namespace v8::internal |
| OLD | NEW |