diff options
author | Simon Marlow <marlowsd@gmail.com> | 2009-12-08 08:57:39 +0000 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2009-12-08 08:57:39 +0000 |
commit | 4207605cc8e035e05f651334ef1be90b098d305d (patch) | |
tree | b2a270e815671e0746a20b99b79730793f29747e /rts/sm/Scav.c | |
parent | 34bb8868a99962ede85ab7fa67c43fb922d78fc6 (diff) | |
download | haskell-4207605cc8e035e05f651334ef1be90b098d305d.tar.gz |
simplification/optimisation: update tso->bound->tso when scavenging the TSO
Diffstat (limited to 'rts/sm/Scav.c')
-rw-r--r-- | rts/sm/Scav.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/rts/sm/Scav.c b/rts/sm/Scav.c index b34aca62b8..4fa0a220e0 100644 --- a/rts/sm/Scav.c +++ b/rts/sm/Scav.c @@ -73,6 +73,11 @@ scavengeTSO (StgTSO *tso) debugTrace(DEBUG_gc,"scavenging thread %d",(int)tso->id); + // update the pointer from the Task. + if (tso->bound != NULL) { + tso->bound->tso = tso; + } + saved_eager = gct->eager_promotion; gct->eager_promotion = rtsFalse; |