|
|
@@ -398,8 +398,11 @@ mono_arch_create_trampoline_code (MonoTrampolineType tramp_type)
|
|
|
|
|
|
/* Check for thread interruption */
|
|
|
/* This is not perf critical code so no need to check the interrupt flag */
|
|
|
+ /*
|
|
|
+ * Have to call the _force_ variant, since there could be a protected wrapper on the top of the stack.
|
|
|
+ */
|
|
|
amd64_mov_membase_reg (code, AMD64_RBP, res_offset, AMD64_RAX, 8);
|
|
|
- amd64_mov_reg_imm (code, AMD64_RAX, (guint8*)mono_thread_interruption_checkpoint);
|
|
|
+ amd64_mov_reg_imm (code, AMD64_RAX, (guint8*)mono_thread_force_interruption_checkpoint);
|
|
|
amd64_call_reg (code, AMD64_RAX);
|
|
|
amd64_mov_reg_membase (code, AMD64_RAX, AMD64_RBP, res_offset, 8);
|
|
|
|