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_IA32_H_ | 5 #ifndef VM_ASSEMBLER_IA32_H_ |
6 #define VM_ASSEMBLER_IA32_H_ | 6 #define VM_ASSEMBLER_IA32_H_ |
7 | 7 |
8 #ifndef VM_ASSEMBLER_H_ | 8 #ifndef VM_ASSEMBLER_H_ |
9 #error Do not include assembler_ia32.h directly; use assembler.h instead. | 9 #error Do not include assembler_ia32.h directly; use assembler.h instead. |
10 #endif | 10 #endif |
(...skipping 769 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
780 intptr_t index_scale, | 780 intptr_t index_scale, |
781 Register array, | 781 Register array, |
782 intptr_t index); | 782 intptr_t index); |
783 | 783 |
784 static Address ElementAddressForRegIndex(bool is_external, | 784 static Address ElementAddressForRegIndex(bool is_external, |
785 intptr_t cid, | 785 intptr_t cid, |
786 intptr_t index_scale, | 786 intptr_t index_scale, |
787 Register array, | 787 Register array, |
788 Register index); | 788 Register index); |
789 | 789 |
| 790 static Address VMTagAddress() { |
| 791 return Address(THR, Thread::vm_tag_offset()); |
| 792 } |
| 793 |
790 /* | 794 /* |
791 * Misc. functionality | 795 * Misc. functionality |
792 */ | 796 */ |
793 void SmiTag(Register reg) { | 797 void SmiTag(Register reg) { |
794 addl(reg, reg); | 798 addl(reg, reg); |
795 } | 799 } |
796 | 800 |
797 void SmiUntag(Register reg) { | 801 void SmiUntag(Register reg) { |
798 sarl(reg, Immediate(kSmiTagSize)); | 802 sarl(reg, Immediate(kSmiTagSize)); |
799 } | 803 } |
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1061 } | 1065 } |
1062 | 1066 |
1063 | 1067 |
1064 inline void Assembler::EmitOperandSizeOverride() { | 1068 inline void Assembler::EmitOperandSizeOverride() { |
1065 EmitUint8(0x66); | 1069 EmitUint8(0x66); |
1066 } | 1070 } |
1067 | 1071 |
1068 } // namespace dart | 1072 } // namespace dart |
1069 | 1073 |
1070 #endif // VM_ASSEMBLER_IA32_H_ | 1074 #endif // VM_ASSEMBLER_IA32_H_ |
OLD | NEW |