#include "HsVersions.h"
-import Constants ( dOUBLE_SIZE, iNT64_SIZE, wORD64_SIZE )
-import Util
+import Constants ( dOUBLE_SIZE, iNT64_SIZE, wORD64_SIZE, wORD_SIZE )
import Outputable
\end{code}
retPrimRepSize = getPrimRepSize RetRep
--- size in bytes, ToDo: cpp in the right vals.
+-- sizes in bytes.
-- (used in some settings to figure out how many bytes
-- we have to push onto the stack when calling external
-- entry points (e.g., stdcalling on win32)
case pr of
CharRep -> 4
Int8Rep -> 1
- IntRep -> 4
- AddrRep -> 4
- FloatRep -> 4
- DoubleRep -> 8
- Word64Rep -> 8
- Int64Rep -> 8
- WeakPtrRep -> 4
- ForeignObjRep -> 4
- StablePtrRep -> 4
- StableNameRep -> 4
- ArrayRep -> 4
- ByteArrayRep -> 4
- _ -> panic "getPrimRepSize: ouch - this wasn't supposed to happen!"
+ IntRep -> wORD_SIZE
+ AddrRep -> wORD_SIZE
+ FloatRep -> wORD_SIZE
+ DoubleRep -> dOUBLE_SIZE * wORD_SIZE
+ Word64Rep -> wORD64_SIZE * wORD_SIZE
+ Int64Rep -> iNT64_SIZE * wORD_SIZE
+ WeakPtrRep -> wORD_SIZE
+ ForeignObjRep -> wORD_SIZE
+ StablePtrRep -> wORD_SIZE
+ StableNameRep -> wORD_SIZE
+ ArrayRep -> wORD_SIZE
+ ByteArrayRep -> wORD_SIZE
+ _ -> panic "getPrimRepSize: ouch - this wasn't supposed to happen!"
\end{code}