diff options
Diffstat (limited to 'rts/sm/Storage.c')
-rw-r--r-- | rts/sm/Storage.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/rts/sm/Storage.c b/rts/sm/Storage.c index 3b9775ede1..c2a191170d 100644 --- a/rts/sm/Storage.c +++ b/rts/sm/Storage.c @@ -721,6 +721,16 @@ setTSOLink (Capability *cap, StgTSO *tso, StgTSO *target) } void +setTSOPrev (Capability *cap, StgTSO *tso, StgTSO *target) +{ + if (tso->dirty == 0 && (tso->flags & TSO_LINK_DIRTY) == 0) { + tso->flags |= TSO_LINK_DIRTY; + recordClosureMutated(cap,(StgClosure*)tso); + } + tso->block_info.prev = target; +} + +void dirty_TSO (Capability *cap, StgTSO *tso) { if (tso->dirty == 0 && (tso->flags & TSO_LINK_DIRTY) == 0) { |