Do not link ghc stage1 using -threaded, only for stage2 or 3
[ghc-hetmet.git] / rts / StgStartup.cmm
index 2d83a67..c3c0bc3 100644 (file)
     ASSERT(Hp != 0);                   \
     ASSERT(Sp != 0);                   \
     ASSERT(SpLim != 0);                        \
     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.
    -------------------------------------------------------------------------- */
 
 
 /* -----------------------------------------------------------------------------
    Returning from the STG world.
    -------------------------------------------------------------------------- */
 
+INFO_TABLE_RET( stg_stop_thread, STOP_FRAME,
 #if defined(PROFILING)
 #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
 #endif
-
-INFO_TABLE_RET( stg_stop_thread, STOP_THREAD_WORDS, STOP_THREAD_BITMAP,
-               STOP_FRAME)
+)
 {
     /* 
        The final exit.
 {
     /* 
        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.
 
     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();
 }
 {
   Sp_adj(1);
   ENTER();
 }
-#else
-{
-  R1 = Sp(0);
-  Sp_adj(2);
-  ENTER();
-}
-#endif
 
 /* -----------------------------------------------------------------------------
     Non-strict IO application.
 
 /* -----------------------------------------------------------------------------
     Non-strict IO application.
@@ -172,20 +159,12 @@ INFO_TABLE_RET( stg_forceIO, 0/*size*/, 0/*bitmap*/, RET_SMALL)
     is a register or not.
     ------------------------------------------------------------------------- */
 
     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));
 }
 {
   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.
 
 /* -----------------------------------------------------------------------------
    Special STG entry points for module registration.