import DataCon ( DataCon )
import VarSet ( VarSet )
import PrimOp ( PrimOp )
-import Foreign ( Addr )
-
+import Ptr
\end{code}
%************************************************************************
-- what the BCO came from
(Either [AnnAlt Id VarSet]
(AnnExpr Id VarSet))
- [Addr] -- malloc'd; free when BCO is GCd
+ [Ptr ()] -- malloc'd; free when BCO is GCd
nameOfProtoBCO (ProtoBCO nm insns origin malloced) = nm
| PUSH_AS Name PrimRep -- push alts and BCO_ptr_ret_info
-- PrimRep so we know which itbl
-- Pushing literals
- | PUSH_UBX (Either Literal Addr)
+ | PUSH_UBX (Either Literal (Ptr ()))
Int -- push this int/float/double/addr, NO TAG, on the stack
-- Int is # of words to copy from literal pool
-- Eitherness reflects the difficulty of dealing with
| JMP LocalLabel
-- For doing calls to C (via glue code generated by ByteCodeFFI)
- | CCALL Addr -- of the glue code
+ | CCALL (Ptr ()) -- of the glue code
| SWIZZLE Int Int -- to the ptr N words down the stack,
-- add M (interpreted as a signed 16-bit entity)