Fix compacting GC bug when chaining tagged and non-tagged fields together
Compare changes
Files
4+ 95
− 67
@@ -37,37 +37,35 @@
@@ -82,10 +80,54 @@ GET_PTR_TAG(W_ p)
@@ -98,21 +140,8 @@ thread (StgClosure **p)
@@ -128,7 +157,7 @@ thread_root (void *user STG_UNUSED, StgClosure **p)
@@ -136,20 +165,21 @@ loop:
@@ -162,7 +192,7 @@ loop:
@@ -172,16 +202,13 @@ loop:
@@ -353,8 +380,7 @@ thread_stack(P_ p, P_ stack_end)
@@ -372,7 +398,7 @@ STATIC_INLINE P_
@@ -762,8 +788,8 @@ update_fwd_compact( bdescr *blocks )
@@ -783,7 +809,8 @@ update_fwd_compact( bdescr *blocks )
@@ -819,8 +846,9 @@ update_bkwd_compact( generation *gen )