summaryrefslogtreecommitdiff
path: root/rts
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2009-08-20 13:15:37 +0000
committerSimon Marlow <marlowsd@gmail.com>2009-08-20 13:15:37 +0000
commit91a5df02a15c0a06b1d4a36a569e41b0624a1185 (patch)
tree264079ba8882b861fbd971152d9de5c1875a5673 /rts
parentd64022dc071b587c20a693b7f355f69dc110b707 (diff)
downloadhaskell-91a5df02a15c0a06b1d4a36a569e41b0624a1185.tar.gz
Add a case for IND (and a comment). Fixes #3424, perhaps only partially.
Diffstat (limited to 'rts')
-rw-r--r--rts/sm/Scav.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/rts/sm/Scav.c b/rts/sm/Scav.c
index 672636bae1..4c75ed2799 100644
--- a/rts/sm/Scav.c
+++ b/rts/sm/Scav.c
@@ -1361,6 +1361,10 @@ scavenge_one(StgPtr p)
break;
}
+ case IND:
+ // IND can happen, for example, when the interpreter allocates
+ // a gigantic AP closure (more than one block), which ends up
+ // on the large-object list and then gets updated. See #3424.
case IND_OLDGEN:
case IND_OLDGEN_PERM:
case IND_STATIC: