projects
/
mono.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[runtime] Add a few mono mono_class_is_... accessors. (#3891)
[mono.git]
/
mono
/
mini
/
exceptions-mips.c
diff --git
a/mono/mini/exceptions-mips.c
b/mono/mini/exceptions-mips.c
index f8d9dedff2ce60e3e223f4189b57c5452a456c4d..f39ff46977a8ce5d25c8ed7e89c2b16dde67b163 100644
(file)
--- a/
mono/mini/exceptions-mips.c
+++ b/
mono/mini/exceptions-mips.c
@@
-176,6
+176,7
@@
mono_arch_get_call_filter (MonoTrampInfo **info, gboolean aot)
static void
throw_exception (MonoObject *exc, unsigned long eip, unsigned long esp, gboolean rethrow)
{
static void
throw_exception (MonoObject *exc, unsigned long eip, unsigned long esp, gboolean rethrow)
{
+ MonoError error;
MonoContext ctx;
#ifdef DEBUG_EXCEPTIONS
MonoContext ctx;
#ifdef DEBUG_EXCEPTIONS
@@
-194,13
+195,14
@@
throw_exception (MonoObject *exc, unsigned long eip, unsigned long esp, gboolean
memset (&ctx.sc_fpregs, 0, sizeof (mips_freg) * MONO_SAVED_FREGS);
MONO_CONTEXT_SET_IP (&ctx, eip);
memset (&ctx.sc_fpregs, 0, sizeof (mips_freg) * MONO_SAVED_FREGS);
MONO_CONTEXT_SET_IP (&ctx, eip);
- if (mono_object_isinst
(exc, mono_defaults.exception_class
)) {
+ if (mono_object_isinst
_checked (exc, mono_defaults.exception_class, &error
)) {
MonoException *mono_ex = (MonoException*)exc;
if (!rethrow) {
mono_ex->stack_trace = NULL;
mono_ex->trace_ips = NULL;
}
}
MonoException *mono_ex = (MonoException*)exc;
if (!rethrow) {
mono_ex->stack_trace = NULL;
mono_ex->trace_ips = NULL;
}
}
+ mono_error_assert_ok (&error);
mono_handle_exception (&ctx, exc);
#ifdef DEBUG_EXCEPTIONS
g_print ("throw_exception: restore to pc=%p sp=%p fp=%p ctx=%p\n",
mono_handle_exception (&ctx, exc);
#ifdef DEBUG_EXCEPTIONS
g_print ("throw_exception: restore to pc=%p sp=%p fp=%p ctx=%p\n",