From: simonmar Date: Wed, 13 Jul 2005 12:27:55 +0000 (+0000) Subject: [project @ 2005-07-13 12:27:55 by simonmar] X-Git-Tag: Initial_conversion_from_CVS_complete~354 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=522e46fd040f48bf9414254f2e2a1520aaa257ad;p=ghc-hetmet.git [project @ 2005-07-13 12:27:55 by simonmar] Handle TREC_CHUNK in update_fwd_large --- diff --git a/ghc/rts/GCCompact.c b/ghc/rts/GCCompact.c index f4e66b6..549a27c 100644 --- a/ghc/rts/GCCompact.c +++ b/ghc/rts/GCCompact.c @@ -504,6 +504,20 @@ update_fwd_large( bdescr *bd ) thread_PAP((StgPAP *)p); continue; + case TREC_CHUNK: + { + StgWord i; + StgTRecChunk *tc = (StgTRecChunk *)p; + TRecEntry *e = &(tc -> entries[0]); + thread((StgPtr)&tc->prev_chunk); + for (i = 0; i < tc -> next_entry_idx; i ++, e++ ) { + thread((StgPtr)&e->tvar); + thread((StgPtr)&e->expected_value); + thread((StgPtr)&e->new_value); + } + continue; + } + default: barf("update_fwd_large: unknown/strange object %d", (int)(info->type)); } @@ -580,7 +594,6 @@ thread_obj (StgInfoTable *info, StgPtr p) case FUN: case CONSTR: - case FOREIGN: case STABLE_NAME: case IND_PERM: case MUT_VAR: