projects
/
mono.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
a402abe
)
[interp] check for pending exceptions after icall
author
Bernhard Urban
<bernhard.urban@xamarin.com>
Tue, 25 Apr 2017 22:13:38 +0000
(
00:13
+0200)
committer
Bernhard Urban
<bernhard.urban@xamarin.com>
Fri, 28 Apr 2017 18:52:06 +0000
(20:52 +0200)
mono/mini/interp/interp.c
patch
|
blob
|
history
diff --git
a/mono/mini/interp/interp.c
b/mono/mini/interp/interp.c
index 619c3a659e6c05277b7f9fb14f3524034ac32bb7..20dea8e09e08fa41c1b2206fba406fd20181de13 100644
(file)
--- a/
mono/mini/interp/interp.c
+++ b/
mono/mini/interp/interp.c
@@
-4297,6
+4297,13
@@
array_constructed:
MINT_IN_CASE(MINT_ICALL_PPP_V)
MINT_IN_CASE(MINT_ICALL_PPI_V)
sp = do_icall (context, *ip, sp, rtm->data_items [*(guint16 *)(ip + 1)]);
+ if (*mono_thread_interruption_request_flag ()) {
+ MonoException *exc = mono_thread_interruption_checkpoint ();
+ if (exc) {
+ frame->ex = exc;
+ context->search_for_handler = 1;
+ }
+ }
if (frame->ex != NULL)
goto handle_exception;
ip += 2;