X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FRtsStartup.c;h=f9b1c8512017d3627da2e8a8b13de141f2d47bdb;hb=03a9ff01812afc81eb5236fd3063cbec44cf469e;hp=887b6f77fa5e1d49bc55c42b726590f0bad793f7;hpb=eab7055a9512b150681156f146ee76ad8f67b72f;p=ghc-hetmet.git diff --git a/ghc/rts/RtsStartup.c b/ghc/rts/RtsStartup.c index 887b6f7..f9b1c85 100644 --- a/ghc/rts/RtsStartup.c +++ b/ghc/rts/RtsStartup.c @@ -88,6 +88,7 @@ __hscore_set_saved_termios(int fd, void* ts) /* ----------------------------------------------------------------------------- Initialise floating point unit on x86 (currently disabled. why?) + (see comment in ghc/compiler/nativeGen/MachInstrs.lhs). -------------------------------------------------------------------------- */ #define X86_INIT_FPU 0 @@ -290,7 +291,7 @@ hs_add_root(void (*init_root)(void)) /* The initialisation stack grows downward, with sp pointing to the last occupied word */ init_sp = INIT_STACK_BLOCKS*BLOCK_SIZE_W; - bd = allocGroup(INIT_STACK_BLOCKS); + bd = allocGroup_lock(INIT_STACK_BLOCKS); init_stack = (F_ *)bd->start; init_stack[--init_sp] = (F_)stg_init_finish; if (init_root != NULL) { @@ -300,7 +301,7 @@ hs_add_root(void (*init_root)(void)) cap.r.rSp = (P_)(init_stack + init_sp); StgRun((StgFunPtr)stg_init, &cap.r); - freeGroup(bd); + freeGroup_lock(bd); #if defined(PROFILING) || defined(DEBUG) // This must be done after module initialisation.