X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FException.cmm;h=dc6305cef0e1d7874f52a0d194abef47bc9ee39b;hb=2aa07b1bfb92038ed1402dbad832fd72c7c9a605;hp=3fdfdfd5446d35168854e19c926bf4ccfe4f346f;hpb=afd08a9c06ae4b15e33e26e5a2818801c7fee429;p=ghc-hetmet.git diff --git a/ghc/rts/Exception.cmm b/ghc/rts/Exception.cmm index 3fdfdfd..dc6305c 100644 --- a/ghc/rts/Exception.cmm +++ b/ghc/rts/Exception.cmm @@ -384,7 +384,11 @@ retry_pop_stack: Sp(0) = R1; /* save the exception */ StgTSO_what_next(CurrentTSO) = ThreadKilled::I16; SAVE_THREAD_STATE(); /* inline! */ - R1 = ThreadFinished; + + /* The return code goes in BaseReg->rRet, and BaseReg is returned in R1 */ + StgRegTable_rRet(BaseReg) = ThreadFinished; + R1 = BaseReg; + jump StgReturn; }