X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fghci%2FByteCodeAsm.lhs;h=de85a6be400348138cbf02fa6d62764d52c85d76;hb=46aed8a4a084add708bbd119d19905105d5f0d72;hp=c6c7a0d0f9e3e0ca7ffac11ae1c53993685a3885;hpb=21692096cce60108185c777c0ecc8d113fd61bf7;p=ghc-hetmet.git diff --git a/compiler/ghci/ByteCodeAsm.lhs b/compiler/ghci/ByteCodeAsm.lhs index c6c7a0d..de85a6b 100644 --- a/compiler/ghci/ByteCodeAsm.lhs +++ b/compiler/ghci/ByteCodeAsm.lhs @@ -154,10 +154,10 @@ assembleBCO (ProtoBCO nm instrs bitmap bsize arity _origin _malloced) insns_arr | n_insns > 65535 = panic "linkBCO: >= 64k insns in BCO" | otherwise = mkInstrArray n_insns asm_insns - insns_barr = case insns_arr of UArray _lo _hi _n barr -> barr + !insns_barr = case insns_arr of UArray _lo _hi _n barr -> barr bitmap_arr = mkBitmapArray bsize bitmap - bitmap_barr = case bitmap_arr of UArray _lo _hi _n barr -> barr + !bitmap_barr = case bitmap_arr of UArray _lo _hi _n barr -> barr let ul_bco = UnlinkedBCO nm arity insns_barr bitmap_barr final_lits final_ptrs @@ -377,12 +377,12 @@ mkBits findLabel st proto_insns return (sizeSS st_l0, (st_i0,st_l1,st_p0)) #ifdef mingw32_TARGET_OS - literal st (MachLabel fs (Just sz)) + literal st (MachLabel fs (Just sz) _) = litlabel st (appendFS fs (mkFastString ('@':show sz))) -- On Windows, stdcall labels have a suffix indicating the no. of -- arg words, e.g. foo@8. testcase: ffi012(ghci) #endif - literal st (MachLabel fs _) = litlabel st fs + literal st (MachLabel fs _ _) = litlabel st fs literal st (MachWord w) = int st (fromIntegral w) literal st (MachInt j) = int st (fromIntegral j) literal st MachNullAddr = int st (fromIntegral 0)