Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Tracker SCM

SCM Repository

[smlnj] Diff of /sml/trunk/src/compiler/FLINT/kernel/primop.sml
ViewVC logotype

Diff of /sml/trunk/src/compiler/FLINT/kernel/primop.sml

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

revision 250, Sat Apr 17 18:57:03 1999 UTC revision 251, Mon Apr 19 02:55:26 1999 UTC
# Line 66  Line 66 
66    | CALLCC | CAPTURE | THROW   (* continuation operations *)    | CALLCC | CAPTURE | THROW   (* continuation operations *)
67    | ISOLATE                    (* isolating a function *)    | ISOLATE                    (* isolating a function *)
68    | DEREF                      (* dereferencing *)    | DEREF                      (* dereferencing *)
69    | ASSIGN                     (* assignment; shorthand for update(a, 0, v) *)    | ASSIGN                     (* assignment *)
70      | UNBOXEDASSIGN              (* assignment to integer reference *)
71    | UPDATE                     (* array or reference update (maybe boxed) *)    | UPDATE                     (* array or reference update (maybe boxed) *)
72    | INLUPDATE                  (* inline array update (maybe boxed) *)    | INLUPDATE                  (* inline array update (maybe boxed) *)
73    | BOXEDUPDATE                (* boxed array update *)    | BOXEDUPDATE                (* boxed array update *)
# Line 91  Line 92 
92    | MKETAG                     (* make a new exception tag *)    | MKETAG                     (* make a new exception tag *)
93    | WRAP                       (* box a value by wrapping it *)    | WRAP                       (* box a value by wrapping it *)
94    | UNWRAP                     (* unbox a value by unwrapping it *)    | UNWRAP                     (* unbox a value by unwrapping it *)
95    (* Primops to support new array representations *)
96      | NEW_ARRAY0                  (* allocate zero-length array header *)
97      | GET_SEQ_DATA                (* get data pointer from arr/vec header *)
98      | SUBSCRIPT_REC               (* record subscript operation *)
99      | SUBSCRIPT_RAW64             (* raw64 subscript operation *)
100    
101    
102  (** default integer arithmetic and comparison operators *)  (** default integer arithmetic and comparison operators *)
# Line 230  Line 236 
236    | prPrimop (MKETAG) = "mketag"    | prPrimop (MKETAG) = "mketag"
237    | prPrimop (WRAP) = "wrap"    | prPrimop (WRAP) = "wrap"
238    | prPrimop (UNWRAP) = "unwrap"    | prPrimop (UNWRAP) = "unwrap"
239    (* Primops to support new array representations *)
240      | prPrimop (NEW_ARRAY0) = "newarray0"
241      | prPrimop (GET_SEQ_DATA) = "getseqdata"
242      | prPrimop (SUBSCRIPT_REC) = "subscriptrec"
243      | prPrimop (SUBSCRIPT_RAW64) = "subscriptraw64"
244      | prPrimop _ = "**!!UNKNOWN!!**"
245    
246    
247  val purePrimop =  val purePrimop =
248    fn DEREF => false    fn DEREF => false
# Line 277  Line 290 
290     | _ => false     | _ => false
291    
292  end  (* structure PrimOp *)  end  (* structure PrimOp *)
293    

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

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