X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FInterpreter.c;h=f007c4abd9212c05dfbc409c6d5ca982418dc65c;hb=7c82b4a858411e7363f46d29bbd297e7880ef625;hp=0ad2b6ef5b4679b22227daef8702120ac96fdc04;hpb=474656aa64e690fc48752eabecf2b76532c31ea7;p=ghc-hetmet.git diff --git a/ghc/rts/Interpreter.c b/ghc/rts/Interpreter.c index 0ad2b6e..f007c4a 100644 --- a/ghc/rts/Interpreter.c +++ b/ghc/rts/Interpreter.c @@ -58,12 +58,14 @@ SAVE_STACK_POINTERS; \ cap->r.rCurrentTSO->what_next = (todo); \ threadPaused(cap->r.rCurrentTSO); \ - return (retcode); + cap->r.rRet = (retcode); \ + return cap; #define RETURN_TO_SCHEDULER_NO_PAUSE(todo,retcode) \ - SAVE_STACK_POINTERS; \ - cap->r.rCurrentTSO->what_next = (todo); \ - return (retcode); + SAVE_STACK_POINTERS; \ + cap->r.rCurrentTSO->what_next = (todo); \ + cap->r.rRet = (retcode); \ + return cap; STATIC_INLINE StgPtr @@ -170,7 +172,7 @@ static StgWord app_ptrs_itbl[] = { (W_)&stg_ap_pppppp_info, }; -StgThreadReturnCode +Capability * interpretBCO (Capability* cap) { // Use of register here is primarily to make it clear to compilers