summaryrefslogtreecommitdiff
path: root/rts
diff options
context:
space:
mode:
authorKrzysztof Gogolewski <krzysztof.gogolewski@tweag.io>2023-03-20 18:41:07 +0100
committerMarge Bot <ben+marge-bot@smart-cactus.org>2023-04-11 19:24:54 -0400
commitb7474b57830261a94903da61bb2df33022c11357 (patch)
tree8f2cb3be8d7d1a926e85d4f501059196dce2a798 /rts
parentbc4795d207c132fbfe118958f7f39b140115f5bd (diff)
downloadhaskell-b7474b57830261a94903da61bb2df33022c11357.tar.gz
Add missing cases in -Di prettyprinter
Fixes #23142
Diffstat (limited to 'rts')
-rw-r--r--rts/Printer.c51
1 files changed, 51 insertions, 0 deletions
diff --git a/rts/Printer.c b/rts/Printer.c
index ccd82be877..e2dee0984e 100644
--- a/rts/Printer.c
+++ b/rts/Printer.c
@@ -297,6 +297,45 @@ printClosure( const StgClosure *obj )
break;
}
+ case ATOMICALLY_FRAME:
+ {
+ StgAtomicallyFrame* u = (StgAtomicallyFrame*)obj;
+ debugBelch("ATOMICALLY_FRAME(");
+ printPtr((StgPtr)GET_INFO((StgClosure *)u));
+ debugBelch(",");
+ printPtr((StgPtr)u->code);
+ debugBelch(",");
+ printPtr((StgPtr)u->result);
+ debugBelch(")\n");
+ break;
+ }
+
+ case CATCH_RETRY_FRAME:
+ {
+ StgCatchRetryFrame* u = (StgCatchRetryFrame*)obj;
+ debugBelch("CATCH_RETRY_FRAME(");
+ printPtr((StgPtr)GET_INFO((StgClosure *)u));
+ debugBelch(",");
+ printPtr((StgPtr)u->first_code);
+ debugBelch(",");
+ printPtr((StgPtr)u->alt_code);
+ debugBelch(")\n");
+ break;
+ }
+
+ case CATCH_STM_FRAME:
+ {
+ StgCatchSTMFrame* u = (StgCatchSTMFrame*)obj;
+ debugBelch("CATCH_STM_FRAME(");
+ printPtr((StgPtr)GET_INFO((StgClosure *)u));
+ debugBelch(",");
+ printPtr((StgPtr)u->code);
+ debugBelch(",");
+ printPtr((StgPtr)u->handler);
+ debugBelch(")\n");
+ break;
+ }
+
case ARR_WORDS:
{
StgWord i;
@@ -319,6 +358,10 @@ printClosure( const StgClosure *obj )
debugBelch("MUT_ARR_PTRS_FROZEN_CLEAN(size=%" FMT_Word ")\n", (W_)((StgMutArrPtrs *)obj)->ptrs);
break;
+ case MUT_ARR_PTRS_FROZEN_DIRTY:
+ debugBelch("MUT_ARR_PTRS_FROZEN_DIRTY(size=%" FMT_Word ")\n", (W_)((StgMutArrPtrs *)obj)->ptrs);
+ break;
+
case SMALL_MUT_ARR_PTRS_CLEAN:
debugBelch("SMALL_MUT_ARR_PTRS_CLEAN(size=%" FMT_Word ")\n",
(W_)((StgSmallMutArrPtrs *)obj)->ptrs);
@@ -334,6 +377,11 @@ printClosure( const StgClosure *obj )
(W_)((StgSmallMutArrPtrs *)obj)->ptrs);
break;
+ case SMALL_MUT_ARR_PTRS_FROZEN_DIRTY:
+ debugBelch("SMALL_MUT_ARR_PTRS_FROZEN_DIRTY(size=%" FMT_Word ")\n",
+ (W_)((StgSmallMutArrPtrs *)obj)->ptrs);
+ break;
+
case MVAR_CLEAN:
case MVAR_DIRTY:
{
@@ -533,6 +581,9 @@ printStackChunk( StgPtr sp, StgPtr spBottom )
case CATCH_FRAME:
case UNDERFLOW_FRAME:
case STOP_FRAME:
+ case ATOMICALLY_FRAME:
+ case CATCH_RETRY_FRAME:
+ case CATCH_STM_FRAME:
printClosure((StgClosure*)sp);
continue;