summaryrefslogtreecommitdiff
path: root/src/jit/utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/jit/utils.cpp')
-rw-r--r--src/jit/utils.cpp29
1 files changed, 27 insertions, 2 deletions
diff --git a/src/jit/utils.cpp b/src/jit/utils.cpp
index b3939cb0db..ffc9a753bf 100644
--- a/src/jit/utils.cpp
+++ b/src/jit/utils.cpp
@@ -1258,6 +1258,8 @@ void HelperCallProperties::init()
// This (or these) are not pure, in that they have "VM side effects"...but they don't mutate the heap.
case CORINFO_HELP_ENDCATCH:
+
+ noThrow = true;
break;
// Arithmetic helpers that may throw
@@ -1393,11 +1395,11 @@ void HelperCallProperties::init()
break;
// helpers that return internal handle
- // TODO-ARM64-Bug?: Can these throw or not?
case CORINFO_HELP_GETCLASSFROMMETHODPARAM:
case CORINFO_HELP_GETSYNCFROMCLASSHANDLE:
- isPure = true;
+ isPure = true;
+ noThrow = true;
break;
// Helpers that load the base address for static variables.
@@ -1472,6 +1474,8 @@ void HelperCallProperties::init()
case CORINFO_HELP_THROWNULLREF:
case CORINFO_HELP_THROW:
case CORINFO_HELP_RETHROW:
+ case CORINFO_HELP_THROW_ARGUMENTEXCEPTION:
+ case CORINFO_HELP_THROW_ARGUMENTOUTOFRANGEEXCEPTION:
break;
@@ -1480,6 +1484,7 @@ void HelperCallProperties::init()
case CORINFO_HELP_FIELD_ACCESS_CHECK:
case CORINFO_HELP_CLASS_ACCESS_CHECK:
case CORINFO_HELP_DELEGATE_SECURITY_CHECK:
+ case CORINFO_HELP_MON_EXIT_STATIC:
break;
@@ -1489,6 +1494,26 @@ void HelperCallProperties::init()
noThrow = true;
break;
+ case CORINFO_HELP_DBG_IS_JUST_MY_CODE:
+ case CORINFO_HELP_BBT_FCN_ENTER:
+ case CORINFO_HELP_POLL_GC:
+ case CORINFO_HELP_MON_ENTER:
+ case CORINFO_HELP_MON_EXIT:
+ case CORINFO_HELP_MON_ENTER_STATIC:
+ case CORINFO_HELP_JIT_REVERSE_PINVOKE_ENTER:
+ case CORINFO_HELP_JIT_REVERSE_PINVOKE_EXIT:
+ case CORINFO_HELP_SECURITY_PROLOG:
+ case CORINFO_HELP_SECURITY_PROLOG_FRAMED:
+ case CORINFO_HELP_VERIFICATION_RUNTIME_CHECK:
+ case CORINFO_HELP_GETFIELDADDR:
+ case CORINFO_HELP_INIT_PINVOKE_FRAME:
+ case CORINFO_HELP_JIT_PINVOKE_BEGIN:
+ case CORINFO_HELP_JIT_PINVOKE_END:
+ case CORINFO_HELP_GETCURRENTMANAGEDTHREADID:
+
+ noThrow = true;
+ break;
+
// Not sure how to handle optimization involving the rest of these helpers
default: