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 782 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
793 // movl ebp, esp (size is 2 bytes) | 793 // movl ebp, esp (size is 2 bytes) |
794 // call L (size is 5 bytes) | 794 // call L (size is 5 bytes) |
795 // L: | 795 // L: |
796 static const intptr_t kEntryPointToPcMarkerOffset = 8; | 796 static const intptr_t kEntryPointToPcMarkerOffset = 8; |
797 static intptr_t EntryPointToPcMarkerOffset() { | 797 static intptr_t EntryPointToPcMarkerOffset() { |
798 return kEntryPointToPcMarkerOffset; | 798 return kEntryPointToPcMarkerOffset; |
799 } | 799 } |
800 | 800 |
801 void UpdateAllocationStats(intptr_t cid, | 801 void UpdateAllocationStats(intptr_t cid, |
802 Register temp_reg, | 802 Register temp_reg, |
803 Heap::Space space = Heap::kNew); | 803 Heap::Space space); |
804 | 804 |
805 void UpdateAllocationStatsWithSize(intptr_t cid, | 805 void UpdateAllocationStatsWithSize(intptr_t cid, |
806 Register size_reg, | 806 Register size_reg, |
807 Register temp_reg, | 807 Register temp_reg, |
808 Heap::Space space = Heap::kNew); | 808 Heap::Space space); |
809 void UpdateAllocationStatsWithSize(intptr_t cid, | 809 void UpdateAllocationStatsWithSize(intptr_t cid, |
810 intptr_t instance_size, | 810 intptr_t instance_size, |
811 Register temp_reg, | 811 Register temp_reg, |
812 Heap::Space space = Heap::kNew); | 812 Heap::Space space); |
813 | 813 |
814 // Inlined allocation of an instance of class 'cls', code has no runtime | 814 // Inlined allocation of an instance of class 'cls', code has no runtime |
815 // calls. Jump to 'failure' if the instance cannot be allocated here. | 815 // calls. Jump to 'failure' if the instance cannot be allocated here. |
816 // Allocated instance is returned in 'instance_reg'. | 816 // Allocated instance is returned in 'instance_reg'. |
817 // Only the tags field of the object is initialized. | 817 // Only the tags field of the object is initialized. |
818 void TryAllocate(const Class& cls, | 818 void TryAllocate(const Class& cls, |
819 Label* failure, | 819 Label* failure, |
820 bool near_jump, | 820 bool near_jump, |
821 Register instance_reg, | 821 Register instance_reg, |
822 Register temp_reg); | 822 Register temp_reg); |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
946 } | 946 } |
947 | 947 |
948 | 948 |
949 inline void Assembler::EmitOperandSizeOverride() { | 949 inline void Assembler::EmitOperandSizeOverride() { |
950 EmitUint8(0x66); | 950 EmitUint8(0x66); |
951 } | 951 } |
952 | 952 |
953 } // namespace dart | 953 } // namespace dart |
954 | 954 |
955 #endif // VM_ASSEMBLER_IA32_H_ | 955 #endif // VM_ASSEMBLER_IA32_H_ |
OLD | NEW |