X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=rts%2FInterpreter.c;h=16a8e242bdd54c9eecb89a074c2aea2892d2153f;hp=b95d5a903064d111cdfe1d1704c148fa3141f9ca;hb=5d52d9b64c21dcf77849866584744722f8121389;hpb=35beb255958545f401f4f2229953a6355d09476c diff --git a/rts/Interpreter.c b/rts/Interpreter.c index b95d5a9..16a8e24 100644 --- a/rts/Interpreter.c +++ b/rts/Interpreter.c @@ -11,16 +11,17 @@ // internal headers #include "sm/Storage.h" +#include "sm/Sanity.h" #include "RtsUtils.h" #include "Schedule.h" #include "Updates.h" -#include "Sanity.h" #include "Prelude.h" #include "Stable.h" #include "Printer.h" #include "Disassembler.h" #include "Interpreter.h" #include "ThreadPaused.h" +#include "Threads.h" #include /* for memcpy */ #ifdef HAVE_ERRNO_H @@ -443,7 +444,8 @@ do_return: // to a PAP by the GC, violating the invariant that PAPs // always contain a tagged pointer to the function. INTERP_TICK(it_retto_UPDATE); - UPD_IND(((StgUpdateFrame *)Sp)->updatee, tagged_obj); + updateThunk(cap, cap->r.rCurrentTSO, + ((StgUpdateFrame *)Sp)->updatee, tagged_obj); Sp += sizeofW(StgUpdateFrame); goto do_return;