diff options
author | Eugene Rozenfeld <erozen@microsoft.com> | 2018-12-16 12:07:42 -0800 |
---|---|---|
committer | Eugene Rozenfeld <erozen@microsoft.com> | 2018-12-21 22:38:52 -0800 |
commit | eea057675de7914af12c6168db0f3bebea35be5b (patch) | |
tree | 7b3134b62a2707e32fbf00d4c0138a39099d3a75 /src/ToolBox/superpmi/superpmi-shared/methodcontext.h | |
parent | 0a1374f4f7c2141bf6d8ad74a68dd329afdbee78 (diff) | |
download | coreclr-eea057675de7914af12c6168db0f3bebea35be5b.tar.gz coreclr-eea057675de7914af12c6168db0f3bebea35be5b.tar.bz2 coreclr-eea057675de7914af12c6168db0f3bebea35be5b.zip |
Improve removal of dead calls to allocator helpers.
This change improves detection of allocators with side effects.
Allocators can cause side effects if the allocated object may have a finalizer.
This change adds a pHasSideEffects parameter to getNewHelper JitEE interface
method. It's used by the jit to check for allocator side effects instead of
guessing from helper ids.
Fixes #21530.
Diffstat (limited to 'src/ToolBox/superpmi/superpmi-shared/methodcontext.h')
-rw-r--r-- | src/ToolBox/superpmi/superpmi-shared/methodcontext.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/ToolBox/superpmi/superpmi-shared/methodcontext.h b/src/ToolBox/superpmi/superpmi-shared/methodcontext.h index 115cd4182d..7e20c2bc1a 100644 --- a/src/ToolBox/superpmi/superpmi-shared/methodcontext.h +++ b/src/ToolBox/superpmi/superpmi-shared/methodcontext.h @@ -878,9 +878,10 @@ public: void recGetNewHelper(CORINFO_RESOLVED_TOKEN* pResolvedToken, CORINFO_METHOD_HANDLE callerHandle, + bool* pHasSideEffects, CorInfoHelpFunc result); - void dmpGetNewHelper(const Agnostic_GetNewHelper& key, DWORD value); - CorInfoHelpFunc repGetNewHelper(CORINFO_RESOLVED_TOKEN* pResolvedToken, CORINFO_METHOD_HANDLE callerHandle); + void dmpGetNewHelper(const Agnostic_GetNewHelper& key, DD value); + CorInfoHelpFunc repGetNewHelper(CORINFO_RESOLVED_TOKEN* pResolvedToken, CORINFO_METHOD_HANDLE callerHandle, bool * pHasSideEffects); void recEmbedGenericHandle(CORINFO_RESOLVED_TOKEN* pResolvedToken, BOOL fEmbedParent, |