projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2006-01-17 16:13:18 by simonmar]
[ghc-hetmet.git]
/
ghc
/
rts
/
RetainerProfile.c
diff --git
a/ghc/rts/RetainerProfile.c
b/ghc/rts/RetainerProfile.c
index
62b6fa3
..
2f93cbf
100644
(file)
--- a/
ghc/rts/RetainerProfile.c
+++ b/
ghc/rts/RetainerProfile.c
@@
-463,7
+463,8
@@
push( StgClosure *c, retainer c_child_r, StgClosure **first_child )
return;
// one child (fixed), no SRT
return;
// one child (fixed), no SRT
- case MUT_VAR:
+ case MUT_VAR_CLEAN:
+ case MUT_VAR_DIRTY:
*first_child = ((StgMutVar *)c)->var;
return;
case THUNK_SELECTOR:
*first_child = ((StgMutVar *)c)->var;
return;
case THUNK_SELECTOR:
@@
-521,7
+522,8
@@
push( StgClosure *c, retainer c_child_r, StgClosure **first_child )
break;
// StgMutArrPtr.ptrs, no SRT
break;
// StgMutArrPtr.ptrs, no SRT
- case MUT_ARR_PTRS:
+ case MUT_ARR_PTRS_CLEAN:
+ case MUT_ARR_PTRS_DIRTY:
case MUT_ARR_PTRS_FROZEN:
case MUT_ARR_PTRS_FROZEN0:
init_ptrs(&se.info, ((StgMutArrPtrs *)c)->ptrs,
case MUT_ARR_PTRS_FROZEN:
case MUT_ARR_PTRS_FROZEN0:
init_ptrs(&se.info, ((StgMutArrPtrs *)c)->ptrs,
@@
-820,7
+822,8
@@
pop( StgClosure **c, StgClosure **cp, retainer *r )
case BCO:
case CONSTR_STATIC:
// StgMutArrPtr.ptrs, no SRT
case BCO:
case CONSTR_STATIC:
// StgMutArrPtr.ptrs, no SRT
- case MUT_ARR_PTRS:
+ case MUT_ARR_PTRS_CLEAN:
+ case MUT_ARR_PTRS_DIRTY:
case MUT_ARR_PTRS_FROZEN:
case MUT_ARR_PTRS_FROZEN0:
*c = find_ptrs(&se->info);
case MUT_ARR_PTRS_FROZEN:
case MUT_ARR_PTRS_FROZEN0:
*c = find_ptrs(&se->info);
@@
-889,7
+892,8
@@
pop( StgClosure **c, StgClosure **cp, retainer *r )
case SE_CAF_BLACKHOLE:
case ARR_WORDS:
// one child (fixed), no SRT
case SE_CAF_BLACKHOLE:
case ARR_WORDS:
// one child (fixed), no SRT
- case MUT_VAR:
+ case MUT_VAR_CLEAN:
+ case MUT_VAR_DIRTY:
case THUNK_SELECTOR:
case IND_PERM:
case IND_OLDGEN_PERM:
case THUNK_SELECTOR:
case IND_PERM:
case IND_OLDGEN_PERM:
@@
-989,8
+993,10
@@
isRetainer( StgClosure *c )
// mutable objects
case MVAR:
// mutable objects
case MVAR:
- case MUT_VAR:
- case MUT_ARR_PTRS:
+ case MUT_VAR_CLEAN:
+ case MUT_VAR_DIRTY:
+ case MUT_ARR_PTRS_CLEAN:
+ case MUT_ARR_PTRS_DIRTY:
case MUT_ARR_PTRS_FROZEN:
case MUT_ARR_PTRS_FROZEN0:
case MUT_ARR_PTRS_FROZEN:
case MUT_ARR_PTRS_FROZEN0:
@@
-1780,8
+1786,8
@@
computeRetainerSet( void )
for (bd = generations[g].mut_list; bd != NULL; bd = bd->link) {
for (ml = bd->start; ml < bd->free; ml++) {
for (bd = generations[g].mut_list; bd != NULL; bd = bd->link) {
for (ml = bd->start; ml < bd->free; ml++) {
- maybeInitRetainerSet((StgClosure *)ml);
- rtl = retainerSetOf((StgClosure *)ml);
+ maybeInitRetainerSet((StgClosure *)*ml);
+ rtl = retainerSetOf((StgClosure *)*ml);
#ifdef DEBUG_RETAINER
if (rtl == NULL) {
#ifdef DEBUG_RETAINER
if (rtl == NULL) {
@@
-2072,7
+2078,8
@@
sanityCheckHeapClosure( StgClosure *c )
case MVAR:
return sizeofW(StgMVar);
case MVAR:
return sizeofW(StgMVar);
- case MUT_ARR_PTRS:
+ case MUT_ARR_PTRS_CLEAN:
+ case MUT_ARR_PTRS_DIRTY:
case MUT_ARR_PTRS_FROZEN:
case MUT_ARR_PTRS_FROZEN0:
return mut_arr_ptrs_sizeW((StgMutArrPtrs *)c);
case MUT_ARR_PTRS_FROZEN:
case MUT_ARR_PTRS_FROZEN0:
return mut_arr_ptrs_sizeW((StgMutArrPtrs *)c);
@@
-2100,7
+2107,8
@@
sanityCheckHeapClosure( StgClosure *c )
case FUN_1_1:
case FUN_0_2:
case WEAK:
case FUN_1_1:
case FUN_0_2:
case WEAK:
- case MUT_VAR:
+ case MUT_VAR_CLEAN:
+ case MUT_VAR_DIRTY:
case CAF_BLACKHOLE:
case BLACKHOLE:
case SE_BLACKHOLE:
case CAF_BLACKHOLE:
case BLACKHOLE:
case SE_BLACKHOLE: