| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef VM_ASSEMBLER_X64_H_ | 5 #ifndef VM_ASSEMBLER_X64_H_ |
| 6 #define VM_ASSEMBLER_X64_H_ | 6 #define VM_ASSEMBLER_X64_H_ |
| 7 | 7 |
| 8 #ifndef VM_ASSEMBLER_H_ | 8 #ifndef VM_ASSEMBLER_H_ |
| 9 #error Do not include assembler_x64.h directly; use assembler.h instead. | 9 #error Do not include assembler_x64.h directly; use assembler.h instead. |
| 10 #endif | 10 #endif |
| (...skipping 843 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 854 * Misc. functionality. | 854 * Misc. functionality. |
| 855 */ | 855 */ |
| 856 void SmiTag(Register reg) { | 856 void SmiTag(Register reg) { |
| 857 addq(reg, reg); | 857 addq(reg, reg); |
| 858 } | 858 } |
| 859 | 859 |
| 860 void SmiUntag(Register reg) { | 860 void SmiUntag(Register reg) { |
| 861 sarq(reg, Immediate(kSmiTagSize)); | 861 sarq(reg, Immediate(kSmiTagSize)); |
| 862 } | 862 } |
| 863 | 863 |
| 864 void ComputeRange(Register result, Register value, Label* miss); | |
| 865 void UpdateRangeFeedback(Register value, | |
| 866 intptr_t index, | |
| 867 Register ic_data, | |
| 868 Register scratch, | |
| 869 Label* miss); | |
| 870 | |
| 871 int PreferredLoopAlignment() { return 16; } | |
| 872 void Align(int alignment, intptr_t offset); | 864 void Align(int alignment, intptr_t offset); |
| 873 void Bind(Label* label); | 865 void Bind(Label* label); |
| 874 void Jump(Label* label) { jmp(label); } | 866 void Jump(Label* label) { jmp(label); } |
| 875 | 867 |
| 876 void Comment(const char* format, ...) PRINTF_ATTRIBUTE(2, 3); | 868 void Comment(const char* format, ...) PRINTF_ATTRIBUTE(2, 3); |
| 877 static bool EmittingComments(); | 869 static bool EmittingComments(); |
| 878 | 870 |
| 879 const Code::Comments& GetCodeComments() const; | 871 const Code::Comments& GetCodeComments() const; |
| 880 | 872 |
| 881 // Address of code at offset. | 873 // Address of code at offset. |
| (...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1168 } | 1160 } |
| 1169 | 1161 |
| 1170 | 1162 |
| 1171 inline void Assembler::EmitOperandSizeOverride() { | 1163 inline void Assembler::EmitOperandSizeOverride() { |
| 1172 EmitUint8(0x66); | 1164 EmitUint8(0x66); |
| 1173 } | 1165 } |
| 1174 | 1166 |
| 1175 } // namespace dart | 1167 } // namespace dart |
| 1176 | 1168 |
| 1177 #endif // VM_ASSEMBLER_X64_H_ | 1169 #endif // VM_ASSEMBLER_X64_H_ |
| OLD | NEW |