diff options
Diffstat (limited to 'compiler/GHC/StgToByteCode.hs')
-rw-r--r-- | compiler/GHC/StgToByteCode.hs | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/compiler/GHC/StgToByteCode.hs b/compiler/GHC/StgToByteCode.hs index 989121207d..7cf5f477b7 100644 --- a/compiler/GHC/StgToByteCode.hs +++ b/compiler/GHC/StgToByteCode.hs @@ -271,7 +271,7 @@ argBits :: Platform -> [ArgRep] -> [Bool] argBits _ [] = [] argBits platform (rep : args) | isFollowableArg rep = False : argBits platform args - | otherwise = take (argRepSizeW platform rep) (repeat True) ++ argBits platform args + | otherwise = replicate (argRepSizeW platform rep) True ++ argBits platform args non_void :: [ArgRep] -> [ArgRep] non_void = filter nv @@ -1818,8 +1818,7 @@ mkMultiBranch maybe_ncons raw_ways = do mkTree vals range_lo range_hi = let n = length vals `div` 2 - vals_lo = take n vals - vals_hi = drop n vals + (vals_lo, vals_hi) = splitAt n vals v_mid = fst (head vals_hi) in do label_geq <- getLabelBc |