summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authornoahfalk <noahfalk@microsoft.com>2017-09-14 19:46:07 -0700
committernoahfalk <noahfalk@microsoft.com>2017-09-14 19:46:07 -0700
commit613cd2b251ea86d1091c0e239173d3f4f595e8a5 (patch)
treeb918dd8dad54d5603f90dbbbcf2d2992e13776c8 /src
parentf3dfbf546396db24f5fbc690213e89beaebd5f35 (diff)
downloadcoreclr-613cd2b251ea86d1091c0e239173d3f4f595e8a5.tar.gz
coreclr-613cd2b251ea86d1091c0e239173d3f4f595e8a5.tar.bz2
coreclr-613cd2b251ea86d1091c0e239173d3f4f595e8a5.zip
Disable tiered compilation for dynamic methods
Fixing an oversight from earlier, tiered compilation isn't designed to handle dynamic methods yet because of their limited lifetime. There may be other issues but a basic one would be having the method get collected while its MethodDesc is in the tiered compilation queue which results in use after free memory issues.
Diffstat (limited to 'src')
-rw-r--r--src/vm/method.hpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/vm/method.hpp b/src/vm/method.hpp
index 671fd82b7f..1d81321195 100644
--- a/src/vm/method.hpp
+++ b/src/vm/method.hpp
@@ -1244,7 +1244,8 @@ public:
!IsEnCMethod() &&
HasNativeCodeSlot() &&
!IsUnboxingStub() &&
- !IsInstantiatingStub();
+ !IsInstantiatingStub() &&
+ !IsDynamicMethod();
// We should add an exclusion for modules with debuggable code gen flags