diff options
author | Ben Gamari <ben@smart-cactus.org> | 2022-01-12 00:00:20 -0500 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2022-01-12 00:07:19 -0500 |
commit | 458238aefbfa4aae172d8cc89dfc78635b11369f (patch) | |
tree | 3d01ca6974a4e180aac6b572ae74e6384a469a36 | |
parent | 784679fee141b4cabe70648510118aa9e57bbe8f (diff) | |
download | haskell-wip/T20194.tar.gz |
Squash into "potential fix"wip/T20194
-rw-r--r-- | compiler/GHC/StgToByteCode.hs | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/compiler/GHC/StgToByteCode.hs b/compiler/GHC/StgToByteCode.hs index 3edc26ddf3..c67a897383 100644 --- a/compiler/GHC/StgToByteCode.hs +++ b/compiler/GHC/StgToByteCode.hs @@ -841,9 +841,8 @@ doCase d s p scrut bndr alts -- An unlifted value gets an extra info table pushed on top -- when it is returned. unlifted_itbl_size_b :: StackDepth - unlifted_itbl_size_b | ubx_tuple_frame = 3 * wordSize platform - | not (isUnliftedType bndr_ty) = 0 - | otherwise = wordSize platform + unlifted_itbl_size_b | ubx_tuple_frame = 2 * wordSize platform -- TODO: Check this + | otherwise = 0 (bndr_size, tuple_info, args_offsets) | ubx_tuple_frame = @@ -1007,8 +1006,8 @@ doCase d s p scrut bndr alts alt_final0 <- mkMultiBranch maybe_ncons alt_stuff -- Pop the frame header in the case of unlifted things. let alt_final - -- | ubx_tuple_frame = mkSlideW 0 2 `mappend` alt_final0 - -- | isUnliftedType bndr_ty = mkSlideW 0 1 `mappend` alt_final0 + | ubx_tuple_frame = mkSlideW 0 2 `mappend` alt_final0 + | isUnliftedType bndr_ty = mkSlideW 0 1 `mappend` alt_final0 | otherwise = alt_final0 let |