JIT: Fix bug in finally cloning caused by unsound callfinally reordering
[platform/upstream/coreclr.git] / src / zap / zapnodetype.h
1 // Licensed to the .NET Foundation under one or more agreements.
2 // The .NET Foundation licenses this file to you under the MIT license.
3 // See the LICENSE file in the project root for more information.
4 //
5 // ZapNoteType.h
6 //
7
8 //
9 // Enum for ZapNode types
10 // 
11 // ======================================================================================
12
13 #ifndef __ZAPNODETYPE_H__
14 #define __ZAPNODETYPE_H__
15
16 enum ZapNodeType {
17
18 // System types
19
20     ZapNodeType_Unknown,
21
22     ZapNodeType_PhysicalSection,
23     ZapNodeType_VirtualSection,
24     ZapNodeType_Blob,
25     ZapNodeType_InnerPtr,
26
27     ZapNodeType_Relocs,
28
29 // Headers
30
31     ZapNodeType_CorHeader,
32     ZapNodeType_NativeHeader,
33     ZapNodeType_VersionInfo,
34     ZapNodeType_Dependencies,
35     ZapNodeType_CodeManagerEntry,
36     ZapNodeType_MetaData,
37     ZapNodeType_DebugDirectory,
38     ZapNodeType_VersionResource,
39
40 // PlaceHolders
41
42     ZapNodeType_MethodEntryPoint,
43     ZapNodeType_ClassHandle,
44     ZapNodeType_MethodHandle,
45     ZapNodeType_FieldHandle,
46     ZapNodeType_AddrOfPInvokeFixup,
47     ZapNodeType_GenericHandle,
48     ZapNodeType_ModuleIDHandle,
49
50 // Code references
51
52     ZapNodeType_MethodHeader,
53     ZapNodeType_CodeManagerMap,
54     ZapNodeType_UnwindInfo,
55     ZapNodeType_UnwindData,
56     ZapNodeType_UnwindDataAndGCInfo,
57     ZapNodeType_FilterFuncletUnwindData,
58
59     ZapNodeType_ProfileData,
60     ZapNodeType_VirtualSectionsTable,
61
62     ZapNodeType_DebugInfoTable,
63     ZapNodeType_DebugInfoLabelledEntry,
64
65     ZapNodeType_HelperThunk,
66     ZapNodeType_LazyHelperThunk,
67     ZapNodeType_IndirectHelperThunk,
68
69     ZapNodeType_ExceptionInfoTable,
70     ZapNodeType_UnwindInfoLookupTable,
71     ZapNodeType_ColdCodeMap,
72
73 // Wrappers
74
75     ZapNodeType_Stub,
76
77 // Imports
78
79     ZapNodeType_ExternalMethodThunk,
80     ZapNodeType_VirtualMethodThunk,
81
82     ZapNodeType_ExternalMethodCell,
83     ZapNodeType_StubDispatchCell,
84     ZapNodeType_DynamicHelperCell,
85
86     ZapNodeType_Import_FunctionEntry,
87     ZapNodeType_Import_ModuleHandle,
88     ZapNodeType_Import_ClassHandle,
89     ZapNodeType_Import_MethodHandle,
90     ZapNodeType_Import_FieldHandle,
91     ZapNodeType_Import_IndirectPInvokeTarget,
92     ZapNodeType_Import_StringHandle,
93     ZapNodeType_Import_StaticFieldAddress,
94     ZapNodeType_Import_ClassDomainId,
95     ZapNodeType_Import_ModuleDomainId,
96     ZapNodeType_Import_SyncLock,
97     ZapNodeType_Import_ProfilingHandle,
98     ZapNodeType_Import_VarArg,
99     ZapNodeType_Import_ActiveDependency,
100     ZapNodeType_Import_Helper,
101
102     ZapNodeType_GenericSignature,
103
104     ZapNodeType_ImportTable,
105
106     ZapNodeType_ImportSectionsTable,
107     ZapNodeType_ImportSectionSignatures,
108
109     ZapNodeType_GCRefMapTable,
110
111     ZapNodeType_RVAFieldData,
112     ZapNodeType_EntryPointsTable,
113
114     ZapNodeType_StoredStructure,            // The ZapNodeTypes of the legacy stored structures start here
115 };
116
117 #endif // __ZAPNODETYPE_H__