X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=rts%2Fsm%2FEvac.c;h=35939430a2c5a15f7edf6221e1c29b994cf7b5c2;hp=295a0305aca94244a295a294a70d14e1d40acc5d;hb=797dca87dcc96224ee7e96e852c4381266533597;hpb=d07d5ed880e6f4529c2331a5d5a963505d884dd9 diff --git a/rts/sm/Evac.c b/rts/sm/Evac.c index 295a030..3593943 100644 --- a/rts/sm/Evac.c +++ b/rts/sm/Evac.c @@ -404,13 +404,11 @@ bale_out: // We didn't manage to evaluate this thunk; restore the old info // pointer. But don't forget: we still need to evacuate the thunk itself. SET_INFO(p, (const StgInfoTable *)info_ptr); + *q = (StgClosure *)p; if (evac) { - copy(&val,(StgClosure *)p,THUNK_SELECTOR_sizeW(),bd->step->to); - } else { - val = (StgClosure *)p; + copy(q,(StgClosure *)p,THUNK_SELECTOR_sizeW(),bd->step->to); } - *q = val; - unchain_thunk_selectors(prev_thunk_selector, val); + unchain_thunk_selectors(prev_thunk_selector, *q); return; }