[project @ 2005-11-10 16:14:01 by simonmar]
[ghc-hetmet.git] / ghc / rts / StgStartup.cmm
index ece080b..3569a39 100644 (file)
@@ -29,7 +29,7 @@
     ASSERT(Sp != 0);                   \
     ASSERT(SpLim != 0);                        \
     ASSERT(HpLim != 0);                        \
-    ASSERT(SpLim - RESERVED_STACK_WORDS <= Sp); \
+    ASSERT(SpLim - WDS(RESERVED_STACK_WORDS) <= Sp); \
     ASSERT(HpLim >= Hp);
 
 /* -----------------------------------------------------------------------------
@@ -92,8 +92,9 @@ INFO_TABLE_RET( stg_stop_thread, STOP_THREAD_WORDS, STOP_THREAD_BITMAP,
 
     SAVE_THREAD_STATE();
 
-    /* R1 contains the return value of the thread */
-    R1 = ThreadFinished;
+    /* The return code goes in BaseReg->rRet, and BaseReg is returned in R1 */
+    StgRegTable_rRet(BaseReg) = ThreadFinished;
+    R1 = BaseReg;
 
     jump StgReturn;
 }