X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FInterpreter.c;h=1b2d7303edf2d3285910cdf47248ec8a9ddad4b8;hb=9ffadf219cbc4f8ec57264786df936a3cee88aec;hp=4324f7f44a415a97cea44f331e8796653a257bec;hpb=8f52645bd99ee3e636a34826c0cbfc5939920da1;p=ghc-hetmet.git diff --git a/rts/Interpreter.c b/rts/Interpreter.c index 4324f7f..1b2d730 100644 --- a/rts/Interpreter.c +++ b/rts/Interpreter.c @@ -1422,7 +1422,7 @@ run_BCO: ffi_call(cif, fn, ret, argptrs); // And restart the thread again, popping the RET_DYN frame. - cap = (Capability *)((void *)((unsigned char*)resumeThread(tok) - sizeof(StgFunTable))); + cap = (Capability *)((void *)((unsigned char*)resumeThread(tok) - FIELD_OFFSET(Capability,r))); LOAD_STACK_POINTERS; // Re-load the pointer to the BCO from the RET_DYN frame,