Home My Page Projects Code Snippets Project Openings SML/NJ
 Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

# SCM Repository

[smlnj] Diff of /sml/branches/SMLNJ/src/compiler/FLINT/kernel/primop.sml
 [smlnj] / sml / branches / SMLNJ / src / compiler / FLINT / kernel / primop.sml

# Diff of /sml/branches/SMLNJ/src/compiler/FLINT/kernel/primop.sml

revision 17, Wed Mar 11 21:00:18 1998 UTC revision 24, Thu Mar 12 00:49:58 1998 UTC
# Line 4  Line 4
4  structure PrimOp : PRIM_OP =  structure PrimOp : PRIM_OP =
5  struct  struct
6
7    structure B = BasicTypes
8    structure T = Types
9
10  (* numkind includes kind and number of bits *)  (* numkind includes kind and number of bits *)
11  datatype numkind  datatype numkind
12    = INT of int    = INT of int
# Line 87  Line 90
90    | INL_MONOARRAY of numkind   (* inline monomorphic array allocation *)    | INL_MONOARRAY of numkind   (* inline monomorphic array allocation *)
91    | INL_MONOVECTOR of numkind  (* inline monomorphic vector allocation *)    | INL_MONOVECTOR of numkind  (* inline monomorphic vector allocation *)
92
| MKETAG                     (* make a new exception tag *)
| WRAP                       (* box a value by wrapping it *)
| UNWRAP                     (* unbox a value by unwrapping it *)

93  (** default integer arithmetic and comparison operators *)  (** default integer arithmetic and comparison operators *)
94  val IADD = ARITH{oper=op +, overflow=true, kind=INT 31}  val IADD = ARITH{oper=op +, overflow=true, kind=INT 31}
95  val ISUB = ARITH{oper=op -, overflow=true, kind=INT 31}  val ISUB = ARITH{oper=op -, overflow=true, kind=INT 31}
# Line 225  Line 223
223        concat ["inl_monovector(", prNumkind kind, ")"]        concat ["inl_monovector(", prNumkind kind, ")"]
224    | prPrimop (MARKEXN) = "markexn"    | prPrimop (MARKEXN) = "markexn"
225
| prPrimop (MKETAG) = "mketag"
| prPrimop (WRAP) = "wrap"
| prPrimop (UNWRAP) = "unwrap"
226
227  val purePrimop =  val purePrimop =
228    fn DEREF => false    fn DEREF => false

Legend:
 Removed from v.17 changed lines Added in v.24