don't sanity check the whole stack when switching interp<->compiled
authorSimon Marlow <marlowsd@gmail.com>
Wed, 2 Dec 2009 13:41:21 +0000 (13:41 +0000)
committerSimon Marlow <marlowsd@gmail.com>
Wed, 2 Dec 2009 13:41:21 +0000 (13:41 +0000)
rts/Schedule.c

index 3ae1fe0..9e1fd0f 100644 (file)
@@ -1206,9 +1206,6 @@ scheduleHandleYield( Capability *cap, StgTSO *t, nat prev_what_next )
     }
 #endif
     
-    IF_DEBUG(sanity,
-            //debugBelch("&& Doing sanity check on yielding TSO %ld.", t->id);
-            checkTSO(t));
     ASSERT(t->_link == END_TSO_QUEUE);
     
     // Shortcut if we're just switching evaluators: don't bother
@@ -1218,6 +1215,10 @@ scheduleHandleYield( Capability *cap, StgTSO *t, nat prev_what_next )
        return rtsTrue;
     }
 
+    IF_DEBUG(sanity,
+            //debugBelch("&& Doing sanity check on yielding TSO %ld.", t->id);
+            checkTSO(t));
+
     addToRunQueue(cap,t);
 
     return rtsFalse;