summaryrefslogtreecommitdiff
path: root/src/jit/utils.cpp
diff options
context:
space:
mode:
authorJan Kotas <jkotas@microsoft.com>2016-03-05 19:15:10 -0800
committerJan Kotas <jkotas@microsoft.com>2016-03-05 19:15:10 -0800
commit8e069ce739232b43085e530556bf6b02832d8b5b (patch)
tree1246187282fac29596144ef2278fe02e9536ebf8 /src/jit/utils.cpp
parentc89bf3f87b0d8df4865bd9b50ad8ef14c2655d39 (diff)
parent669bd80064f26cd0b4ded9404899e23f512a7e33 (diff)
downloadcoreclr-8e069ce739232b43085e530556bf6b02832d8b5b.tar.gz
coreclr-8e069ce739232b43085e530556bf6b02832d8b5b.tar.bz2
coreclr-8e069ce739232b43085e530556bf6b02832d8b5b.zip
Merge pull request #3470 from erozenfeld/ValueNumbersForR2RHelpers
Improvements for ReadyToRun helpers in JIT value numbering.
Diffstat (limited to 'src/jit/utils.cpp')
-rw-r--r--src/jit/utils.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/jit/utils.cpp b/src/jit/utils.cpp
index ce5b149f5d..2688a0111e 100644
--- a/src/jit/utils.cpp
+++ b/src/jit/utils.cpp
@@ -1177,6 +1177,7 @@ void HelperCallProperties::init()
case CORINFO_HELP_NEW_CROSSCONTEXT:
case CORINFO_HELP_NEWFAST:
+ case CORINFO_HELP_READYTORUN_NEW:
mayFinalize = true; // These may run a finalizer
isAllocator = true;
@@ -1198,7 +1199,7 @@ void HelperCallProperties::init()
case CORINFO_HELP_NEW_MDARR:
case CORINFO_HELP_NEWARR_1_DIRECT:
case CORINFO_HELP_NEWARR_1_OBJ:
-
+ case CORINFO_HELP_READYTORUN_NEWARR_1:
mayFinalize = true; // These may run a finalizer
isAllocator = true;
@@ -1246,7 +1247,8 @@ void HelperCallProperties::init()
case CORINFO_HELP_ISINSTANCEOFARRAY:
case CORINFO_HELP_ISINSTANCEOFCLASS:
case CORINFO_HELP_ISINSTANCEOFANY:
-
+ case CORINFO_HELP_READYTORUN_ISINSTANCEOF:
+
isPure = true;
noThrow = true; // These return null for a failing cast
break;
@@ -1257,7 +1259,8 @@ void HelperCallProperties::init()
case CORINFO_HELP_CHKCASTCLASS:
case CORINFO_HELP_CHKCASTANY:
case CORINFO_HELP_CHKCASTCLASS_SPECIAL:
-
+ case CORINFO_HELP_READYTORUN_CHKCAST:
+
// These throw for a failing cast
// But if given a null input arg will return null
isPure = true;
@@ -1297,6 +1300,7 @@ void HelperCallProperties::init()
case CORINFO_HELP_GETSTATICFIELDADDR_TLS:
case CORINFO_HELP_GETGENERICS_GCSTATIC_BASE:
case CORINFO_HELP_GETGENERICS_NONGCSTATIC_BASE:
+ case CORINFO_HELP_READYTORUN_STATIC_BASE:
// These may invoke static class constructors
// These can throw InvalidProgram exception if the class can not be constructed