@@ -155,13 +155,13 @@ serialize_cap_ops :: MonadIO m => OutputBuffer -> CapOps -> EvalT m OutputBuffer
155serialize_cap_ops out_ptr ops = foldM serialize_cap_op out_ptr ops
155serialize_cap_ops out_ptr ops = foldM serialize_cap_op out_ptr ops
157serialize_cap_op :: MonadIO m => OutputBuffer -> CapOp -> EvalT m OutputBuffer
157serialize_cap_op :: MonadIO m => OutputBuffer -> CapOp -> EvalT m OutputBuffer
158−serialize_cap_op out_ptr ( Bytes !offset !byte_count !next_offset ) = do
158+serialize_cap_op !out_ptr ( Bytes !offset !byte_count !next_offset ) = do
159− (cap, _) <- ask
159+ ( !cap, _) <- ask
160 let ( !start_ptr, _ ) = cap_bytes cap
160 let ( !start_ptr, _ ) = cap_bytes cap
161 !src_ptr = start_ptr `plusPtr` offset
161 !src_ptr = start_ptr `plusPtr` offset
162 !out_ptr' = out_ptr `plusPtr` next_offset
162 !out_ptr' = out_ptr `plusPtr` next_offset
163 liftIO $! memcpy out_ptr src_ptr byte_count
163 liftIO $! memcpy out_ptr src_ptr byte_count
164− return out_ptr'
164+ return $! out_ptr'
165serialize_cap_op out_ptr DecOut = do
165serialize_cap_op out_ptr DecOut = do
167 let out_str = show p
167 let out_str = show p