Fix bug in finalizeWeak# (should fix memo002 and maybe one or two
other tests).
closure_field(StgWeak,value);
closure_field(StgWeak,finalizer);
closure_field(StgWeak,value);
closure_field(StgWeak,finalizer);
+ closure_size(StgDeadWeak);
+ closure_field(StgDeadWeak,link);
+
closure_size(StgMVar);
closure_field(StgMVar,head);
closure_field(StgMVar,tail);
closure_size(StgMVar);
closure_field(StgMVar,head);
closure_field(StgMVar,tail);
LDV_RECORD_CREATE(w);
f = StgWeak_finalizer(w);
LDV_RECORD_CREATE(w);
f = StgWeak_finalizer(w);
+ StgDeadWeak_link(w) = StgWeak_link(w);
/* return the finalizer */
if (f == stg_NO_FINALIZER_closure) {
/* return the finalizer */
if (f == stg_NO_FINALIZER_closure) {