X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FStgStartup.cmm;h=c3c0bc3dd7cc6c627926d37b4732abc8d383424d;hb=6cf8982ac30be6836a0cdd8be5a6ac1a1a144213;hp=2d83a676c079cb11c913a88fd5282b5c30b5ebab;hpb=94363dd5c2c443db08e5d3885b582247822c43b3;p=ghc-hetmet.git diff --git a/rts/StgStartup.cmm b/rts/StgStartup.cmm index 2d83a67..c3c0bc3 100644 --- a/rts/StgStartup.cmm +++ b/rts/StgStartup.cmm @@ -28,24 +28,18 @@ ASSERT(Hp != 0); \ ASSERT(Sp != 0); \ ASSERT(SpLim != 0); \ - ASSERT(HpLim != 0); \ - ASSERT(SpLim - WDS(RESERVED_STACK_WORDS) <= Sp); \ - ASSERT(HpLim >= Hp); + ASSERT(SpLim - WDS(RESERVED_STACK_WORDS) <= Sp); /* ----------------------------------------------------------------------------- Returning from the STG world. -------------------------------------------------------------------------- */ +INFO_TABLE_RET( stg_stop_thread, STOP_FRAME, #if defined(PROFILING) -#define STOP_THREAD_BITMAP 3 -#define STOP_THREAD_WORDS 2 -#else -#define STOP_THREAD_BITMAP 0 -#define STOP_THREAD_WORDS 0 + W_ unused, + W_ unused #endif - -INFO_TABLE_RET( stg_stop_thread, STOP_THREAD_WORDS, STOP_THREAD_BITMAP, - STOP_FRAME) +) { /* The final exit. @@ -146,22 +140,15 @@ stg_threadFinished forceIO takes care of this, performing the IO action and entering the results that comes back. + ------------------------------------------------------------------------- */ -INFO_TABLE_RET( stg_forceIO, 0/*size*/, 0/*bitmap*/, RET_SMALL) +INFO_TABLE_RET( stg_forceIO, RET_SMALL) -#ifdef REG_R1 { Sp_adj(1); ENTER(); } -#else -{ - R1 = Sp(0); - Sp_adj(2); - ENTER(); -} -#endif /* ----------------------------------------------------------------------------- Non-strict IO application. @@ -172,20 +159,12 @@ INFO_TABLE_RET( stg_forceIO, 0/*size*/, 0/*bitmap*/, RET_SMALL) is a register or not. ------------------------------------------------------------------------- */ -INFO_TABLE_RET( stg_noforceIO, 0/*size*/, 0/*bitmap*/, RET_SMALL ) +INFO_TABLE_RET( stg_noforceIO, RET_SMALL ) -#ifdef REG_R1 { Sp_adj(1); jump %ENTRY_CODE(Sp(0)); } -#else -{ - R1 = Sp(0); - Sp_adj(2); - jump %ENTRY_CODE(Sp(0)); -} -#endif /* ----------------------------------------------------------------------------- Special STG entry points for module registration.