diff options
Diffstat (limited to 'src/vm/jitinterface.h')
-rw-r--r-- | src/vm/jitinterface.h | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/src/vm/jitinterface.h b/src/vm/jitinterface.h index 03983f2d3e..ee13b9cec6 100644 --- a/src/vm/jitinterface.h +++ b/src/vm/jitinterface.h @@ -28,6 +28,9 @@ class FieldDesc; enum RuntimeExceptionKind; class AwareLock; class PtrArray; +#if defined(FEATURE_GDBJIT) +class CalledMethod; +#endif #include "genericdict.h" @@ -51,7 +54,7 @@ void InitJITHelpers1(); void InitJITHelpers2(); PCODE UnsafeJitFunction(MethodDesc* ftn, COR_ILMETHOD_DECODER* header, - DWORD flags, DWORD flags2, ULONG* sizeOfCode = NULL); + CORJIT_FLAGS flags, ULONG* sizeOfCode = NULL); void getMethodInfoHelper(MethodDesc * ftn, CORINFO_METHOD_HANDLE ftnHnd, @@ -644,7 +647,7 @@ public: ); // Returns that compilation flags that are shared between JIT and NGen - static DWORD GetBaseCompileFlags(MethodDesc * ftn); + static CORJIT_FLAGS GetBaseCompileFlags(MethodDesc * ftn); // Resolve metadata token into runtime method handles. void resolveToken(/* IN, OUT */ CORINFO_RESOLVED_TOKEN * pResolvedToken); @@ -1090,6 +1093,9 @@ public: m_pThread(GetThread()), m_hMethodForSecurity_Key(NULL), m_pMethodForSecurity_Value(NULL) +#if defined(FEATURE_GDBJIT) + , m_pCalledMethods(NULL) +#endif { LIMITED_METHOD_CONTRACT; } @@ -1151,6 +1157,10 @@ public: MethodDesc * pTemplateMD /* for method-based slots */, CORINFO_LOOKUP *pResultLookup); +#if defined(FEATURE_GDBJIT) + CalledMethod * GetCalledMethods() { return m_pCalledMethods; } +#endif + protected: // NGen provides its own modifications to EE-JIT interface. From technical reason it cannot simply inherit // from code:CEEInfo class (because it has dependencies on VM that NGen does not want). @@ -1174,6 +1184,10 @@ protected: CORINFO_METHOD_HANDLE m_hMethodForSecurity_Key; MethodDesc * m_pMethodForSecurity_Value; +#if defined(FEATURE_GDBJIT) + CalledMethod * m_pCalledMethods; +#endif + // Tracking of module activation dependencies. We have two flavors: // - Fast one that gathers generic arguments from EE handles, but does not work inside generic context. // - Slow one that operates on typespec and methodspecs from metadata. @@ -1641,7 +1655,7 @@ struct VirtualFunctionPointerArgs FCDECL2(CORINFO_MethodPtr, JIT_VirtualFunctionPointer_Dynamic, Object * objectUNSAFE, VirtualFunctionPointerArgs * pArgs); -typedef TADDR (F_CALL_CONV * FnStaticBaseHelper)(TADDR arg0, TADDR arg1); +typedef HCCALL2_PTR(TADDR, FnStaticBaseHelper, TADDR arg0, TADDR arg1); struct StaticFieldAddressArgs { @@ -1677,8 +1691,8 @@ public: static FCDECL3(void, UnsafeSetArrayElement, PtrArray* pPtrArray, INT32 index, Object* object); }; -DWORD GetDebuggerCompileFlags(Module* pModule, DWORD flags); +CORJIT_FLAGS GetDebuggerCompileFlags(Module* pModule, CORJIT_FLAGS flags); -bool TrackAllocationsEnabled(); +bool __stdcall TrackAllocationsEnabled(); #endif // JITINTERFACE_H |