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 853 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
864 // entrypoint: | 864 // entrypoint: |
865 // pushl ebp (size is 1 byte) | 865 // pushl ebp (size is 1 byte) |
866 // movl ebp, esp (size is 2 bytes) | 866 // movl ebp, esp (size is 2 bytes) |
867 // call L (size is 5 bytes) | 867 // call L (size is 5 bytes) |
868 // L: | 868 // L: |
869 static const intptr_t kEntryPointToPcMarkerOffset = 8; | 869 static const intptr_t kEntryPointToPcMarkerOffset = 8; |
870 static intptr_t EntryPointToPcMarkerOffset() { | 870 static intptr_t EntryPointToPcMarkerOffset() { |
871 return kEntryPointToPcMarkerOffset; | 871 return kEntryPointToPcMarkerOffset; |
872 } | 872 } |
873 | 873 |
| 874 // If allocation tracing for |cid| is enabled, will jump to |trace| label, |
| 875 // which will allocate in the runtime where tracing occurs. |
| 876 void MaybeTraceAllocation(intptr_t cid, |
| 877 Register temp_reg, |
| 878 Label* trace, |
| 879 bool near_jump); |
| 880 |
874 void UpdateAllocationStats(intptr_t cid, | 881 void UpdateAllocationStats(intptr_t cid, |
875 Register temp_reg, | 882 Register temp_reg, |
876 Heap::Space space); | 883 Heap::Space space); |
877 | 884 |
878 void UpdateAllocationStatsWithSize(intptr_t cid, | 885 void UpdateAllocationStatsWithSize(intptr_t cid, |
879 Register size_reg, | 886 Register size_reg, |
880 Register temp_reg, | 887 Register temp_reg, |
881 Heap::Space space); | 888 Heap::Space space); |
882 void UpdateAllocationStatsWithSize(intptr_t cid, | 889 void UpdateAllocationStatsWithSize(intptr_t cid, |
883 intptr_t instance_size, | 890 intptr_t instance_size, |
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1031 } | 1038 } |
1032 | 1039 |
1033 | 1040 |
1034 inline void Assembler::EmitOperandSizeOverride() { | 1041 inline void Assembler::EmitOperandSizeOverride() { |
1035 EmitUint8(0x66); | 1042 EmitUint8(0x66); |
1036 } | 1043 } |
1037 | 1044 |
1038 } // namespace dart | 1045 } // namespace dart |
1039 | 1046 |
1040 #endif // VM_ASSEMBLER_IA32_H_ | 1047 #endif // VM_ASSEMBLER_IA32_H_ |
OLD | NEW |