From 0b0ee1f3d33b6c4d938aa8420749823e6aa5eb77 Mon Sep 17 00:00:00 2001 From: simonmar Date: Thu, 23 Mar 2000 14:30:13 +0000 Subject: [PATCH] [project @ 2000-03-23 14:30:13 by simonmar] Fix GCing of SEQ_FRAMES, CATCH_FRAMES and STOP_FRAMES when the closure header size is more than one word (eg. with profiling on). Hans: you may need to check this w.r.t. PAR & GRAN. --- ghc/rts/GC.c | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/ghc/rts/GC.c b/ghc/rts/GC.c index cba1dbf..6383560 100644 --- a/ghc/rts/GC.c +++ b/ghc/rts/GC.c @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: GC.c,v 1.74 2000/03/17 13:30:24 simonmar Exp $ + * $Id: GC.c,v 1.75 2000/03/23 14:30:13 simonmar Exp $ * * (c) The GHC Team 1998-1999 * @@ -2813,18 +2813,6 @@ scavenge_stack(StgPtr p, StgPtr stack_end) case STOP_FRAME: case CATCH_FRAME: case SEQ_FRAME: - { - // StgPtr old_p = p; // debugging only -- HWL - /* stack frames like these are ordinary closures and therefore may - contain setup-specific fixed-header words (as in GranSim!); - therefore, these cases should not use p++ but &(p->payload) -- HWL */ - // IF_DEBUG(gran, IF_DEBUG(sanity, printObj(p))); - bitmap = info->layout.bitmap; - - p = (StgPtr)&(((StgClosure *)p)->payload); - // IF_DEBUG(sanity, belch("HWL: scavenge_stack: (STOP|CATCH|SEQ)_FRAME adjusting p from %p to %p (instead of %p)", old_p, p, old_p+1)); - goto small_bitmap; - } case RET_BCO: case RET_SMALL: case RET_VEC_SMALL: -- 1.7.10.4