Commit d8010e81 authored by sewardj's avatar sewardj

[project @ 1999-11-01 18:17:45 by sewardj]

Correctly evacuate BCOs on the large object list.  Was causing
okeefe_neural to fail.
parent 30b5ebe4
/* -----------------------------------------------------------------------------
* $Id: GC.c,v 1.63 1999/10/21 08:23:56 simonmar Exp $
* $Id: GC.c,v 1.64 1999/11/01 18:17:45 sewardj Exp $
*
* (c) The GHC Team 1998-1999
*
......@@ -1143,7 +1143,18 @@ loop:
switch (info -> type) {
case BCO:
return copy(q,bco_sizeW(stgCast(StgBCO*,q)),step);
{
nat size = bco_sizeW((StgBCO*)q);
if (size >= LARGE_OBJECT_THRESHOLD/sizeof(W_)) {
evacuate_large((P_)q, rtsFalse);
to = q;
} else {
/* just copy the block */
to = copy(q,size,step);
}
return to;
}
case MUT_VAR:
ASSERT(q->header.info != &MUT_CONS_info);
......
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