- p->header.info == (const StgInfoTable*)&Wzh_con_info ||
- p->header.info == (const StgInfoTable*)&Wzh_static_info ) {
- return (unsigned int)(p->payload[0]);
+ p->header.info == Wzh_con_info ||
+ p->header.info == Wzh_static_info ) {
+ return (HsWord)(p->payload[0]);
+ } else {
+ barf("rts_getWord: not a Word");
+ }
+}
+
+HsWord8
+rts_getWord8 (HaskellObj p)
+{
+ if ( 1 || /* see above comment */
+ p->header.info == W8zh_con_info ||
+ p->header.info == W8zh_static_info ) {
+ return (HsWord8)(HsWord)(p->payload[0]);
+ } else {
+ barf("rts_getWord8: not a Word8");
+ }
+}
+
+HsWord16
+rts_getWord16 (HaskellObj p)
+{
+ if ( 1 || /* see above comment */
+ p->header.info == W16zh_con_info ||
+ p->header.info == W16zh_static_info ) {
+ return (HsWord16)(HsWord)(p->payload[0]);