diff options
author | Jan Kotas <jkotas@microsoft.com> | 2016-03-05 19:15:10 -0800 |
---|---|---|
committer | Jan Kotas <jkotas@microsoft.com> | 2016-03-05 19:15:10 -0800 |
commit | 8e069ce739232b43085e530556bf6b02832d8b5b (patch) | |
tree | 1246187282fac29596144ef2278fe02e9536ebf8 /src/jit/utils.cpp | |
parent | c89bf3f87b0d8df4865bd9b50ad8ef14c2655d39 (diff) | |
parent | 669bd80064f26cd0b4ded9404899e23f512a7e33 (diff) | |
download | coreclr-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.cpp | 10 |
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 |