summaryrefslogtreecommitdiff
path: root/rts/Printer.c
diff options
context:
space:
mode:
authorSiddharth Bhat <siddharth.bath@tweag.io>2019-07-01 12:33:36 +0200
committerMarge Bot <ben+marge-bot@smart-cactus.org>2019-07-04 21:22:00 -0400
commitd7f7e1ed6eb03045ee9b5a185666ea206a76bbb6 (patch)
tree60d14fb7a68d2a4bb8f715d06aa728b24b1a4fcf /rts/Printer.c
parentf7a2e709e83078164ef061239f9efc643a36d1b0 (diff)
downloadhaskell-d7f7e1ed6eb03045ee9b5a185666ea206a76bbb6.tar.gz
Make printer untag when chasing a pointer in a RET_FUN frame
This is to mimic what `Scav.c` does. This should fix a crash in the printer.
Diffstat (limited to 'rts/Printer.c')
-rw-r--r--rts/Printer.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/rts/Printer.c b/rts/Printer.c
index 996199ea52..15404e1205 100644
--- a/rts/Printer.c
+++ b/rts/Printer.c
@@ -613,7 +613,7 @@ printStackChunk( StgPtr sp, StgPtr spBottom )
StgRetFun *ret_fun;
ret_fun = (StgRetFun *)sp;
- fun_info = get_fun_itbl(ret_fun->fun);
+ fun_info = get_fun_itbl(UNTAG_CLOSURE(ret_fun->fun));
debugBelch("RET_FUN (%p) (type=%d)\n", ret_fun->fun, (int)fun_info->f.fun_type);
switch (fun_info->f.fun_type) {
case ARG_GEN: