diff options
author | Simon Marlow <marlowsd@gmail.com> | 2014-04-28 16:36:29 +0100 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2014-04-29 09:43:52 +0100 |
commit | ab8bb4893be1896303f30d0f1adff8ea9c2470f6 (patch) | |
tree | e57fc90ac85508a5d0aec1720bc2c41afd30a798 /rts/HeapStackCheck.cmm | |
parent | a3896ab5d2dc88160f710705bf23e6e25e327da5 (diff) | |
download | haskell-ab8bb4893be1896303f30d0f1adff8ea9c2470f6.tar.gz |
Fix scavenge_stack crash (#9045)
The new stg_gc_prim_p_ll stack frame was missing an info table. This
is a regression since 7.6, because this stuff was part of a cleanup
that happened in 7.7.
Diffstat (limited to 'rts/HeapStackCheck.cmm')
-rw-r--r-- | rts/HeapStackCheck.cmm | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/rts/HeapStackCheck.cmm b/rts/HeapStackCheck.cmm index d826529aef..12bcfb26df 100644 --- a/rts/HeapStackCheck.cmm +++ b/rts/HeapStackCheck.cmm @@ -196,7 +196,8 @@ stg_gc_prim_n (W_ arg, W_ fun) jump fun(arg); } -stg_gc_prim_p_ll_ret +INFO_TABLE_RET(stg_gc_prim_p_ll, RET_SMALL, W_ info, P_ arg, W_ fun) + /* explicit stack */ { W_ fun; P_ arg; @@ -216,7 +217,7 @@ stg_gc_prim_p_ll Sp_adj(-3); Sp(2) = fun; Sp(1) = arg; - Sp(0) = stg_gc_prim_p_ll_ret; + Sp(0) = stg_gc_prim_p_ll_info; jump stg_gc_noregs []; } |