X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FException.cmm;h=cf24ef5b497359d0e6aa38d2e6dd5727e554689f;hb=c9acb4de50dd2b7f7ece5491f60598f0a4815e75;hp=43f53c7ad31f86b2e58b0a0b933d89cb0b612556;hpb=176fa33f17dd78355cc572e006d2ab26898e2c69;p=ghc-hetmet.git diff --git a/rts/Exception.cmm b/rts/Exception.cmm index 43f53c7..cf24ef5 100644 --- a/rts/Exception.cmm +++ b/rts/Exception.cmm @@ -187,6 +187,7 @@ killThreadzh_fast target = R1; exception = R2; + /* Needs 3 words because throwToSingleThreaded uses some stack */ STK_CHK_GEN( WDS(3), R1_PTR & R2_PTR, killThreadzh_fast); /* @@ -215,8 +216,8 @@ killThreadzh_fast } else { W_ out; W_ retcode; - out = BaseReg + OFFSET_StgRegTable_rmp_tmp_w; - + out = Sp - WDS(1); /* ok to re-use stack space here */ + (retcode) = foreign "C" throwTo(MyCapability() "ptr", CurrentTSO "ptr", target "ptr",