CVS: sml-dist primop-list,1.1.2.13,1.1.2.14
David MacQueen <[email protected]> Sat, 29 Jul 2006 20:43:36 -0700
| Newsgroups | gmane.comp.lang.sml.smlnj.commits |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/smlnj/sml-dist
In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv23745
Modified Files:
Tag: primop-branch-2
primop-list
Log Message:
minor edits of primop-list
Index: primop-list
===================================================================
RCS file: /cvsroot/smlnj/sml-dist/Attic/primop-list,v
retrieving revision 1.1.2.13
retrieving revision 1.1.2.14
diff -C2 -d -r1.1.2.13 -r1.1.2.14
*** primop-list 13 Jul 2006 22:28:03 -0000 1.1.2.13
--- primop-list 30 Jul 2006 03:43:34 -0000 1.1.2.14
***************
*** 5,9 ****
structure that contains the "environmental" primops. This is defined
in PrimEnv (Semant/statenv/prim.sml). The secondary bindings are
! found in InlineT, defined in system/smlnj/init/built-in.sml.
Ternary bindings are found in the Basis modules (system/Basis).
--- 5,18 ----
structure that contains the "environmental" primops. This is defined
in PrimEnv (Semant/statenv/prim.sml). The secondary bindings are
! found in the following modules:
!
! InlineT (system/smlnj/init/built-in.sml)
! Core (system/smlnj/init/core.sml)
! CoreIntInf (system/smlnj/init/core-intinf.sml)
! CoreWord64 (system/smlnj/init/core-word64.sml)
! MathInlineT (system/smlnj/init/math-built-in-x86.sml)
! RawMemInlineT (system/smlnj/init/rawmem.sml)
!
!
Ternary bindings are found in the Basis modules (system/Basis).
***************
*** 42,51 ****
InlineT.unboxed : 'a -> bool
! 10 cast, P.CAST, 'a -> 'b
! InlineT.cast : 'a -> 'b
! InlineT.identity : 'a -> 'a
! InlineT.Char.ord : char -> int
! InlineT.IntInf.toLarge : intinf -> intinf (* Aliased to identity *)
! InlineT.IntInf.fromLarge : intinf -> intinf
11 =, P.POLYEQL, ''a * ''a -> bool
--- 51,60 ----
InlineT.unboxed : 'a -> bool
! 10 cast, P.CAST, 'a -> 'b
! InlineT.cast : 'a -> 'b
! InlineT.identity : 'a -> 'a
! InlineT.Char.ord : char -> int
! InlineT.IntInf.toLarge : intinf -> intinf (* Aliased to identity *)
! InlineT.IntInf.fromLarge : intinf -> intinf
11 =, P.POLYEQL, ''a * ''a -> bool
***************
*** 126,148 ****
InlineT.inlnot : bool -> bool
! 35 floor, P.ROUND{floor=true,
! fromkind=P.FLOAT 64,
! tokind=P.INT 31}, real -> int
! 36 round, P.ROUND{floor=false,
! fromkind=P.FLOAT 64,
! tokind=P.INT 31}, real -> int
! 37 real, P.REAL{fromkind=P.INT 31,
! tokind=P.FLOAT 64}, int -> real
! InlineT.Real64.from_int31 : int -> real
! 38 real32, P.REAL{fromkind=P.INT 32,
! tokind=P.FLOAT 64}, int32 -> real
! InlineT.Real64.from_int32 : int32 -> real
! 39 ordof, P.NUMSUBSCRIPT{kind=P.INT 8,
! checked=false,
! immutable=true}, 'a * int -> 'b
InlineT.Word8Array.sub : Word8Array.array * int -> word8
InlineT.Word8Vector.sub : Word8Vector.vector * int -> word8
--- 135,149 ----
InlineT.inlnot : bool -> bool
! 35 floor, P.ROUND{floor=true,fromkind=P.FLOAT 64,tokind=P.INT 31}, real -> int
! 36 round, P.ROUND{floor=false,fromkind=P.FLOAT 64,tokind=P.INT 31}, real -> int
! 37 real, P.REAL{fromkind=P.INT 31,tokind=P.FLOAT 64}, int -> real
! InlineT.Real64.from_int31 : int -> real
! 38 real32, P.REAL{fromkind=P.INT 32,tokind=P.FLOAT 64}, int32 -> real
! InlineT.Real64.from_int32 : int32 -> real
! 39 ordof, P.NUMSUBSCRIPT{kind=P.INT 8,checked=false,immutable=true}, 'a * int -> 'b
InlineT.Word8Array.sub : Word8Array.array * int -> word8
InlineT.Word8Vector.sub : Word8Vector.vector * int -> word8
***************
*** 150,155 ****
InlineT.CharVector.sub : string * int -> char
! 40 store, P.NUMUPDATE{kind=P.INT 8,
! checked=false}, 'a * int * 'b -> unit
InlineT.Word8Array.update : Word8Array.array * int * word8 -> unit
InlineT.Word8Vector.update : Word8Vector.vector * int * word8 -> unit
--- 151,155 ----
InlineT.CharVector.sub : string * int -> char
! 40 store, P.NUMUPDATE{kind=P.INT 8,checked=false}, 'a * int * 'b -> unit
InlineT.Word8Array.update : Word8Array.array * int * word8 -> unit
InlineT.Word8Vector.update : Word8Vector.vector * int * word8 -> unit
***************
*** 157,178 ****
InlineT.CharVector.update : string * int * char -> unit
! 41 inlbyteof, P.NUMSUBSCRIPT{kind=P.INT 8,
! checked=true,
! immutable=false}, 'a * int -> 'b
InlineT.Word8Array.chkSub : Word8Array.array * int -> word8
! 42 inlstore, P.NUMUPDATE{kind=P.INT 8,
! checked=true}, 'a * int * 'b -> unit
InlineT.Word8Array.chkUpdate : Word8Array.array * int * word8 -> unit
InlineT.CharArray.chkUpdate : CharArray.array * int * char -> unit
! 43 inlordof, P.NUMSUBSCRIPT{kind=P.INT 8,
! checked=true,
! immutable=true}, 'a * int -> 'b
InlineT.Word8Vector.chkSub : Word8Vector.vector * int -> word8
InlineT.CharArray.chkSub : CharArray.array * int -> char
InlineT.CharVector.chkSub : string * int -> char
! (*** polymorphic array and vector ***)
44 mkarray, P.INLMKARRAY, int * 'a -> 'a array
InlineT.PolyArray.array : int * 'a -> 'a array
--- 157,174 ----
InlineT.CharVector.update : string * int * char -> unit
! 41 inlbyteof, P.NUMSUBSCRIPT{kind=P.INT 8,checked=true,immutable=false}, 'a * int -> 'b
InlineT.Word8Array.chkSub : Word8Array.array * int -> word8
! 42 inlstore, P.NUMUPDATE{kind=P.INT 8,checked=true}, 'a * int * 'b -> unit
InlineT.Word8Array.chkUpdate : Word8Array.array * int * word8 -> unit
InlineT.CharArray.chkUpdate : CharArray.array * int * char -> unit
! 43 inlordof, P.NUMSUBSCRIPT{kind=P.INT 8,checked=true,immutable=true}, 'a * int -> 'b
InlineT.Word8Vector.chkSub : Word8Vector.vector * int -> word8
InlineT.CharArray.chkSub : CharArray.array * int -> char
InlineT.CharVector.chkSub : string * int -> char
! (*** polymorphic array and vector ***)
!
44 mkarray, P.INLMKARRAY, int * 'a -> 'a array
InlineT.PolyArray.array : int * 'a -> 'a array
***************
*** 198,202 ****
InlineT.PolyArray.chkUpdate : 'a array * int * 'a -> unit
! (* new array representations *)
51 newArray0, P.NEW_ARRAY0, unit -> 'a
InlineT.PolyArray.newArray0 : unit -> 'a array
--- 194,199 ----
InlineT.PolyArray.chkUpdate : 'a array * int * 'a -> unit
! (*** new array representations ***)
!
51 newArray0, P.NEW_ARRAY0, unit -> 'a
InlineT.PolyArray.newArray0 : unit -> 'a array
***************
*** 221,229 ****
InlineT.raw64Sub : 'a * int -> real
! (* *** conversion primops ***
! * There are certain duplicates for the same primop (but with
! * different types). In such a case, the canonical name
! * of the primop has been extended using a simple suffix
! * scheme. *)
55 test_32_31_w, P.TEST(32,31), word32 -> int
InlineT.Word32.test_int31 : word32 -> int
--- 218,227 ----
InlineT.raw64Sub : 'a * int -> real
! (* *** conversion primops ***
! * There are certain duplicates for the same primop (but with
! * different types). In such a case, the canonical name
! * of the primop has been extended using a simple suffix
! * scheme. *)
!
55 test_32_31_w, P.TEST(32,31), word32 -> int
InlineT.Word32.test_int31 : word32 -> int
***************
*** 411,416 ****
106 trunc_inf_64, P.TRUNC_INF 64, intinf -> word64
! (* primops to go between abstract and concrete representation of
! * 64-bit ints and words *)
107 w64p, P.CVT64, word64 -> word32 * word32
InlineT.Word64.extern : word64 -> word32 * word32
--- 409,415 ----
106 trunc_inf_64, P.TRUNC_INF 64, intinf -> word64
! (* primops to go between abstract and concrete representation of
! * 64-bit ints and words *)
!
107 w64p, P.CVT64, word64 -> word32 * word32
InlineT.Word64.extern : word64 -> word32 * word32
***************
*** 427,465 ****
InlineT.Int64.intern : word32 * word32 -> int64
! (* *** integer 31 primops ***
! * Many of the i31 primops are being abused for different types
! * (mostly Word8.word and also for char). In these cases
! * there are suffixed alternative versions of the primop
! * (i.e., same primop, different type). *)
111 i31add, int31 P.+, int * int -> int
! InlineT.Int31.op + : int * int -> int
112 i31add_8, int31 P.+, word8 * word8 -> word8
113 i31sub, int31 P.-, int * int -> int
! InlineT.Int31.op - : int * int -> int
114 i31sub_8, int31 P.-, word8 * word8 -> word8
115 i31mul, int31 P.*, int * int -> int
! InlineT.Int31.op * : int * int -> int
116 i31mul_8, int31 P.*, word8 * word8 -> word8
117 i31div, int31 P.DIV, int * int -> int
! InlineT.Int31.op div : int * int -> int
118 i31div_8, int31 P.DIV, word8 * word8 -> word8
119 i31mod, int31 P.MOD, int * int -> int
! InlineT.Int31.op mod : int * int -> int
120 i31mod_8, int31 P.MOD, word8 * word8 -> word8
121 i31quot, int31 P./, int * int -> int
! InlineT.Int31.op quot : int * int -> int
122 i31rem, int31 P.REM, int * int -> int
! InlineT.Int31.op rem : int * int -> int
123 i31orb, bits31 P.ORB, int * int -> int
--- 426,465 ----
InlineT.Int64.intern : word32 * word32 -> int64
! (*** integer 31 primops ***)
! (* Many of the i31 primops are being abused for different types
! * (mostly Word8.word and also for char). In these cases
! * there are suffixed alternative versions of the primop
! * (i.e., same primop, different type). *)
!
111 i31add, int31 P.+, int * int -> int
! InlineT.Int31.+ : int * int -> int
112 i31add_8, int31 P.+, word8 * word8 -> word8
113 i31sub, int31 P.-, int * int -> int
! InlineT.Int31.- : int * int -> int
114 i31sub_8, int31 P.-, word8 * word8 -> word8
115 i31mul, int31 P.*, int * int -> int
! InlineT.Int31.* : int * int -> int
116 i31mul_8, int31 P.*, word8 * word8 -> word8
117 i31div, int31 P.DIV, int * int -> int
! InlineT.Int31.div : int * int -> int
118 i31div_8, int31 P.DIV, word8 * word8 -> word8
119 i31mod, int31 P.MOD, int * int -> int
! InlineT.Int31.mod : int * int -> int
120 i31mod_8, int31 P.MOD, word8 * word8 -> word8
121 i31quot, int31 P./, int * int -> int
! InlineT.Int31.quot : int * int -> int
122 i31rem, int31 P.REM, int * int -> int
! InlineT.Int31.rem : int * int -> int
123 i31orb, bits31 P.ORB, int * int -> int
***************
*** 499,530 ****
137 i31lt, int31cmp P.<, int * int -> bool
! InlineT.Int31.op < : int * int -> bool
138 i31lt_8, int31cmp P.<, word8 * word8-> bool
139 i31lt_c, int31cmp P.<, char * char -> bool
! InlineT.Char.(op <=) : (char * char) -> bool
140 i31le, int31cmp P.<=, int * int -> bool
! InlineT.Int31.op <= : int * int -> bool
141 i31le_8, int31cmp P.<=, word8 * word8-> bool
142 i31le_c, int31cmp P.<=, char * char -> bool
! InlineT.Char.(op <=) : (char * char) -> bool
143 i31gt, int31cmp P.>, int * int -> bool
! InlineT.Int31.op > : int * int -> bool
144 i31gt_8, int31cmp P.>, word8 * word8-> bool
145 i31gt_c, int31cmp P.>, char * char-> bool
! InlineT.Char.(op >) : (char * char) -> bool
146 i31ge, int31cmp P.>=, int * int -> bool
! InlineT.Int31.op >= : int * int -> bool
147 i31ge_8, int31cmp P.>=, word8 * word8-> bool
148 i31ge_c, int31cmp P.>=, char * char -> bool
! InlineT.Char.(op >=) : (char * char) -> bool
149 i31ltu, word31cmp P.LTU, int * int -> bool
--- 499,530 ----
137 i31lt, int31cmp P.<, int * int -> bool
! InlineT.Int31.< : int * int -> bool
138 i31lt_8, int31cmp P.<, word8 * word8-> bool
139 i31lt_c, int31cmp P.<, char * char -> bool
! InlineT.Char.<= : (char * char) -> bool
140 i31le, int31cmp P.<=, int * int -> bool
! InlineT.Int31.<= : int * int -> bool
141 i31le_8, int31cmp P.<=, word8 * word8-> bool
142 i31le_c, int31cmp P.<=, char * char -> bool
! InlineT.Char.<= : (char * char) -> bool
143 i31gt, int31cmp P.>, int * int -> bool
! InlineT.Int31.> : int * int -> bool
144 i31gt_8, int31cmp P.>, word8 * word8-> bool
145 i31gt_c, int31cmp P.>, char * char-> bool
! InlineT.Char.> : (char * char) -> bool
146 i31ge, int31cmp P.>=, int * int -> bool
! InlineT.Int31.>= : int * int -> bool
147 i31ge_8, int31cmp P.>=, word8 * word8-> bool
148 i31ge_c, int31cmp P.>=, char * char -> bool
! InlineT.Char.>= : (char * char) -> bool
149 i31ltu, word31cmp P.LTU, int * int -> bool
***************
*** 535,542 ****
151 i31eq, int31cmp P.EQL, int * int -> bool
! InlineT.Int31.op = : int * int -> bool
152 i31ne, int31cmp P.NEQ, int * int -> bool
! InlineT.Int31.op <> : int * int -> bool
153 i31min, P.INLMIN (P.INT 31), int * int -> int
--- 535,542 ----
151 i31eq, int31cmp P.EQL, int * int -> bool
! InlineT.Int31.= : int * int -> bool
152 i31ne, int31cmp P.NEQ, int * int -> bool
! InlineT.Int31.<> : int * int -> bool
153 i31min, P.INLMIN (P.INT 31), int * int -> int
***************
*** 552,576 ****
InlineT.Int31.abs : int -> int
! (*** integer 32 primops ***)
158 i32mul, int32 P.*, int32 * int32 -> int32
! InlineT.Int32.op * : int32 * int32 -> int32
159 i32div, int32 P.DIV, int32 * int32 -> int32
! InlineT.Int32.op div : int32 * int32 -> int32
160 i32mod, int32 P.MOD, int32 * int32 -> int32
! InlineT.Int32.op mod : int32 * int32 -> int32
161 i32quot, int32 P./, int32 * int32 -> int32
! InlineT.Int32.op quot : int32 * int32 -> int32
162 i32rem, int32 P.REM, int32 * int32 -> int32
! InlineT.Int32.op rem : int32 * int32 -> int32
163 i32add, int32 P.+, int32 * int32 -> int32
! InlineT.Int32.op + : int32 * int32 -> int32
164 i32sub, int32 P.-, int32 * int32 -> int32
! InlineT.Int32.op - : int32 * int32 -> int32
165 i32orb, bits32 P.ORB, int32 * int32 -> int32
--- 552,577 ----
InlineT.Int31.abs : int -> int
! (*** integer 32 primops ***)
!
158 i32mul, int32 P.*, int32 * int32 -> int32
! InlineT.Int32.* : int32 * int32 -> int32
159 i32div, int32 P.DIV, int32 * int32 -> int32
! InlineT.Int32.div : int32 * int32 -> int32
160 i32mod, int32 P.MOD, int32 * int32 -> int32
! InlineT.Int32.mod : int32 * int32 -> int32
161 i32quot, int32 P./, int32 * int32 -> int32
! InlineT.Int32.quot : int32 * int32 -> int32
162 i32rem, int32 P.REM, int32 * int32 -> int32
! InlineT.Int32.rem : int32 * int32 -> int32
163 i32add, int32 P.+, int32 * int32 -> int32
! InlineT.Int32.+ : int32 * int32 -> int32
164 i32sub, int32 P.-, int32 * int32 -> int32
! InlineT.Int32.- : int32 * int32 -> int32
165 i32orb, bits32 P.ORB, int32 * int32 -> int32
***************
*** 594,613 ****
171 i32lt, int32cmp P.<, int32 * int32 -> bool
! InlineT.Int32.op < : int32 * int32 -> bool
172 i32le, int32cmp P.<=, int32 * int32 -> bool
! InlineT.Int32.op <= : int32 * int32 -> bool
173 i32gt, int32cmp P.>, int32 * int32 -> bool
! InlineT.Int32.op > : int32 * int32 -> bool
174 i32ge, int32cmp P.>=, int32 * int32 -> bool
! InlineT.Int32.op >= : int32 * int32 -> bool
175 i32eq, int32cmp P.EQL, int32 * int32 -> bool
! InlineT.Int32.op = : int32 * int32 -> bool
176 i32ne, int32cmp P.NEQ, int32 * int32 -> bool
! InlineT.Int32.op <> : int32 * int32 -> bool
177 i32min, P.INLMIN (P.INT 32), int32 * int32 -> int32
--- 595,614 ----
171 i32lt, int32cmp P.<, int32 * int32 -> bool
! InlineT.Int32.< : int32 * int32 -> bool
172 i32le, int32cmp P.<=, int32 * int32 -> bool
! InlineT.Int32.<= : int32 * int32 -> bool
173 i32gt, int32cmp P.>, int32 * int32 -> bool
! InlineT.Int32.> : int32 * int32 -> bool
174 i32ge, int32cmp P.>=, int32 * int32 -> bool
! InlineT.Int32.>= : int32 * int32 -> bool
175 i32eq, int32cmp P.EQL, int32 * int32 -> bool
! InlineT.Int32.= : int32 * int32 -> bool
176 i32ne, int32cmp P.NEQ, int32 * int32 -> bool
! InlineT.Int32.<> : int32 * int32 -> bool
177 i32min, P.INLMIN (P.INT 32), int32 * int32 -> int32
***************
*** 620,635 ****
InlineT.Int32.abs : int32 -> int32
! (*** float 64 primops ***)
180 f64add, purefloat64 (P.+), real * real -> real
! InlineT.Real64.op + : real * real -> real
181 f64sub, purefloat64 (P.-), real * real -> real
! InlineT.Real64.op - : real * real -> real
182 f64div, purefloat64 (P./), real * real -> real
! InlineT.Real64.op / : real * real -> real
183 f64mul, purefloat64 (P.* ), real * real -> real
! InlineT.Real64.op * : real * real -> real
184 f64neg, purefloat64 P.~, real -> real
--- 621,637 ----
InlineT.Int32.abs : int32 -> int32
! (*** float 64 primops ***)
!
180 f64add, purefloat64 (P.+), real * real -> real
! InlineT.Real64.+ : real * real -> real
181 f64sub, purefloat64 (P.-), real * real -> real
! InlineT.Real64.- : real * real -> real
182 f64div, purefloat64 (P./), real * real -> real
! InlineT.Real64./ : real * real -> real
183 f64mul, purefloat64 (P.* ), real * real -> real
! InlineT.Real64.* : real * real -> real
184 f64neg, purefloat64 P.~, real -> real
***************
*** 637,656 ****
185 f64ge, float64cmp (P.>=), real * real -> bool
! InlineT.Real64.op >= : real * real -> bool
186 f64gt, float64cmp (P.>), real * real -> bool
! InlineT.Real64.op > : real * real -> bool
187 f64le, float64cmp (P.<=), real * real -> bool
! InlineT.Real64.op <= : real * real -> bool
188 f64lt, float64cmp (P.<), real * real -> bool
! InlineT.Real64.op < : real * real -> bool
189 f64eq, float64cmp P.EQL, real * real -> bool
! InlineT.Real64.op == : real * real -> bool
190 f64ne, float64cmp P.NEQ, real * real -> bool
! InlineT.Real64.op != : real * real -> bool
191 f64abs, purefloat64 P.ABS, real -> real
--- 639,658 ----
185 f64ge, float64cmp (P.>=), real * real -> bool
! InlineT.Real64.>= : real * real -> bool
186 f64gt, float64cmp (P.>), real * real -> bool
! InlineT.Real64.> : real * real -> bool
187 f64le, float64cmp (P.<=), real * real -> bool
! InlineT.Real64.<= : real * real -> bool
188 f64lt, float64cmp (P.<), real * real -> bool
! InlineT.Real64.< : real * real -> bool
189 f64eq, float64cmp P.EQL, real * real -> bool
! InlineT.Real64.== : real * real -> bool
190 f64ne, float64cmp P.NEQ, real * real -> bool
! InlineT.Real64.!= : real * real -> bool
191 f64abs, purefloat64 P.ABS, real -> real
***************
*** 668,672 ****
InlineT.Real64.max : real * real -> real
! (*** float64 array ***)
198 f64Sub, sub (P.FLOAT 64), 'a * int -> 'b
InlineT.Real64Array.sub : Assembly.A.real64array * int -> real
--- 670,675 ----
InlineT.Real64.max : real * real -> real
! (*** float64 array ***)
!
198 f64Sub, sub (P.FLOAT 64), 'a * int -> 'b
InlineT.Real64Array.sub : Assembly.A.real64array * int -> real
***************
*** 678,686 ****
InlineT.Real64Array.update : Assembly.A.real64array * int * real -> unit
! 201 f64chkUpdate, chkUpdate (P.FLOAT 64), 'a * int * 'b -> unit
! InlineT.Real64Array.chkUpdate : Assembly.A.real64array * int * real -> unit
! (*** word8 primops ***)
(** InlineT.Word8 uses InLine.w31???_8 primops instead of these variants *)
202 w8orb, word31 P.ORB, word8 * word8 -> word8
203 w8xorb, word31 P.XORB, word8 * word8 -> word8
--- 681,690 ----
InlineT.Real64Array.update : Assembly.A.real64array * int * real -> unit
! 201 f64chkUpdate, chkUpdate (P.FLOAT 64), 'a * int * 'b -> unit
! InlineT.Real64Array.chkUpdate : Assembly.A.real64array * int * real -> unit
! (*** word8 primops ***)
(** InlineT.Word8 uses InLine.w31???_8 primops instead of these variants *)
+
202 w8orb, word31 P.ORB, word8 * word8 -> word8
203 w8xorb, word31 P.XORB, word8 * word8 -> word8
***************
*** 694,700 ****
210 w8ne, word8cmp P.NEQ, word8 * word8 -> bool
! (*** word8 array and vector ***)
(** InlineT.Word8Array and Word8Vector use InLine.ordof, InLine.inlbyteof, ...
! instead of these primops *)
211 w8Sub, sub (P.UINT 8), 'a * int -> 'b
212 w8chkSub, chkSub (P.UINT 8), 'a * int -> 'b
--- 698,705 ----
210 w8ne, word8cmp P.NEQ, word8 * word8 -> bool
! (*** word8 array and vector ***)
(** InlineT.Word8Array and Word8Vector use InLine.ordof, InLine.inlbyteof, ...
! instead of these primops **)
!
211 w8Sub, sub (P.UINT 8), 'a * int -> 'b
212 w8chkSub, chkSub (P.UINT 8), 'a * int -> 'b
***************
*** 704,722 ****
216 w8chkUpdate, chkUpdate (P.UINT 8), 'a * int * 'b -> unit
! (* word31 primops *)
217 w31mul, word31 (P.* ), word * word -> word
! InlineT.Word31.op * : word * word -> word
218 w31div, word31 (P./), word * word -> word
! InlineT.Word31.op div : word * word -> word
219 w31mod, word31 (P.REM), word * word -> word
! InlineT.Word31.op mod : word * word -> word
220 w31add, word31 (P.+), word * word -> word
! InlineT.Word31.op + : word * word -> word
221 w31sub, word31 (P.-), word * word -> word
! InlineT.Word31.op - : word * word -> word
222 w31orb, word31 P.ORB, word * word -> word
--- 709,728 ----
216 w8chkUpdate, chkUpdate (P.UINT 8), 'a * int * 'b -> unit
! (*** word31 primops ***)
!
217 w31mul, word31 (P.* ), word * word -> word
! InlineT.Word31.* : word * word -> word
218 w31div, word31 (P./), word * word -> word
! InlineT.Word31.div : word * word -> word
219 w31mod, word31 (P.REM), word * word -> word
! InlineT.Word31.mod : word * word -> word
220 w31add, word31 (P.+), word * word -> word
! InlineT.Word31.+ : word * word -> word
221 w31sub, word31 (P.-), word * word -> word
! InlineT.Word31.- : word * word -> word
222 w31orb, word31 P.ORB, word * word -> word
***************
*** 745,760 ****
230 w31gt, word31cmp (P.>), word * word -> bool
! InlineT.Word31.op > : word * word -> bool
231 w31ge, word31cmp (P.>=), word * word -> bool
! InlineT.Word31.op >= : word * word -> bool
232 w31lt, word31cmp (P.<), word * word -> bool
! InlineT.Word31.op < : word * word -> bool
233 w31le, word31cmp (P.<=), word * word -> bool
! InlineT.Word31.op <= : word * word -> bool
234 w31eq, word31cmp P.EQL, word * word -> bool
235 w31ne, word31cmp P.NEQ, word * word -> bool
--- 751,767 ----
230 w31gt, word31cmp (P.>), word * word -> bool
! InlineT.Word31.> : word * word -> bool
231 w31ge, word31cmp (P.>=), word * word -> bool
! InlineT.Word31.>= : word * word -> bool
232 w31lt, word31cmp (P.<), word * word -> bool
! InlineT.Word31.< : word * word -> bool
233 w31le, word31cmp (P.<=), word * word -> bool
! InlineT.Word31.<= : word * word -> bool
234 w31eq, word31cmp P.EQL, word * word -> bool
+
235 w31ne, word31cmp P.NEQ, word * word -> bool
***************
*** 776,792 ****
(* (pseudo-)word8 primops *)
241 w31mul_8, word31 (P.* ), word8 * word8 -> word8
! InlineT.Word8.op * : word8 * word8 -> word8
242 w31div_8, word31 (P./), word8 * word8 -> word8
! InlineT.Word8.op div : word8 * word8 -> word8
243 w31mod_8, word31 (P.REM), word8 * word8 -> word8
! InlineT.Word8.op mod : word8 * word8 -> word8
244 w31add_8, word31 (P.+), word8 * word8 -> word8
! InlineT.Word8.op + : word8 * word8 -> word8
245 w31sub_8, word31 (P.-), word8 * word8 -> word8
! InlineT.Word8.op - : word8 * word8 -> word8
246 w31orb_8, word31 P.ORB, word8 * word8 -> word8
--- 783,799 ----
(* (pseudo-)word8 primops *)
241 w31mul_8, word31 (P.* ), word8 * word8 -> word8
! InlineT.Word8.* : word8 * word8 -> word8
242 w31div_8, word31 (P./), word8 * word8 -> word8
! InlineT.Word8.div : word8 * word8 -> word8
243 w31mod_8, word31 (P.REM), word8 * word8 -> word8
! InlineT.Word8.mod : word8 * word8 -> word8
244 w31add_8, word31 (P.+), word8 * word8 -> word8
! InlineT.Word8.+ : word8 * word8 -> word8
245 w31sub_8, word31 (P.-), word8 * word8 -> word8
! InlineT.Word8.- : word8 * word8 -> word8
246 w31orb_8, word31 P.ORB, word8 * word8 -> word8
***************
*** 810,815 ****
252 w31rshiftl_8, word31 P.RSHIFTL, word8 * word -> word8
! (** This may be a bug... InlineT.Word8.rshiftl is incorrectly
! aliased to InLine.w31rshift_8 *)
253 w31lshift_8, word31 P.LSHIFT, word8 * word -> word8
--- 817,822 ----
252 w31rshiftl_8, word31 P.RSHIFTL, word8 * word -> word8
! (** This may be a bug... InlineT.Word8.rshiftl is (incorrectly?)
! ** aliased to InLine.w31rshift_8 **)
253 w31lshift_8, word31 P.LSHIFT, word8 * word -> word8
***************
*** 817,833 ****
254 w31gt_8, word31cmp (P.>), word8 * word8 -> bool
! InlineT.Word8.op > : word8 * word8 -> bool
255 w31ge_8, word31cmp (P.>=), word8 * word8 -> bool
! InlineT.Word8.op >= : word8 * word8 -> bool
256 w31lt_8, word31cmp (P.<), word8 * word8 -> bool
! InlineT.Word8.op < : word8 * word8 -> bool
257 w31le_8, word31cmp (P.<=), word8 * word8 -> bool
! InlineT.Word8.op <= : word8 * word8 -> bool
! 258 w31eq_8, word31cmp P.EQL, word8 * word8 -> bool
! 259 w31ne_8, word31cmp P.NEQ, word8 * word8 -> bool
260 w31ChkRshift_8, P.INLRSHIFT(P.UINT 31), word8 * word -> word8
--- 824,841 ----
254 w31gt_8, word31cmp (P.>), word8 * word8 -> bool
! InlineT.Word8.> : word8 * word8 -> bool
255 w31ge_8, word31cmp (P.>=), word8 * word8 -> bool
! InlineT.Word8.>= : word8 * word8 -> bool
256 w31lt_8, word31cmp (P.<), word8 * word8 -> bool
! InlineT.Word8.< : word8 * word8 -> bool
257 w31le_8, word31cmp (P.<=), word8 * word8 -> bool
! InlineT.Word8.<= : word8 * word8 -> bool
! 258 w31eq_8, word31cmp P.EQL, word8 * word8 -> bool
!
! 259 w31ne_8, word31cmp P.NEQ, word8 * word8 -> bool
260 w31ChkRshift_8, P.INLRSHIFT(P.UINT 31), word8 * word -> word8
***************
*** 846,864 ****
InlineT.Word8.max : word8 * word8 -> word8
! (*** word32 primops ***)
265 w32mul, word32 (P.* ), word32 * word32 -> word32
! InlineT.Word32.op * : word32 * word32 -> word32
266 w32div, word32 (P./), word32 * word32 -> word32
! InlineT.Word32.op div : word32 * word32 -> word32
267 w32mod, word32 (P.REM), word32 * word32 -> word32
! InlineT.Word32.op mod : word32 * word32 -> word32
268 w32add, word32 (P.+), word32 * word32 -> word32
! InlineT.Word32.op + : word32 * word32 -> word32
269 w32sub, word32 (P.-), word32 * word32 -> word32
! InlineT.Word32.op - : word32 * word32 -> word32
270 w32orb, word32 P.ORB, word32 * word32 -> word32
--- 854,873 ----
InlineT.Word8.max : word8 * word8 -> word8
! (*** word32 primops ***)
!
265 w32mul, word32 (P.* ), word32 * word32 -> word32
! InlineT.Word32.* : word32 * word32 -> word32
266 w32div, word32 (P./), word32 * word32 -> word32
! InlineT.Word32.div : word32 * word32 -> word32
267 w32mod, word32 (P.REM), word32 * word32 -> word32
! InlineT.Word32.mod : word32 * word32 -> word32
268 w32add, word32 (P.+), word32 * word32 -> word32
! InlineT.Word32.+ : word32 * word32 -> word32
269 w32sub, word32 (P.-), word32 * word32 -> word32
! InlineT.Word32.- : word32 * word32 -> word32
270 w32orb, word32 P.ORB, word32 * word32 -> word32
***************
*** 892,908 ****
278 w32gt, word32cmp (P.>), word32 * word32 -> bool
! InlineT.Word32.op > : word32 * word32 -> bool
279 w32ge, word32cmp (P.>=), word32 * word32 -> bool
! InlineT.Word32.op < : word32 * word32 -> bool
280 w32lt, word32cmp (P.<), word32 * word32 -> bool
! InlineT.Word32.op < : word32 * word32 -> bool
281 w32le, word32cmp (P.<=), word32 * word32 -> bool
! InlineT.Word32.op <= : word32 * word32 -> bool
! 282 w32eq, word32cmp P.EQL, word32 * word32 -> bool
! 283 w32ne, word32cmp P.NEQ, word32 * word32 -> bool
284 w32ChkRshift, P.INLRSHIFT(P.UINT 32), word32 * word -> word32
--- 901,918 ----
278 w32gt, word32cmp (P.>), word32 * word32 -> bool
! InlineT.Word32.> : word32 * word32 -> bool
279 w32ge, word32cmp (P.>=), word32 * word32 -> bool
! InlineT.Word32.< : word32 * word32 -> bool
280 w32lt, word32cmp (P.<), word32 * word32 -> bool
! InlineT.Word32.< : word32 * word32 -> bool
281 w32le, word32cmp (P.<=), word32 * word32 -> bool
! InlineT.Word32.<= : word32 * word32 -> bool
! 282 w32eq, word32cmp P.EQL, word32 * word32 -> bool
!
! 283 w32ne, word32cmp P.NEQ, word32 * word32 -> bool
284 w32ChkRshift, P.INLRSHIFT(P.UINT 32), word32 * word -> word32
***************
*** 921,925 ****
InlineT.Word32.max : word32 * word32 -> word32
! (* experimental C FFI primops *)
289 raww8l, P.RAW_LOAD (P.UINT 8), word32 -> word32
RawMemInlineT.w8l : word32 -> word32
--- 931,936 ----
InlineT.Word32.max : word32 * word32 -> word32
! (*** experimental C FFI primops ***)
!
289 raww8l, P.RAW_LOAD (P.UINT 8), word32 -> word32
RawMemInlineT.w8l : word32 -> word32
***************
*** 973,984 ****
RawMemInlineT.rawccall : word32 * 'a * 'b -> 'c
! (* Support for direct construction of C objects on ML heap.
! * rawrecord builds a record holding C objects on the heap.
! * rawselectxxx index on this record. They are of type:
! * 'a * Word32.word -> Word32.word
! * The 'a is to guarantee that the compiler will treat
! * the record as a ML object, in case it passes thru a gc boundary.
! * rawupdatexxx writes to the record.
! *)
306 rawrecord, P.RAW_RECORD{fblock = false}, int -> 'a
RawMemInlineT.rawrecord : int -> 'a
--- 984,996 ----
RawMemInlineT.rawccall : word32 * 'a * 'b -> 'c
! (* Support for direct construction of C objects on ML heap.
! * rawrecord builds a record holding C objects on the heap.
! * rawselectxxx index on this record. They are of type:
! * 'a * Word32.word -> Word32.word
! * The 'a is to guarantee that the compiler will treat
! * the record as a ML object, in case it passes thru a gc boundary.
! * rawupdatexxx writes to the record.
! *)
!
306 rawrecord, P.RAW_RECORD{fblock = false}, int -> 'a
RawMemInlineT.rawrecord : int -> 'a
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV