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

Side by Side Diff: src/crankshaft/x87/lithium-codegen-x87.cc

Issue 2456503003: X87: [crankshaft] Refactor kAllowUndefinedAsNaN to kTruncatingToNumber. (Closed)
Patch Set: Created 4 years, 1 month 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
« no previous file with comments | « no previous file | src/crankshaft/x87/lithium-x87.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 #if V8_TARGET_ARCH_X87 5 #if V8_TARGET_ARCH_X87
6 6
7 #include "src/crankshaft/x87/lithium-codegen-x87.h" 7 #include "src/crankshaft/x87/lithium-codegen-x87.h"
8 8
9 #include "src/base/bits.h" 9 #include "src/base/bits.h"
10 #include "src/code-factory.h" 10 #include "src/code-factory.h"
(...skipping 4578 matching lines...) Expand 10 before | Expand all | Expand 10 after
4589 } else { 4589 } else {
4590 __ AssertSmi(result); 4590 __ AssertSmi(result);
4591 } 4591 }
4592 __ SmiUntag(result); 4592 __ SmiUntag(result);
4593 } 4593 }
4594 4594
4595 4595
4596 void LCodeGen::EmitNumberUntagDNoSSE2(LNumberUntagD* instr, Register input_reg, 4596 void LCodeGen::EmitNumberUntagDNoSSE2(LNumberUntagD* instr, Register input_reg,
4597 Register temp_reg, X87Register res_reg, 4597 Register temp_reg, X87Register res_reg,
4598 NumberUntagDMode mode) { 4598 NumberUntagDMode mode) {
4599 bool can_convert_undefined_to_nan = 4599 bool can_convert_undefined_to_nan = instr->truncating();
4600 instr->hydrogen()->can_convert_undefined_to_nan();
4601 bool deoptimize_on_minus_zero = instr->hydrogen()->deoptimize_on_minus_zero(); 4600 bool deoptimize_on_minus_zero = instr->hydrogen()->deoptimize_on_minus_zero();
4602 4601
4603 Label load_smi, done; 4602 Label load_smi, done;
4604 4603
4605 X87PrepareToWrite(res_reg); 4604 X87PrepareToWrite(res_reg);
4606 if (mode == NUMBER_CANDIDATE_IS_ANY_TAGGED) { 4605 if (mode == NUMBER_CANDIDATE_IS_ANY_TAGGED) {
4607 // Smi check. 4606 // Smi check.
4608 __ JumpIfSmi(input_reg, &load_smi); 4607 __ JumpIfSmi(input_reg, &load_smi);
4609 4608
4610 // Heap number map check. 4609 // Heap number map check.
(...skipping 1047 matching lines...) Expand 10 before | Expand all | Expand 10 after
5658 __ bind(deferred->exit()); 5657 __ bind(deferred->exit());
5659 __ bind(&done); 5658 __ bind(&done);
5660 } 5659 }
5661 5660
5662 #undef __ 5661 #undef __
5663 5662
5664 } // namespace internal 5663 } // namespace internal
5665 } // namespace v8 5664 } // namespace v8
5666 5665
5667 #endif // V8_TARGET_ARCH_X87 5666 #endif // V8_TARGET_ARCH_X87
OLDNEW
« no previous file with comments | « no previous file | src/crankshaft/x87/lithium-x87.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698