projects
/
ghc-hetmet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(from parent 1:
6bc54d1
)
Do some stack fiddling in stg_unblockAsyncExceptionszh_ret
author
Ian Lynagh
<igloo@earth.li>
Fri, 23 May 2008 03:25:08 +0000
(
03:25
+0000)
committer
Ian Lynagh
<igloo@earth.li>
Fri, 23 May 2008 03:25:08 +0000
(
03:25
+0000)
This fixes a segfault in #1657
rts/Exception.cmm
patch
|
blob
|
history
diff --git
a/rts/Exception.cmm
b/rts/Exception.cmm
index
daa8e4f
..
75f2c15
100644
(file)
--- a/
rts/Exception.cmm
+++ b/
rts/Exception.cmm
@@
-73,6
+73,14
@@
INFO_TABLE_RET( stg_unblockAsyncExceptionszh_ret, RET_SMALL )
*/
Sp_adj(1);
#endif
+ STK_CHK_GEN( WDS(2), R1_PTR, stg_unblockAsyncExceptionszh_ret_info);
+ Sp_adj(-2);
+ Sp(1) = R1;
+#ifdef REG_R1
+ Sp(0) = stg_gc_unpt_r1_info;
+#else
+ Sp(0) = stg_ut_1_0_unreg_info;
+#endif
SAVE_THREAD_STATE();
(r) = foreign "C" maybePerformBlockedException (MyCapability() "ptr",
CurrentTSO "ptr") [R1];