Commit 7305dd72 authored by Simon Marlow's avatar Simon Marlow
Browse files

mkLiveness: when calculating the size of a parameter, round up not down.

Fixes read002 on x86_64 (and maybe others).  The stg_ap_f_info info
table had the wrong liveness on it, because the float had been treated
as having zero size.
parent bb6a7d1a
......@@ -214,7 +214,9 @@ mkLiveness uniq live =
mkBits (reg:regs) = take sizeW bits ++ mkBits regs where
sizeW = case reg of
Nothing -> 1
Just r -> machRepByteWidth (localRegRep r) `quot` wORD_SIZE
Just r -> (machRepByteWidth (localRegRep r) + wORD_SIZE - 1)
`quot` wORD_SIZE
-- number of words, rounded up
bits = repeat $ is_non_ptr reg -- True <=> Non Ptr
is_non_ptr Nothing = True
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment