diff options
author | Andreas Klebinger <klebinger.andreas@gmx.at> | 2022-03-17 21:31:47 +0100 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2022-03-19 07:37:00 -0400 |
commit | d1c03719277c2eda9ee9f4b45c62fa954b609b8e (patch) | |
tree | 1912b23a4888b641ec215d30643c5705ddd144a0 | |
parent | 244da9ebc01b2a8c72f78e7be4411c32a4d0f524 (diff) | |
download | haskell-d1c03719277c2eda9ee9f4b45c62fa954b609b8e.tar.gz |
Compact regions: Maintain tags properly
Fixes #21251
-rw-r--r-- | rts/Compact.cmm | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/rts/Compact.cmm b/rts/Compact.cmm index 8a358e1da5..101c002834 100644 --- a/rts/Compact.cmm +++ b/rts/Compact.cmm @@ -224,7 +224,7 @@ eval: CONSTR_1_1: { (should) = ccall shouldCompact(compact "ptr", p "ptr"); - if (should == SHOULDCOMPACT_IN_CNF) { P_[pp] = p; return(); } + if (should == SHOULDCOMPACT_IN_CNF) { P_[pp] = tag | p; return(); } constructor: @@ -274,7 +274,7 @@ eval: (should) = ccall shouldCompact(compact "ptr", p "ptr"); if (should == SHOULDCOMPACT_IN_CNF || - should == SHOULDCOMPACT_STATIC) { P_[pp] = p; return(); } + should == SHOULDCOMPACT_STATIC) { P_[pp] = tag | p; return(); } goto constructor; }} |