Maybe this is a simple fix for win32, but I cannot test:

diff --git a/cont.c b/cont.c
index 739ec80..08acf40 100644
--- a/cont.c
+++ b/cont.c
@@ -1366,10 +1366,10 @@ fiber_store(rb_fiber_t *next_fib, rb_thread_t *th)
 	terminated_machine_stack.ptr = NULL;
 	terminated_machine_stack.size = 0;
     }
+#endif /* not _WIN32 */
     fib = th->fiber;
     if (fib->cont.argc == -1) rb_exc_raise(fib->cont.value);
     return fib->cont.value;
-#endif /* not _WIN32 */
 
 #else /* FIBER_USE_NATIVE */
     cont_save_machine_stack(th, &fib->cont);