summaryrefslogtreecommitdiff
path: root/src/vm/jitinterface.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/vm/jitinterface.h')
-rw-r--r--src/vm/jitinterface.h24
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