| IndexOffForeignObjOp PrimRep
| UnsafeFreezeArrayOp | UnsafeFreezeByteArrayOp
+ | SizeofByteArrayOp | SizeofMutableByteArrayOp
| NewSynchVarOp -- for MVars and IVars
| TakeMVarOp | PutMVarOp
tagOf_PrimOp NewArrayOp = ILIT(122)
tagOf_PrimOp (NewByteArrayOp CharRep) = ILIT(123)
tagOf_PrimOp (NewByteArrayOp IntRep) = ILIT(124)
-tagOf_PrimOp (NewByteArrayOp AddrRep) = ILIT(125)
-tagOf_PrimOp (NewByteArrayOp FloatRep) = ILIT(126)
-tagOf_PrimOp (NewByteArrayOp DoubleRep) = ILIT(127)
-tagOf_PrimOp SameMutableArrayOp = ILIT(128)
-tagOf_PrimOp SameMutableByteArrayOp = ILIT(129)
-tagOf_PrimOp ReadArrayOp = ILIT(130)
-tagOf_PrimOp WriteArrayOp = ILIT(131)
-tagOf_PrimOp IndexArrayOp = ILIT(132)
-tagOf_PrimOp (ReadByteArrayOp CharRep) = ILIT(133)
-tagOf_PrimOp (ReadByteArrayOp IntRep) = ILIT(134)
-tagOf_PrimOp (ReadByteArrayOp AddrRep) = ILIT(135)
-tagOf_PrimOp (ReadByteArrayOp FloatRep) = ILIT(136)
-tagOf_PrimOp (ReadByteArrayOp DoubleRep) = ILIT(137)
-tagOf_PrimOp (WriteByteArrayOp CharRep) = ILIT(138)
-tagOf_PrimOp (WriteByteArrayOp IntRep) = ILIT(139)
-tagOf_PrimOp (WriteByteArrayOp AddrRep) = ILIT(140)
-tagOf_PrimOp (WriteByteArrayOp FloatRep) = ILIT(141)
-tagOf_PrimOp (WriteByteArrayOp DoubleRep) = ILIT(142)
-tagOf_PrimOp (IndexByteArrayOp CharRep) = ILIT(143)
-tagOf_PrimOp (IndexByteArrayOp IntRep) = ILIT(144)
-tagOf_PrimOp (IndexByteArrayOp AddrRep) = ILIT(145)
-tagOf_PrimOp (IndexByteArrayOp FloatRep) = ILIT(146)
-tagOf_PrimOp (IndexByteArrayOp DoubleRep) = ILIT(147)
-tagOf_PrimOp (IndexOffAddrOp CharRep) = ILIT(148)
-tagOf_PrimOp (IndexOffAddrOp IntRep) = ILIT(149)
-tagOf_PrimOp (IndexOffAddrOp AddrRep) = ILIT(150)
-tagOf_PrimOp (IndexOffAddrOp FloatRep) = ILIT(151)
-tagOf_PrimOp (IndexOffAddrOp DoubleRep) = ILIT(152)
-tagOf_PrimOp (IndexOffForeignObjOp CharRep) = ILIT(153)
-tagOf_PrimOp (IndexOffForeignObjOp IntRep) = ILIT(154)
-tagOf_PrimOp (IndexOffForeignObjOp AddrRep) = ILIT(155)
-tagOf_PrimOp (IndexOffForeignObjOp FloatRep) = ILIT(156)
-tagOf_PrimOp (IndexOffForeignObjOp DoubleRep) = ILIT(157)
-tagOf_PrimOp UnsafeFreezeArrayOp = ILIT(158)
-tagOf_PrimOp UnsafeFreezeByteArrayOp = ILIT(159)
-tagOf_PrimOp NewSynchVarOp = ILIT(160)
-tagOf_PrimOp TakeMVarOp = ILIT(161)
-tagOf_PrimOp PutMVarOp = ILIT(162)
-tagOf_PrimOp ReadIVarOp = ILIT(163)
-tagOf_PrimOp WriteIVarOp = ILIT(164)
-tagOf_PrimOp MakeForeignObjOp = ILIT(165)
-tagOf_PrimOp WriteForeignObjOp = ILIT(166)
-tagOf_PrimOp MakeStablePtrOp = ILIT(167)
-tagOf_PrimOp DeRefStablePtrOp = ILIT(168)
-tagOf_PrimOp (CCallOp _ _ _ _ _) = ILIT(169)
-tagOf_PrimOp ErrorIOPrimOp = ILIT(170)
-tagOf_PrimOp ReallyUnsafePtrEqualityOp = ILIT(171)
-tagOf_PrimOp SeqOp = ILIT(172)
-tagOf_PrimOp ParOp = ILIT(173)
-tagOf_PrimOp ForkOp = ILIT(174)
-tagOf_PrimOp DelayOp = ILIT(175)
-tagOf_PrimOp WaitReadOp = ILIT(176)
-tagOf_PrimOp WaitWriteOp = ILIT(177)
-tagOf_PrimOp ParGlobalOp = ILIT(178)
-tagOf_PrimOp ParLocalOp = ILIT(179)
-tagOf_PrimOp ParAtOp = ILIT(180)
-tagOf_PrimOp ParAtAbsOp = ILIT(181)
-tagOf_PrimOp ParAtRelOp = ILIT(182)
-tagOf_PrimOp ParAtForNowOp = ILIT(183)
-tagOf_PrimOp CopyableOp = ILIT(184)
-tagOf_PrimOp NoFollowOp = ILIT(185)
+tagOf_PrimOp (NewByteArrayOp WordRep) = ILIT(125)
+tagOf_PrimOp (NewByteArrayOp AddrRep) = ILIT(126)
+tagOf_PrimOp (NewByteArrayOp FloatRep) = ILIT(127)
+tagOf_PrimOp (NewByteArrayOp DoubleRep) = ILIT(128)
+tagOf_PrimOp SameMutableArrayOp = ILIT(129)
+tagOf_PrimOp SameMutableByteArrayOp = ILIT(130)
+tagOf_PrimOp ReadArrayOp = ILIT(131)
+tagOf_PrimOp WriteArrayOp = ILIT(132)
+tagOf_PrimOp IndexArrayOp = ILIT(133)
+tagOf_PrimOp (ReadByteArrayOp CharRep) = ILIT(134)
+tagOf_PrimOp (ReadByteArrayOp IntRep) = ILIT(135)
+tagOf_PrimOp (ReadByteArrayOp WordRep) = ILIT(136)
+tagOf_PrimOp (ReadByteArrayOp AddrRep) = ILIT(137)
+tagOf_PrimOp (ReadByteArrayOp FloatRep) = ILIT(138)
+tagOf_PrimOp (ReadByteArrayOp DoubleRep) = ILIT(139)
+tagOf_PrimOp (WriteByteArrayOp CharRep) = ILIT(140)
+tagOf_PrimOp (WriteByteArrayOp IntRep) = ILIT(141)
+tagOf_PrimOp (WriteByteArrayOp WordRep) = ILIT(142)
+tagOf_PrimOp (WriteByteArrayOp AddrRep) = ILIT(143)
+tagOf_PrimOp (WriteByteArrayOp FloatRep) = ILIT(144)
+tagOf_PrimOp (WriteByteArrayOp DoubleRep) = ILIT(145)
+tagOf_PrimOp (IndexByteArrayOp CharRep) = ILIT(146)
+tagOf_PrimOp (IndexByteArrayOp IntRep) = ILIT(147)
+tagOf_PrimOp (IndexByteArrayOp WordRep) = ILIT(148)
+tagOf_PrimOp (IndexByteArrayOp AddrRep) = ILIT(149)
+tagOf_PrimOp (IndexByteArrayOp FloatRep) = ILIT(150)
+tagOf_PrimOp (IndexByteArrayOp DoubleRep) = ILIT(151)
+tagOf_PrimOp (IndexOffAddrOp CharRep) = ILIT(152)
+tagOf_PrimOp (IndexOffAddrOp IntRep) = ILIT(153)
+tagOf_PrimOp (IndexOffAddrOp WordRep) = ILIT(154)
+tagOf_PrimOp (IndexOffAddrOp AddrRep) = ILIT(155)
+tagOf_PrimOp (IndexOffAddrOp FloatRep) = ILIT(156)
+tagOf_PrimOp (IndexOffAddrOp DoubleRep) = ILIT(157)
+tagOf_PrimOp (IndexOffForeignObjOp CharRep) = ILIT(158)
+tagOf_PrimOp (IndexOffForeignObjOp IntRep) = ILIT(159)
+tagOf_PrimOp (IndexOffForeignObjOp WordRep) = ILIT(160)
+tagOf_PrimOp (IndexOffForeignObjOp AddrRep) = ILIT(161)
+tagOf_PrimOp (IndexOffForeignObjOp FloatRep) = ILIT(162)
+tagOf_PrimOp (IndexOffForeignObjOp DoubleRep) = ILIT(163)
+tagOf_PrimOp UnsafeFreezeArrayOp = ILIT(164)
+tagOf_PrimOp UnsafeFreezeByteArrayOp = ILIT(165)
+tagOf_PrimOp SizeofByteArrayOp = ILIT(166)
+tagOf_PrimOp SizeofMutableByteArrayOp = ILIT(167)
+tagOf_PrimOp NewSynchVarOp = ILIT(168)
+tagOf_PrimOp TakeMVarOp = ILIT(169)
+tagOf_PrimOp PutMVarOp = ILIT(170)
+tagOf_PrimOp ReadIVarOp = ILIT(171)
+tagOf_PrimOp WriteIVarOp = ILIT(172)
+tagOf_PrimOp MakeForeignObjOp = ILIT(173)
+tagOf_PrimOp WriteForeignObjOp = ILIT(174)
+tagOf_PrimOp MakeStablePtrOp = ILIT(175)
+tagOf_PrimOp DeRefStablePtrOp = ILIT(176)
+tagOf_PrimOp (CCallOp _ _ _ _ _) = ILIT(177)
+tagOf_PrimOp ErrorIOPrimOp = ILIT(178)
+tagOf_PrimOp ReallyUnsafePtrEqualityOp = ILIT(179)
+tagOf_PrimOp SeqOp = ILIT(180)
+tagOf_PrimOp ParOp = ILIT(181)
+tagOf_PrimOp ForkOp = ILIT(182)
+tagOf_PrimOp DelayOp = ILIT(183)
+tagOf_PrimOp WaitReadOp = ILIT(184)
+tagOf_PrimOp WaitWriteOp = ILIT(185)
+tagOf_PrimOp ParGlobalOp = ILIT(186)
+tagOf_PrimOp ParLocalOp = ILIT(187)
+tagOf_PrimOp ParAtOp = ILIT(188)
+tagOf_PrimOp ParAtAbsOp = ILIT(189)
+tagOf_PrimOp ParAtRelOp = ILIT(190)
+tagOf_PrimOp ParAtForNowOp = ILIT(191)
+tagOf_PrimOp CopyableOp = ILIT(192)
+tagOf_PrimOp NoFollowOp = ILIT(193)
tagOf_PrimOp _ = panic# "tagOf_PrimOp: pattern-match"
NewArrayOp,
NewByteArrayOp CharRep,
NewByteArrayOp IntRep,
+ NewByteArrayOp WordRep,
NewByteArrayOp AddrRep,
NewByteArrayOp FloatRep,
NewByteArrayOp DoubleRep,
IndexArrayOp,
ReadByteArrayOp CharRep,
ReadByteArrayOp IntRep,
+ ReadByteArrayOp WordRep,
ReadByteArrayOp AddrRep,
ReadByteArrayOp FloatRep,
ReadByteArrayOp DoubleRep,
WriteByteArrayOp CharRep,
WriteByteArrayOp IntRep,
+ WriteByteArrayOp WordRep,
WriteByteArrayOp AddrRep,
WriteByteArrayOp FloatRep,
WriteByteArrayOp DoubleRep,
IndexByteArrayOp CharRep,
IndexByteArrayOp IntRep,
+ IndexByteArrayOp WordRep,
IndexByteArrayOp AddrRep,
IndexByteArrayOp FloatRep,
IndexByteArrayOp DoubleRep,
IndexOffAddrOp CharRep,
IndexOffAddrOp IntRep,
+ IndexOffAddrOp WordRep,
IndexOffAddrOp AddrRep,
IndexOffAddrOp FloatRep,
IndexOffAddrOp DoubleRep,
IndexOffForeignObjOp CharRep,
IndexOffForeignObjOp IntRep,
+ IndexOffForeignObjOp WordRep,
IndexOffForeignObjOp AddrRep,
IndexOffForeignObjOp FloatRep,
IndexOffForeignObjOp DoubleRep,
UnsafeFreezeArrayOp,
UnsafeFreezeByteArrayOp,
+ SizeofByteArrayOp,
+ SizeofMutableByteArrayOp,
NewSynchVarOp,
ReadArrayOp,
TakeMVarOp,
where
tbl = [ (CharRep, stateAndCharPrimTyCon),
(IntRep, stateAndIntPrimTyCon),
+ (WordRep, stateAndWordPrimTyCon),
(AddrRep, stateAndAddrPrimTyCon),
(FloatRep, stateAndFloatPrimTyCon),
(DoubleRep, stateAndDoublePrimTyCon) ]
AlgResult SLIT("unsafeFreezeByteArray#") [s_tv]
[mkMutableByteArrayPrimTy s, mkStatePrimTy s]
stateAndByteArrayPrimTyCon [s]
+---------------------------------------------------------------------------
+primOpInfo SizeofByteArrayOp
+ = PrimResult
+ SLIT("sizeofByteArray#") []
+ [byteArrayPrimTy]
+ intPrimTyCon IntRep []
+
+primOpInfo SizeofMutableByteArrayOp
+ = let { s = alphaTy; s_tv = alphaTyVar } in
+ PrimResult
+ SLIT("sizeofMutableByteArray#") [s_tv]
+ [mkMutableByteArrayPrimTy s]
+ intPrimTyCon IntRep []
+
\end{code}
%************************************************************************