X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fsafepoint.c;h=8a34a084e20d8b57880112d46acfc998ba5d325d;hb=43c6634142a96e1d1bab2efe1a39cd8234903c41;hp=3faabe56bb130b15cb468744d26fd5357c677054;hpb=fd8e8143cf02ac767e2a46a2bc526933e68ef583;p=sbcl.git diff --git a/src/runtime/safepoint.c b/src/runtime/safepoint.c index 3faabe5..8a34a08 100644 --- a/src/runtime/safepoint.c +++ b/src/runtime/safepoint.c @@ -983,6 +983,11 @@ callback_wrapper_trampoline( if (!th) lose("callback invoked in non-lisp thread. Sorry, that is not supported yet."); +#ifdef LISP_FEATURE_WIN32 + /* arg2 is the pointer to a return value, which sits on the stack */ + th->carried_base_pointer = (os_context_register_t) *(((void**)arg2)-1); +#endif + WITH_GC_AT_SAFEPOINTS_ONLY() funcall3(SymbolValue(ENTER_ALIEN_CALLBACK, 0), arg0, arg1, arg2); }