Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1178)

Side by Side Diff: src/arm/lithium-codegen-arm.cc

Issue 425943002: Inline Math.fround in optimized code. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: arm64 port Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/arm/lithium-arm.cc ('k') | src/arm64/lithium-arm64.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « src/arm/lithium-arm.cc ('k') | src/arm64/lithium-arm64.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698