Commit 6d6424ae authored by panne's avatar panne

[project @ 2000-04-24 22:05:08 by panne]

Use get_itbl instead of direct access to info field in
removeIndirections. This "worked" only because the probability of
hitting an indirection-like closure by chance is 5:65531 on 32bit
platforms. :-) But HOpenGL once again managed to expose this bug...
parent bb2a4035
/* -----------------------------------------------------------------------------
* $Id: Stable.c,v 1.10 2000/02/29 19:59:38 sof Exp $
* $Id: Stable.c,v 1.11 2000/04/24 22:05:08 panne Exp $
*
* (c) The GHC Team, 1998-1999
*
......@@ -163,11 +163,11 @@ removeIndirections(StgClosure* p)
{
StgClosure* q = p;
while (q->header.info->type == IND ||
q->header.info->type == IND_STATIC ||
q->header.info->type == IND_OLDGEN ||
q->header.info->type == IND_PERM ||
q->header.info->type == IND_OLDGEN_PERM ) {
while (get_itbl(q)->type == IND ||
get_itbl(q)->type == IND_STATIC ||
get_itbl(q)->type == IND_OLDGEN ||
get_itbl(q)->type == IND_PERM ||
get_itbl(q)->type == IND_OLDGEN_PERM ) {
q = ((StgInd *)q)->indirectee;
}
return q;
......
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