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

Side by Side Diff: src/arm64/lithium-codegen-arm64.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/arm64/lithium-arm64.cc ('k') | src/hydrogen.cc » ('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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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/arm64/lithium-codegen-arm64.h" 7 #include "src/arm64/lithium-codegen-arm64.h"
8 #include "src/arm64/lithium-gap-resolver-arm64.h" 8 #include "src/arm64/lithium-gap-resolver-arm64.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 4182 matching lines...) Expand 10 before | Expand all | Expand 10 after
4193 DeoptimizeIf(vs, instr->environment()); 4193 DeoptimizeIf(vs, instr->environment());
4194 4194
4195 // Now, the only unhandled inputs are in the range [0.0, 1.5[ (or [-0.5, 1.5[ 4195 // Now, the only unhandled inputs are in the range [0.0, 1.5[ (or [-0.5, 1.5[
4196 // if we didn't generate a -0.0 bailout). If input >= 0.5 then return 1, 4196 // if we didn't generate a -0.0 bailout). If input >= 0.5 then return 1,
4197 // else 0; we avoid dealing with 0.499...94 directly. 4197 // else 0; we avoid dealing with 0.499...94 directly.
4198 __ Cset(result, ge); 4198 __ Cset(result, ge);
4199 __ Bind(&done); 4199 __ Bind(&done);
4200 } 4200 }
4201 4201
4202 4202
4203 void LCodeGen::DoMathFround(LMathFround* instr) {
4204 DoubleRegister input = ToDoubleRegister(instr->value());
4205 DoubleRegister result = ToDoubleRegister(instr->result());
4206 __ Fcvt(result.S(), input);
4207 __ Fcvt(result, result.S());
4208 }
4209
4210
4203 void LCodeGen::DoMathSqrt(LMathSqrt* instr) { 4211 void LCodeGen::DoMathSqrt(LMathSqrt* instr) {
4204 DoubleRegister input = ToDoubleRegister(instr->value()); 4212 DoubleRegister input = ToDoubleRegister(instr->value());
4205 DoubleRegister result = ToDoubleRegister(instr->result()); 4213 DoubleRegister result = ToDoubleRegister(instr->result());
4206 __ Fsqrt(result, input); 4214 __ Fsqrt(result, input);
4207 } 4215 }
4208 4216
4209 4217
4210 void LCodeGen::DoMathMinMax(LMathMinMax* instr) { 4218 void LCodeGen::DoMathMinMax(LMathMinMax* instr) {
4211 HMathMinMax::Operation op = instr->hydrogen()->operation(); 4219 HMathMinMax::Operation op = instr->hydrogen()->operation();
4212 if (instr->hydrogen()->representation().IsInteger32()) { 4220 if (instr->hydrogen()->representation().IsInteger32()) {
(...skipping 1825 matching lines...) Expand 10 before | Expand all | Expand 10 after
6038 Handle<ScopeInfo> scope_info = instr->scope_info(); 6046 Handle<ScopeInfo> scope_info = instr->scope_info();
6039 __ Push(scope_info); 6047 __ Push(scope_info);
6040 __ Push(ToRegister(instr->function())); 6048 __ Push(ToRegister(instr->function()));
6041 CallRuntime(Runtime::kPushBlockContext, 2, instr); 6049 CallRuntime(Runtime::kPushBlockContext, 2, instr);
6042 RecordSafepoint(Safepoint::kNoLazyDeopt); 6050 RecordSafepoint(Safepoint::kNoLazyDeopt);
6043 } 6051 }
6044 6052
6045 6053
6046 6054
6047 } } // namespace v8::internal 6055 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/arm64/lithium-arm64.cc ('k') | src/hydrogen.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698