X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FRtsStartup.c;h=266c04808d863c82c58c435f77a31702bc0b4cdf;hb=159fdb19228cfb04c3fd871ab3f41f8ef7984b58;hp=d7a8d954a27cd7c794c91db74046f1bc5b04b79a;hpb=ae03da75d16d5d6e00c6f12102846509060a1138;p=ghc-hetmet.git diff --git a/rts/RtsStartup.c b/rts/RtsStartup.c index d7a8d95..266c048 100644 --- a/rts/RtsStartup.c +++ b/rts/RtsStartup.c @@ -69,8 +69,8 @@ void exitLinker( void ); // there is no Linker.h file to include static int hs_init_count = 0; /* ----------------------------------------------------------------------------- - Initialise floating point unit on x86 (currently disabled. why?) - (see comment in ghc/compiler/nativeGen/MachInstrs.lhs). + Initialise floating point unit on x86 (currently disabled; See Note + [x86 Floating point precision] in compiler/nativeGen/X86/Instr.hs) -------------------------------------------------------------------------- */ #define X86_INIT_FPU 0 @@ -119,12 +119,6 @@ hs_init(int *argc, char **argv[]) */ stat_startInit(); -#if defined(DEBUG) - /* Start off by initialising the allocator debugging so we can - * use it anywhere */ - initAllocator(); -#endif - /* Set the RTS flags to default values. */ initRtsFlagsDefaults(); @@ -351,6 +345,11 @@ hs_exit_(rtsBool wait_foreign) OnExitHook(); + // sanity check +#if defined(DEBUG) + checkFPUStack(); +#endif + // Free the full argv storage freeFullProgArgv(); @@ -456,11 +455,6 @@ hs_exit_(rtsBool wait_foreign) // heap memory (e.g. by being passed a ByteArray#). freeStorage(wait_foreign); -#if defined(DEBUG) - /* and shut down the allocator debugging */ - shutdownAllocator(); -#endif - } // The real hs_exit():