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_X64_MACRO_ASSEMBLER_X64_H_ | 5 #ifndef V8_X64_MACRO_ASSEMBLER_X64_H_ |
6 #define V8_X64_MACRO_ASSEMBLER_X64_H_ | 6 #define V8_X64_MACRO_ASSEMBLER_X64_H_ |
7 | 7 |
8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
9 #include "src/bailout-reason.h" | 9 #include "src/bailout-reason.h" |
10 #include "src/frames.h" | 10 #include "src/frames.h" |
(...skipping 1028 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1039 void DoubleToI(Register result_reg, XMMRegister input_reg, | 1039 void DoubleToI(Register result_reg, XMMRegister input_reg, |
1040 XMMRegister scratch, MinusZeroMode minus_zero_mode, | 1040 XMMRegister scratch, MinusZeroMode minus_zero_mode, |
1041 Label* lost_precision, Label* is_nan, Label* minus_zero, | 1041 Label* lost_precision, Label* is_nan, Label* minus_zero, |
1042 Label::Distance dst = Label::kFar); | 1042 Label::Distance dst = Label::kFar); |
1043 | 1043 |
1044 void LoadUint32(XMMRegister dst, Register src); | 1044 void LoadUint32(XMMRegister dst, Register src); |
1045 | 1045 |
1046 void LoadInstanceDescriptors(Register map, Register descriptors); | 1046 void LoadInstanceDescriptors(Register map, Register descriptors); |
1047 void EnumLength(Register dst, Register map); | 1047 void EnumLength(Register dst, Register map); |
1048 void NumberOfOwnDescriptors(Register dst, Register map); | 1048 void NumberOfOwnDescriptors(Register dst, Register map); |
| 1049 void LoadAccessor(Register dst, Register holder, int accessor_index, |
| 1050 AccessorComponent accessor); |
1049 | 1051 |
1050 template<typename Field> | 1052 template<typename Field> |
1051 void DecodeField(Register reg) { | 1053 void DecodeField(Register reg) { |
1052 static const int shift = Field::kShift; | 1054 static const int shift = Field::kShift; |
1053 static const int mask = Field::kMask >> Field::kShift; | 1055 static const int mask = Field::kMask >> Field::kShift; |
1054 if (shift != 0) { | 1056 if (shift != 0) { |
1055 shrp(reg, Immediate(shift)); | 1057 shrp(reg, Immediate(shift)); |
1056 } | 1058 } |
1057 andp(reg, Immediate(mask)); | 1059 andp(reg, Immediate(mask)); |
1058 } | 1060 } |
(...skipping 571 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1630 masm->popfq(); \ | 1632 masm->popfq(); \ |
1631 } \ | 1633 } \ |
1632 masm-> | 1634 masm-> |
1633 #else | 1635 #else |
1634 #define ACCESS_MASM(masm) masm-> | 1636 #define ACCESS_MASM(masm) masm-> |
1635 #endif | 1637 #endif |
1636 | 1638 |
1637 } } // namespace v8::internal | 1639 } } // namespace v8::internal |
1638 | 1640 |
1639 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ | 1641 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ |
OLD | NEW |