@@ -69,10 +69,6 @@ Module Name:
6969#include " gcinfo.h"
7070#include " eexcp.h"
7171
72- #if defined(FEATURE_EH_FUNCLETS) && !defined(USE_INDIRECT_CODEHEADER)
73- #error "FEATURE_EH_FUNCLETS requires USE_INDIRECT_CODEHEADER"
74- #endif // FEATURE_EH_FUNCLETS && !USE_INDIRECT_CODEHEADER
75-
7672class MethodDesc ;
7773class ICorJitCompiler ;
7874class IJitManager ;
@@ -125,20 +121,10 @@ enum StubCodeBlockKind : int
125121// Today CodeHeader is used by the EEJitManager.
126122// The GCInfo version is always current GCINFO_VERSION in this header.
127123
128- #ifdef USE_INDIRECT_CODEHEADER
129124typedef DPTR (struct _hpRealCodeHdr ) PTR_RealCodeHeader;
130125typedef DPTR (struct _hpCodeHdr ) PTR_CodeHeader;
131126
132- #else // USE_INDIRECT_CODEHEADER
133- typedef DPTR (struct _hpCodeHdr ) PTR_CodeHeader;
134-
135- #endif // USE_INDIRECT_CODEHEADER
136-
137- #ifdef USE_INDIRECT_CODEHEADER
138127typedef struct _hpRealCodeHdr
139- #else // USE_INDIRECT_CODEHEADER
140- typedef struct _hpCodeHdr
141- #endif // USE_INDIRECT_CODEHEADER
142128{
143129public:
144130 PTR_BYTE phdrDebugInfo;
@@ -160,95 +146,9 @@ typedef struct _hpCodeHdr
160146#endif // FEATURE_EH_FUNCLETS
161147
162148public:
163- #ifndef USE_INDIRECT_CODEHEADER
164- //
165- // Note: that the JITted code follows immediately after the MethodDesc*
166- //
167- PTR_BYTE GetDebugInfo ()
168- {
169- SUPPORTS_DAC;
170-
171- return phdrDebugInfo;
172- }
173- PTR_EE_ILEXCEPTION GetEHInfo ()
174- {
175- return phdrJitEHInfo;
176- }
177- PTR_BYTE GetGCInfo ()
178- {
179- SUPPORTS_DAC;
180- return phdrJitGCInfo;
181- }
182- PTR_MethodDesc GetMethodDesc ()
183- {
184- SUPPORTS_DAC;
185- return phdrMDesc;
186- }
187- #if defined(FEATURE_GDBJIT)
188- VOID* GetCalledMethods ()
189- {
190- SUPPORTS_DAC;
191- return pCalledMethods;
192- }
193- #endif
194- TADDR GetCodeStartAddress ()
195- {
196- SUPPORTS_DAC;
197- return dac_cast<TADDR>(dac_cast<PTR_CodeHeader>(this ) + 1 );
198- }
199- StubCodeBlockKind GetStubCodeBlockKind ()
200- {
201- SUPPORTS_DAC;
202- return (StubCodeBlockKind)dac_cast<TADDR>(phdrMDesc);
203- }
204- BOOL IsStubCodeBlock ()
205- {
206- SUPPORTS_DAC;
207- // Note that it is important for this comparison to be unsigned
208- return dac_cast<TADDR>(phdrMDesc) <= (TADDR)STUB_CODE_BLOCK_LAST;
209- }
210-
211- void SetDebugInfo (PTR_BYTE pDI)
212- {
213- phdrDebugInfo = pDI;
214- }
215- void SetEHInfo (PTR_EE_ILEXCEPTION pEH)
216- {
217- phdrJitEHInfo = pEH;
218- }
219- void SetGCInfo (PTR_BYTE pGC)
220- {
221- phdrJitGCInfo = pGC;
222- }
223- void SetMethodDesc (PTR_MethodDesc pMD)
224- {
225- phdrMDesc = pMD;
226- }
227- #if defined(FEATURE_GDBJIT)
228- void SetCalledMethods (VOID* pCM)
229- {
230- pCalledMethods = pCM;
231- }
232- #endif
233- void SetStubCodeBlockKind (StubCodeBlockKind kind)
234- {
235- phdrMDesc = (PTR_MethodDesc)kind;
236- }
237- #endif // !USE_INDIRECT_CODEHEADER
238-
239149// if we're using the indirect codeheaders then all enumeration is done by the code header
240- #ifndef USE_INDIRECT_CODEHEADER
241- #ifdef DACCESS_COMPILE
242- void EnumMemoryRegions (CLRDataEnumMemoryFlags flags, IJitManager* pJitMan);
243- #endif // DACCESS_COMPILE
244- #endif // USE_INDIRECT_CODEHEADER
245- #ifdef USE_INDIRECT_CODEHEADER
246150} RealCodeHeader;
247- #else // USE_INDIRECT_CODEHEADER
248- } CodeHeader;
249- #endif // USE_INDIRECT_CODEHEADER
250151
251- #ifdef USE_INDIRECT_CODEHEADER
252152typedef struct _hpCodeHdr
253153{
254154 PTR_RealCodeHeader pRealCodeHeader;
@@ -355,7 +255,6 @@ typedef struct _hpCodeHdr
355255#endif // DACCESS_COMPILE
356256
357257} CodeHeader;
358- #endif // USE_INDIRECT_CODEHEADER
359258
360259
361260// -----------------------------------------------------------------------------
@@ -1871,9 +1770,7 @@ class EEJitManager : public IJitManager
18711770
18721771 void allocCode (MethodDesc* pFD, size_t blockSize, size_t reserveForJumpStubs, CorJitAllocMemFlag flag, CodeHeader** ppCodeHeader, CodeHeader** ppCodeHeaderRW,
18731772 size_t * pAllocatedSize, HeapList** ppCodeHeap
1874- #ifdef USE_INDIRECT_CODEHEADER
18751773 , BYTE** ppRealHeader
1876- #endif
18771774#ifdef FEATURE_EH_FUNCLETS
18781775 , UINT nUnwindInfos
18791776#endif
0 commit comments