Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dotnet/runtime.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTanner Gooding <tagoo@outlook.com>2021-04-14 06:03:45 +0300
committerGitHub <noreply@github.com>2021-04-14 06:03:45 +0300
commitf24879fb522ae31abd515e71ba2b24ce146c5dbc (patch)
tree8da0295db3407943cb2fc0319970d3f5419ab228 /src/coreclr/inc
parentb886e4db6b78548cd97371009b8e278274c44449 (diff)
Expose an eeIsJitIntrinsic method for quickly determining if a method handle represents an intrinsic method (#51124)
* Updating the JIT/EE interface to expose `isJitIntrinsic` * Update JITEEVersionIdentifier * Update fgFindJumpTargets to use the much cheaper `eeIsJitIntrinsic` * Ensure IsJitIntrinsic exists in the LightWeightMap and fix a copy/paste error * Run ThunkGenerator * Don't resolve tokens for CEE_CONSTRAINED when making inlining observations
Diffstat (limited to 'src/coreclr/inc')
-rw-r--r--src/coreclr/inc/corinfo.h3
-rw-r--r--src/coreclr/inc/icorjitinfoimpl_generated.h3
-rw-r--r--src/coreclr/inc/jiteeversionguid.h10
3 files changed, 11 insertions, 5 deletions
diff --git a/src/coreclr/inc/corinfo.h b/src/coreclr/inc/corinfo.h
index c971d807a80..f62759467de 100644
--- a/src/coreclr/inc/corinfo.h
+++ b/src/coreclr/inc/corinfo.h
@@ -1953,6 +1953,9 @@ public:
//
/**********************************************************************************/
+ // Quick check whether the method is a jit intrinsic. Returns the same value as getMethodAttribs(ftn) & CORINFO_FLG_JIT_INTRINSIC, except faster.
+ virtual bool isJitIntrinsic(CORINFO_METHOD_HANDLE ftn) = 0;
+
// return flags (a bitfield of CorInfoFlags values)
virtual uint32_t getMethodAttribs (
CORINFO_METHOD_HANDLE ftn /* IN */
diff --git a/src/coreclr/inc/icorjitinfoimpl_generated.h b/src/coreclr/inc/icorjitinfoimpl_generated.h
index beb71ca0d3f..922a854795e 100644
--- a/src/coreclr/inc/icorjitinfoimpl_generated.h
+++ b/src/coreclr/inc/icorjitinfoimpl_generated.h
@@ -21,6 +21,9 @@
public:
+bool isJitIntrinsic(
+ CORINFO_METHOD_HANDLE ftn) override;
+
uint32_t getMethodAttribs(
CORINFO_METHOD_HANDLE ftn) override;
diff --git a/src/coreclr/inc/jiteeversionguid.h b/src/coreclr/inc/jiteeversionguid.h
index 5e6a2ef9899..f76ceb70b11 100644
--- a/src/coreclr/inc/jiteeversionguid.h
+++ b/src/coreclr/inc/jiteeversionguid.h
@@ -43,11 +43,11 @@ typedef const GUID *LPCGUID;
#define GUID_DEFINED
#endif // !GUID_DEFINED
-constexpr GUID JITEEVersionIdentifier = { /* 1776ab48-edfa-49be-a11f-ec216b28174c */
- 0x1776ab48,
- 0xedfa,
- 0x49be,
- {0xa1, 0x1f, 0xec, 0x21, 0x6b, 0x28, 0x17, 0x4c}
+constexpr GUID JITEEVersionIdentifier = { /* a33f2f79-dd8d-49dd-b4c3-ac86f34f6a87 */
+ 0xa33f2f79,
+ 0xdd8d,
+ 0x49dd,
+ {0xb4, 0xc3, 0xac, 0x86, 0xf3, 0x4f, 0x6a, 0x87}
};
//////////////////////////////////////////////////////////////////////////////////////////////////////////