summaryrefslogtreecommitdiff
path: root/rts/HeapStackCheck.cmm
diff options
context:
space:
mode:
Diffstat (limited to 'rts/HeapStackCheck.cmm')
-rw-r--r--rts/HeapStackCheck.cmm6
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