summaryrefslogtreecommitdiff
path: root/src/vm/codeman.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/vm/codeman.h')
-rw-r--r--src/vm/codeman.h46
1 files changed, 41 insertions, 5 deletions
diff --git a/src/vm/codeman.h b/src/vm/codeman.h
index f143dd642c..0fe261a92f 100644
--- a/src/vm/codeman.h
+++ b/src/vm/codeman.h
@@ -140,6 +140,10 @@ public:
PTR_EE_ILEXCEPTION phdrJitEHInfo;
PTR_BYTE phdrJitGCInfo;
+#if defined(FEATURE_GDBJIT)
+ VOID* pCalledMethods;
+#endif
+
PTR_MethodDesc phdrMDesc;
#ifdef WIN64EXCEPTIONS
@@ -172,6 +176,13 @@ public:
SUPPORTS_DAC;
return phdrMDesc;
}
+#if defined(FEATURE_GDBJIT)
+ PTR_BYTE GetCalledMethods()
+ {
+ SUPPORTS_DAC;
+ return pCalledMethods;
+ }
+#endif
TADDR GetCodeStartAddress()
{
SUPPORTS_DAC;
@@ -205,6 +216,12 @@ public:
{
phdrMDesc = pMD;
}
+#if defined(FEATURE_GDBJIT)
+ void SetCalledMethods(VOID* pCM)
+ {
+ pCalledMethods = pCM;
+ }
+#endif
void SetStubCodeBlockKind(StubCodeBlockKind kind)
{
phdrMDesc = (PTR_MethodDesc)kind;
@@ -248,6 +265,13 @@ public:
SUPPORTS_DAC;
return pRealCodeHeader->phdrMDesc;
}
+#if defined(FEATURE_GDBJIT)
+ VOID* GetCalledMethods()
+ {
+ SUPPORTS_DAC;
+ return pRealCodeHeader->pCalledMethods;
+ }
+#endif
TADDR GetCodeStartAddress()
{
SUPPORTS_DAC;
@@ -286,6 +310,12 @@ public:
{
pRealCodeHeader->phdrMDesc = pMD;
}
+#if defined(FEATURE_GDBJIT)
+ void SetCalledMethods(VOID* pCM)
+ {
+ pRealCodeHeader->pCalledMethods = pCM;
+ }
+#endif
void SetStubCodeBlockKind(StubCodeBlockKind kind)
{
pRealCodeHeader = (PTR_RealCodeHeader)kind;
@@ -1116,17 +1146,17 @@ public:
#endif // !DACCESS_COMPILE
private:
- DWORD m_dwCPUCompileFlags;
+ CORJIT_FLAGS m_CPUCompileFlags;
#if !defined CROSSGEN_COMPILE && !defined DACCESS_COMPILE
void SetCpuInfo();
#endif
public:
- inline DWORD GetCPUCompileFlags()
+ inline CORJIT_FLAGS GetCPUCompileFlags()
{
LIMITED_METHOD_CONTRACT;
- return m_dwCPUCompileFlags;
+ return m_CPUCompileFlags;
}
private :
@@ -1163,10 +1193,16 @@ public:
public:
ICorJitCompiler * m_jit;
HINSTANCE m_JITCompiler;
-#ifdef _TARGET_AMD64_
+#if defined(_TARGET_X86_) || defined(_TARGET_AMD64_)
HINSTANCE m_JITCompilerOther; // Stores the handle of the legacy JIT, if one is loaded.
#endif
+ // TRUE if the legacy/compat JIT was loaded successfully and will be used.
+ // This is available in all builds so if COMPlus_RequireLegacyJit=1 is set in a test,
+ // the test will fail in any build where the legacy JIT is not loaded, even if legacy
+ // fallback is not available in that build. This prevents unexpected silent successes.
+ BOOL m_fLegacyJitUsed;
+
#ifdef ALLOW_SXS_JIT
//put these at the end so that we don't mess up the offsets in the DAC.
ICorJitCompiler * m_alternateJit;
@@ -1801,7 +1837,7 @@ public:
ULONG GetFixedStackSize()
{
WRAPPER_NO_CONTRACT;
- return GetCodeManager()->GetFrameSize(GetGCInfo());
+ return GetCodeManager()->GetFrameSize(GetGCInfoToken());
}
#endif // WIN64EXCEPTIONS