Commit 46eb785a authored by simonmar's avatar simonmar
Browse files

[project @ 2001-11-28 14:29:33 by simonmar]

oops!  There's a hand-written magic heap check in stg_update_PAP that
I missed when I did the recent HpAlloc changes to fix the big block
alloc problem.  Also remove a redundant comment about LDV profiling,
and a redundant #ifdef.
parent 68d65b1e
/* ----------------------------------------------------------------------------- /* -----------------------------------------------------------------------------
* $Id: Updates.hc,v 1.36 2001/11/22 14:25:12 simonmar Exp $ * $Id: Updates.hc,v 1.37 2001/11/28 14:29:33 simonmar Exp $
* *
* (c) The GHC Team, 1998-1999 * (c) The GHC Team, 1998-1999
* *
...@@ -287,23 +287,14 @@ EXTFUN(__stg_update_PAP) ...@@ -287,23 +287,14 @@ EXTFUN(__stg_update_PAP)
* such as removing the update frame. * such as removing the update frame.
*/ */
if ((Hp += PapSize) > HpLim) { if ((Hp += PapSize) > HpLim) {
#ifdef PROFILING HpAlloc = PapSize;
// @LDV profiling
// Not filling the slop for the object (because there is none), but
// filling in the trailing words in the current block.
// This is unnecessary because we fills the entire nursery with
// zeroes after each garbage collection.
// FILL_SLOP(HpLim, PapSize - (Hp - HpLim));
#endif
Sp -= 1; Sp -= 1;
Sp[0] = (W_)Fun; Sp[0] = (W_)Fun;
JMP_(stg_gc_entertop); JMP_(stg_gc_entertop);
} }
TICK_ALLOC_UPD_PAP(1/*fun*/ + Words, 0); TICK_ALLOC_UPD_PAP(1/*fun*/ + Words, 0);
#ifdef PROFILING
CCS_ALLOC(CCS_pap, PapSize); CCS_ALLOC(CCS_pap, PapSize);
#endif
PapClosure = (StgPAP *)(Hp + 1 - PapSize); /* The new PapClosure */ PapClosure = (StgPAP *)(Hp + 1 - PapSize); /* The new PapClosure */
......
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