diff options
Diffstat (limited to 'rts/HeapStackCheck.cmm')
-rw-r--r-- | rts/HeapStackCheck.cmm | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/rts/HeapStackCheck.cmm b/rts/HeapStackCheck.cmm index 74545af149..7ba44d3bcd 100644 --- a/rts/HeapStackCheck.cmm +++ b/rts/HeapStackCheck.cmm @@ -679,10 +679,16 @@ INFO_TABLE_RET( stg_block_async, RET_SMALL, W_ unused ) len = StgAsyncIOResult_len(ares); errC = StgAsyncIOResult_errCode(ares); foreign "C" free(ares "ptr"); +#ifdef GhcUnregisterised + Sp(1) = errC; + Sp(0) = len; + jump %ENTRY_CODE(Sp(2)); +#else R1 = len; Sp_adj(1); Sp(0) = errC; jump %ENTRY_CODE(Sp(1)); +#endif } stg_block_async |