Commit 0b0ee1f3 authored by simonmar's avatar simonmar
Browse files

[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.
parent 14e5c14e
/* -----------------------------------------------------------------------------
* $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:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment