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/trunk/compiler/ElabData/prim/primop.sig
ViewVC logotype

Diff of /sml/trunk/compiler/ElabData/prim/primop.sig

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

sml/branches/SMLNJ/src/compiler/FLINT/kernel/primop.sig revision 24, Thu Mar 12 00:49:58 1998 UTC sml/trunk/src/compiler/FLINT/kernel/primop.sig revision 251, Mon Apr 19 02:55:26 1999 UTC
# Line 173  Line 173 
173    | LENGTH                     (* vector, string, array, ... length *)    | LENGTH                     (* vector, string, array, ... length *)
174    | OBJLENGTH                  (* length of arbitrary heap object *)    | OBJLENGTH                  (* length of arbitrary heap object *)
175    | CAST    | CAST
176      | WCAST
177    | GETRUNVEC                  (* get the pointer to the run-vector *)    | GETRUNVEC                  (* get the pointer to the run-vector *)
178    | MARKEXN                    (* mark an exception value with a string *)    | MARKEXN                    (* mark an exception value with a string *)
179    | GETHDLR | SETHDLR          (* get/set exn handler pointer *)    | GETHDLR | SETHDLR          (* get/set exn handler pointer *)
# Line 183  Line 184 
184    | CALLCC | CAPTURE | THROW   (* continuation operations *)    | CALLCC | CAPTURE | THROW   (* continuation operations *)
185    | ISOLATE                    (* isolating a function *)    | ISOLATE                    (* isolating a function *)
186    | DEREF                      (* dereferencing *)    | DEREF                      (* dereferencing *)
187    | ASSIGN                     (* assignment; shorthand for update(a, 0, v) *)    | ASSIGN                     (* assignment *)
188      | UNBOXEDASSIGN              (* assignment to integer reference *)
189    | UPDATE                     (* array update (maybe boxed) *)    | UPDATE                     (* array update (maybe boxed) *)
190    | INLUPDATE                  (* inline array update (maybe boxed) *)    | INLUPDATE                  (* inline array update (maybe boxed) *)
191    | BOXEDUPDATE                (* boxed array update *)    | BOXEDUPDATE                (* boxed array update *)
# Line 205  Line 207 
207    | INL_MONOARRAY of numkind   (* inline monomorphic array allocation *)    | INL_MONOARRAY of numkind   (* inline monomorphic array allocation *)
208    | INL_MONOVECTOR of numkind  (* inline monomorphic vector allocation *)    | INL_MONOVECTOR of numkind  (* inline monomorphic vector allocation *)
209    
210      | MKETAG                     (* make a new exception tag *)
211      | WRAP                       (* box a value by wrapping it *)
212      | UNWRAP                     (* unbox a value by unwrapping it *)
213    (* Primops to support new array representations *)
214      | NEW_ARRAY0                  (* allocate zero-length array header *)
215      | GET_SEQ_DATA                (* get data pointer from arr/vec header *)
216      | SUBSCRIPT_REC               (* record subscript operation *)
217      | SUBSCRIPT_RAW64             (* raw64 subscript operation *)
218    
219    
220  val IADD : primop  (* default integer addition *)  val IADD : primop  (* default integer addition *)
221  val ISUB : primop  (* default integer subtraction *)  val ISUB : primop  (* default integer subtraction *)
# Line 224  Line 235 
235  val prPrimop: primop -> string  val prPrimop: primop -> string
236  val purePrimop : primop -> bool  val purePrimop : primop -> bool
237  val mayRaise : primop -> bool  val mayRaise : primop -> bool
238    (* This should return more than just a boolean.
239     * True means "can not be dead-code eliminated" *)
240    val effect : primop -> bool
241    
242  end (* signature PRIM_OP *)  end (* signature PRIM_OP *)
243    

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

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0