stg_ap_0_fast: sanity-check only the topmost frame, not the whole stack
authorSimon Marlow <marlowsd@gmail.com>
Wed, 2 Dec 2009 11:51:09 +0000 (11:51 +0000)
committerSimon Marlow <marlowsd@gmail.com>
Wed, 2 Dec 2009 11:51:09 +0000 (11:51 +0000)
Sanity checking was getting too slow in some cases, this returns it to
a constant-factor overhead.

rts/Apply.cmm

index a98edee..9af9b11 100644 (file)
@@ -30,9 +30,7 @@ stg_ap_0_fast
        foreign "C" printClosure(R1 "ptr") [R1]);
 
     IF_DEBUG(sanity,
-       foreign "C" checkStackChunk(Sp "ptr",
-                                   CurrentTSO + TSO_OFFSET_StgTSO_stack +
-                                   WDS(TO_W_(StgTSO_stack_size(CurrentTSO))) "ptr") [R1]);
+       foreign "C" checkStackFrame(Sp "ptr") [R1]);
 
     ENTER();
 }