X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FStgStartup.cmm;h=5b0f7e2a5f12458e1801a83a9db72d8feada70af;hb=c6eadadbefe2ec5709e9d31893f79c4ff78754b4;hp=33345cfcc5dd28fd21c6d70e66efe2e4b1cc2fca;hpb=9ff76535edb25ab7434284adddb5c64708ecb547;p=ghc-hetmet.git diff --git a/rts/StgStartup.cmm b/rts/StgStartup.cmm index 33345cf..5b0f7e2 100644 --- a/rts/StgStartup.cmm +++ b/rts/StgStartup.cmm @@ -36,16 +36,12 @@ 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. @@ -128,6 +124,13 @@ stg_returnToSchedButFirst jump R2; } +stg_threadFinished +{ + StgRegTable_rRet(BaseReg) = ThreadFinished; + R1 = BaseReg; + jump StgReturn; +} + /* ----------------------------------------------------------------------------- Strict IO application - performing an IO action and entering its result. @@ -141,7 +144,7 @@ stg_returnToSchedButFirst 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 { @@ -165,7 +168,7 @@ 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 {