CLOSE_NURSERY(); \
CurrentNursery = bdescr_link(CurrentNursery); \
OPEN_NURSERY(); \
- if (CInt[context_switch] != 0) { \
+ if (CInt[context_switch] != 0 :: CInt) { \
R1 = ThreadYielding; \
goto sched; \
} else { \
GC_GENERIC
}
-#ifdef SMP
-stg_gc_enter_1_hponly
-{
- Sp_adj(-1);
- Sp(0) = R1;
- R1 = HeapOverflow;
- SAVE_THREAD_STATE();
- TSO_what_next(CurrentTSO) = ThreadRunGHC::I16;
- jump StgReturn;
-}
-#endif
-
#if defined(GRAN)
/*
ToDo: merge the block and yield macros, calling something like BLOCK(N)
Sp(2) = R1;
Sp(1) = size;
Sp(0) = stg_gc_fun_info;
- // DEBUG_ONLY(foreign "C" fprintf(stderr, "stg_fun_gc_gen(ARG_GEN)"););
+ // DEBUG_ONLY(foreign "C" debugBelch("stg_fun_gc_gen(ARG_GEN)"););
GC_GENERIC
} else {
jump W_[stg_stack_save_entries + WDS(type)];
// jumps to stg_gc_noregs after saving stuff
}
-#endif // !NO_ARG_REGS
+#endif /* !NO_ARG_REGS */
}
/* -----------------------------------------------------------------------------
Sp(5) = R3; \
Sp(4) = R2; \
Sp(3) = R1; \
- Sp(2) = R10.w; /* return address */ \
+ Sp(2) = R10; /* return address */ \
Sp(1) = R9; /* liveness mask */ \
Sp(0) = stg_gc_gen_info;
BLOCK_GENERIC;
}
-#ifdef mingw32_TARGET_OS
+#ifdef mingw32_HOST_OS
INFO_TABLE_RET( stg_block_async, 0/*framesize*/, 0/*bitmap*/, RET_SMALL )
{
W_ ares;