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 |