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 #ifndef V8_X87_MACRO_ASSEMBLER_X87_H_ | 5 #ifndef V8_X87_MACRO_ASSEMBLER_X87_H_ |
6 #define V8_X87_MACRO_ASSEMBLER_X87_H_ | 6 #define V8_X87_MACRO_ASSEMBLER_X87_H_ |
7 | 7 |
8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
9 #include "src/frames.h" | 9 #include "src/frames.h" |
10 #include "src/globals.h" | 10 #include "src/globals.h" |
(...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
428 void ClampUint8(Register reg); | 428 void ClampUint8(Register reg); |
429 void ClampTOSToUint8(Register result_reg); | 429 void ClampTOSToUint8(Register result_reg); |
430 | 430 |
431 void SlowTruncateToI(Register result_reg, Register input_reg, | 431 void SlowTruncateToI(Register result_reg, Register input_reg, |
432 int offset = HeapNumber::kValueOffset - kHeapObjectTag); | 432 int offset = HeapNumber::kValueOffset - kHeapObjectTag); |
433 | 433 |
434 void TruncateHeapNumberToI(Register result_reg, Register input_reg); | 434 void TruncateHeapNumberToI(Register result_reg, Register input_reg); |
435 void TruncateX87TOSToI(Register result_reg); | 435 void TruncateX87TOSToI(Register result_reg); |
436 | 436 |
437 void X87TOSToI(Register result_reg, MinusZeroMode minus_zero_mode, | 437 void X87TOSToI(Register result_reg, MinusZeroMode minus_zero_mode, |
438 Label* conversion_failed, Label::Distance dst = Label::kFar); | 438 Label* lost_precision, Label* is_nan, Label* minus_zero, |
| 439 Label::Distance dst = Label::kFar); |
439 | 440 |
440 // Smi tagging support. | 441 // Smi tagging support. |
441 void SmiTag(Register reg) { | 442 void SmiTag(Register reg) { |
442 STATIC_ASSERT(kSmiTag == 0); | 443 STATIC_ASSERT(kSmiTag == 0); |
443 STATIC_ASSERT(kSmiTagSize == 1); | 444 STATIC_ASSERT(kSmiTagSize == 1); |
444 add(reg, reg); | 445 add(reg, reg); |
445 } | 446 } |
446 void SmiUntag(Register reg) { | 447 void SmiUntag(Register reg) { |
447 sar(reg, kSmiTagSize); | 448 sar(reg, kSmiTagSize); |
448 } | 449 } |
(...skipping 620 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1069 } \ | 1070 } \ |
1070 masm-> | 1071 masm-> |
1071 #else | 1072 #else |
1072 #define ACCESS_MASM(masm) masm-> | 1073 #define ACCESS_MASM(masm) masm-> |
1073 #endif | 1074 #endif |
1074 | 1075 |
1075 | 1076 |
1076 } } // namespace v8::internal | 1077 } } // namespace v8::internal |
1077 | 1078 |
1078 #endif // V8_X87_MACRO_ASSEMBLER_X87_H_ | 1079 #endif // V8_X87_MACRO_ASSEMBLER_X87_H_ |
OLD | NEW |