diff options
Diffstat (limited to 'compiler/ghci/ByteCodeGen.hs')
-rw-r--r-- | compiler/ghci/ByteCodeGen.hs | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/compiler/ghci/ByteCodeGen.hs b/compiler/ghci/ByteCodeGen.hs index 13cb83df14..90fcb6d2ca 100644 --- a/compiler/ghci/ByteCodeGen.hs +++ b/compiler/ghci/ByteCodeGen.hs @@ -47,9 +47,7 @@ import Unique import FastString import Panic import StgCmmClosure ( NonVoid(..), fromNonVoid, nonVoidIds ) -import StgCmmLayout ( ArgRep(..), FieldOffOrPadding(..), - toArgRep, argRepSizeW, - mkVirtHeapOffsetsWithPadding, mkVirtConstrOffsets ) +import StgCmmLayout import SMRep hiding (WordOff, ByteOff, wordsToBytes) import Bitmap import OrdList @@ -801,9 +799,8 @@ mkConAppCode orig_d _ p con args_r_to_l = , let prim_rep = atomPrimRep arg , not (isVoidRep prim_rep) ] - is_thunk = False (_, _, args_offsets) = - mkVirtHeapOffsetsWithPadding dflags is_thunk non_voids + mkVirtHeapOffsetsWithPadding dflags StdHeader non_voids do_pushery !d (arg : args) = do (push, arg_bytes) <- case arg of @@ -970,7 +967,7 @@ doCase d s p (_,scrut) bndr alts is_unboxed_tuple -- algebraic alt with some binders | otherwise = let (tot_wds, _ptrs_wds, args_offsets) = - mkVirtConstrOffsets dflags + mkVirtHeapOffsets dflags NoHeader [ NonVoid (bcIdPrimRep id, id) | NonVoid id <- nonVoidIds real_bndrs ] @@ -980,7 +977,7 @@ doCase d s p (_,scrut) bndr alts is_unboxed_tuple -- convert offsets from Sp into offsets into the virtual stack p' = Map.insertList - [ (arg, stack_bot + wordSize dflags - ByteOff offset) + [ (arg, stack_bot - ByteOff offset) | (NonVoid arg, offset) <- args_offsets ] p_alts in do |