OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 957 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
968 // The flag results are similar to integer cmp, but requires unsigned | 968 // The flag results are similar to integer cmp, but requires unsigned |
969 // jcc instructions (je, ja, jae, jb, jbe, je, and jz). | 969 // jcc instructions (je, ja, jae, jb, jbe, je, and jz). |
970 void FCmp(); | 970 void FCmp(); |
971 | 971 |
972 void ClampUint8(Register reg); | 972 void ClampUint8(Register reg); |
973 | 973 |
974 void ClampDoubleToUint8(XMMRegister input_reg, | 974 void ClampDoubleToUint8(XMMRegister input_reg, |
975 XMMRegister temp_xmm_reg, | 975 XMMRegister temp_xmm_reg, |
976 Register result_reg); | 976 Register result_reg); |
977 | 977 |
| 978 void SlowTruncateToI(Register result_reg, Register input_reg, |
| 979 int offset = HeapNumber::kValueOffset - kHeapObjectTag); |
| 980 |
| 981 void TruncateHeapNumberToI(Register result_reg, Register input_reg); |
| 982 void TruncateDoubleToI(Register result_reg, XMMRegister input_reg); |
| 983 |
| 984 void DoubleToI(Register result_reg, XMMRegister input_reg, |
| 985 XMMRegister scratch, MinusZeroMode minus_zero_mode, |
| 986 Label* conversion_failed, Label::Distance dst = Label::kFar); |
| 987 |
| 988 void TaggedToI(Register result_reg, Register input_reg, XMMRegister temp, |
| 989 MinusZeroMode minus_zero_mode, Label* lost_precision, |
| 990 Label::Distance dst = Label::kFar); |
| 991 |
978 void LoadUint32(XMMRegister dst, Register src, XMMRegister scratch); | 992 void LoadUint32(XMMRegister dst, Register src, XMMRegister scratch); |
979 | 993 |
980 void LoadInstanceDescriptors(Register map, Register descriptors); | 994 void LoadInstanceDescriptors(Register map, Register descriptors); |
981 void EnumLength(Register dst, Register map); | 995 void EnumLength(Register dst, Register map); |
982 void NumberOfOwnDescriptors(Register dst, Register map); | 996 void NumberOfOwnDescriptors(Register dst, Register map); |
983 | 997 |
984 template<typename Field> | 998 template<typename Field> |
985 void DecodeField(Register reg) { | 999 void DecodeField(Register reg) { |
986 static const int shift = Field::kShift + kSmiShift; | 1000 static const int shift = Field::kShift + kSmiShift; |
987 static const int mask = Field::kMask >> Field::kShift; | 1001 static const int mask = Field::kMask >> Field::kShift; |
(...skipping 562 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1550 masm->popfq(); \ | 1564 masm->popfq(); \ |
1551 } \ | 1565 } \ |
1552 masm-> | 1566 masm-> |
1553 #else | 1567 #else |
1554 #define ACCESS_MASM(masm) masm-> | 1568 #define ACCESS_MASM(masm) masm-> |
1555 #endif | 1569 #endif |
1556 | 1570 |
1557 } } // namespace v8::internal | 1571 } } // namespace v8::internal |
1558 | 1572 |
1559 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ | 1573 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ |
OLD | NEW |