summaryrefslogtreecommitdiff
path: root/src/vm/codeversion.h
diff options
context:
space:
mode:
authorDavid Mason <davmason@microsoft.com>2019-05-13 21:40:29 -0700
committerGitHub <noreply@github.com>2019-05-13 21:40:29 -0700
commit1fc8b490bc086cce155f374db2805f2ed5e4e6c1 (patch)
tree180432500053cab7739b99262dcdb60b36e0c2e1 /src/vm/codeversion.h
parent287d6af711f63149123cb67c5de9ae6684749016 (diff)
downloadcoreclr-1fc8b490bc086cce155f374db2805f2ed5e4e6c1.tar.gz
coreclr-1fc8b490bc086cce155f374db2805f2ed5e4e6c1.tar.bz2
coreclr-1fc8b490bc086cce155f374db2805f2ed5e4e6c1.zip
Profiler API to request ReJIT with inliners (#24461)
This API is necessary for attaching profilers to be able to ReJIT methods and replace everything that uses the old IL.
Diffstat (limited to 'src/vm/codeversion.h')
-rw-r--r--src/vm/codeversion.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/vm/codeversion.h b/src/vm/codeversion.h
index dee4ac312a..84673c6406 100644
--- a/src/vm/codeversion.h
+++ b/src/vm/codeversion.h
@@ -177,11 +177,18 @@ public:
kStateActive = 0x00000002,
kStateMask = 0x0000000F,
+
+ // Indicates that the method being ReJITted is an inliner of the actual
+ // ReJIT request and we should not issue the GetReJITParameters for this
+ // method.
+ kSuppressParams = 0x80000000
};
RejitFlags GetRejitState() const;
+ BOOL GetEnableReJITCallback() const;
#ifndef DACCESS_COMPILE
void SetRejitState(RejitFlags newState);
+ void SetEnableReJITCallback(BOOL state);
#endif
#ifdef DACCESS_COMPILE
@@ -326,12 +333,14 @@ public:
DWORD GetJitFlags() const;
const InstrumentedILOffsetMapping* GetInstrumentedILMap() const;
ILCodeVersion::RejitFlags GetRejitState() const;
+ BOOL GetEnableReJITCallback() const;
PTR_ILCodeVersionNode GetNextILVersionNode() const;
#ifndef DACCESS_COMPILE
void SetIL(COR_ILMETHOD* pIL);
void SetJitFlags(DWORD flags);
void SetInstrumentedILMap(SIZE_T cMap, COR_IL_MAP * rgMap);
void SetRejitState(ILCodeVersion::RejitFlags newState);
+ void SetEnableReJITCallback(BOOL state);
void SetNextILVersionNode(ILCodeVersionNode* pNextVersionNode);
#endif