| 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 874 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 885 static const intptr_t kEntryPointToPcMarkerOffset = 8; | 885 static const intptr_t kEntryPointToPcMarkerOffset = 8; |
| 886 static intptr_t EntryPointToPcMarkerOffset() { | 886 static intptr_t EntryPointToPcMarkerOffset() { |
| 887 return kEntryPointToPcMarkerOffset; | 887 return kEntryPointToPcMarkerOffset; |
| 888 } | 888 } |
| 889 | 889 |
| 890 // If allocation tracing for |cid| is enabled, will jump to |trace| label, | 890 // If allocation tracing for |cid| is enabled, will jump to |trace| label, |
| 891 // which will allocate in the runtime where tracing occurs. | 891 // which will allocate in the runtime where tracing occurs. |
| 892 void MaybeTraceAllocation(intptr_t cid, | 892 void MaybeTraceAllocation(intptr_t cid, |
| 893 Register temp_reg, | 893 Register temp_reg, |
| 894 Label* trace, | 894 Label* trace, |
| 895 bool near_jump, | 895 bool near_jump); |
| 896 bool inline_isolate = true); | |
| 897 | 896 |
| 898 void UpdateAllocationStats(intptr_t cid, | 897 void UpdateAllocationStats(intptr_t cid, |
| 899 Register temp_reg, | 898 Register temp_reg, |
| 900 Heap::Space space, | 899 Heap::Space space); |
| 901 bool inline_isolate = true); | |
| 902 | 900 |
| 903 void UpdateAllocationStatsWithSize(intptr_t cid, | 901 void UpdateAllocationStatsWithSize(intptr_t cid, |
| 904 Register size_reg, | 902 Register size_reg, |
| 905 Register temp_reg, | 903 Register temp_reg, |
| 906 Heap::Space space, | 904 Heap::Space space); |
| 907 bool inline_isolate = true); | |
| 908 void UpdateAllocationStatsWithSize(intptr_t cid, | 905 void UpdateAllocationStatsWithSize(intptr_t cid, |
| 909 intptr_t instance_size, | 906 intptr_t instance_size, |
| 910 Register temp_reg, | 907 Register temp_reg, |
| 911 Heap::Space space, | 908 Heap::Space space); |
| 912 bool inline_isolate = true); | |
| 913 | 909 |
| 914 // Inlined allocation of an instance of class 'cls', code has no runtime | 910 // Inlined allocation of an instance of class 'cls', code has no runtime |
| 915 // calls. Jump to 'failure' if the instance cannot be allocated here. | 911 // calls. Jump to 'failure' if the instance cannot be allocated here. |
| 916 // Allocated instance is returned in 'instance_reg'. | 912 // Allocated instance is returned in 'instance_reg'. |
| 917 // Only the tags field of the object is initialized. | 913 // Only the tags field of the object is initialized. |
| 918 void TryAllocate(const Class& cls, | 914 void TryAllocate(const Class& cls, |
| 919 Label* failure, | 915 Label* failure, |
| 920 bool near_jump, | 916 bool near_jump, |
| 921 Register instance_reg, | 917 Register instance_reg, |
| 922 Register temp_reg); | 918 Register temp_reg); |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1066 } | 1062 } |
| 1067 | 1063 |
| 1068 | 1064 |
| 1069 inline void Assembler::EmitOperandSizeOverride() { | 1065 inline void Assembler::EmitOperandSizeOverride() { |
| 1070 EmitUint8(0x66); | 1066 EmitUint8(0x66); |
| 1071 } | 1067 } |
| 1072 | 1068 |
| 1073 } // namespace dart | 1069 } // namespace dart |
| 1074 | 1070 |
| 1075 #endif // VM_ASSEMBLER_IA32_H_ | 1071 #endif // VM_ASSEMBLER_IA32_H_ |
| OLD | NEW |