projects
/
mono.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[simd] Fix the exception thrown by Vector<T>.CopyTo () on a failed bounds check.
[mono.git]
/
mono
/
mini
/
exceptions-sparc.c
diff --git
a/mono/mini/exceptions-sparc.c
b/mono/mini/exceptions-sparc.c
index b3b5633597644d39ff345274d0fc4f2749b21d66..77510a7f934de0d832dd20fca39c687f19c4d1de 100644
(file)
--- a/
mono/mini/exceptions-sparc.c
+++ b/
mono/mini/exceptions-sparc.c
@@
-21,7
+21,7
@@
#include <mono/metadata/debug-helpers.h>
#include <mono/metadata/exception.h>
#include <mono/metadata/mono-debug.h>
#include <mono/metadata/debug-helpers.h>
#include <mono/metadata/exception.h>
#include <mono/metadata/mono-debug.h>
-#include <mono/metadata/gc-internal.h>
+#include <mono/metadata/gc-internal
s
.h>
#include <mono/metadata/tokentype.h>
#include "mini.h"
#include <mono/metadata/tokentype.h>
#include "mini.h"
@@
-166,6
+166,7
@@
mono_arch_get_call_filter (MonoTrampInfo **info, gboolean aot)
static void
throw_exception (MonoObject *exc, gpointer sp, gpointer ip, gboolean rethrow)
{
static void
throw_exception (MonoObject *exc, gpointer sp, gpointer ip, gboolean rethrow)
{
+ MonoError error;
MonoContext ctx;
static void (*restore_context) (MonoContext *);
gpointer *window;
MonoContext ctx;
static void (*restore_context) (MonoContext *);
gpointer *window;
@@
-178,13
+179,14
@@
throw_exception (MonoObject *exc, gpointer sp, gpointer ip, gboolean rethrow)
ctx.ip = ip;
ctx.fp = (gpointer*)(MONO_SPARC_WINDOW_ADDR (sp) [sparc_i6 - 16]);
ctx.ip = ip;
ctx.fp = (gpointer*)(MONO_SPARC_WINDOW_ADDR (sp) [sparc_i6 - 16]);
- 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);
restore_context (&ctx);
mono_handle_exception (&ctx, exc);
restore_context (&ctx);