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 429 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
440 | 440 |
441 void SlowTruncateToI(Register result_reg, Register input_reg, | 441 void SlowTruncateToI(Register result_reg, Register input_reg, |
442 int offset = HeapNumber::kValueOffset - kHeapObjectTag); | 442 int offset = HeapNumber::kValueOffset - kHeapObjectTag); |
443 | 443 |
444 void TruncateHeapNumberToI(Register result_reg, Register input_reg); | 444 void TruncateHeapNumberToI(Register result_reg, Register input_reg); |
445 void TruncateX87TOSToI(Register result_reg); | 445 void TruncateX87TOSToI(Register result_reg); |
446 | 446 |
447 void X87TOSToI(Register result_reg, MinusZeroMode minus_zero_mode, | 447 void X87TOSToI(Register result_reg, MinusZeroMode minus_zero_mode, |
448 Label* conversion_failed, Label::Distance dst = Label::kFar); | 448 Label* conversion_failed, Label::Distance dst = Label::kFar); |
449 | 449 |
450 void TaggedToI(Register result_reg, Register input_reg, | |
451 MinusZeroMode minus_zero_mode, Label* lost_precision); | |
452 | |
453 // Smi tagging support. | 450 // Smi tagging support. |
454 void SmiTag(Register reg) { | 451 void SmiTag(Register reg) { |
455 STATIC_ASSERT(kSmiTag == 0); | 452 STATIC_ASSERT(kSmiTag == 0); |
456 STATIC_ASSERT(kSmiTagSize == 1); | 453 STATIC_ASSERT(kSmiTagSize == 1); |
457 add(reg, reg); | 454 add(reg, reg); |
458 } | 455 } |
459 void SmiUntag(Register reg) { | 456 void SmiUntag(Register reg) { |
460 sar(reg, kSmiTagSize); | 457 sar(reg, kSmiTagSize); |
461 } | 458 } |
462 | 459 |
(...skipping 616 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1079 } \ | 1076 } \ |
1080 masm-> | 1077 masm-> |
1081 #else | 1078 #else |
1082 #define ACCESS_MASM(masm) masm-> | 1079 #define ACCESS_MASM(masm) masm-> |
1083 #endif | 1080 #endif |
1084 | 1081 |
1085 | 1082 |
1086 } } // namespace v8::internal | 1083 } } // namespace v8::internal |
1087 | 1084 |
1088 #endif // V8_X87_MACRO_ASSEMBLER_X87_H_ | 1085 #endif // V8_X87_MACRO_ASSEMBLER_X87_H_ |
OLD | NEW |