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

SCM Repository

[smlnj] View of /sml/trunk/src/compiler/CodeGen/cpscompile/smlnj-gctype.sig
ViewVC logotype

View of /sml/trunk/src/compiler/CodeGen/cpscompile/smlnj-gctype.sig

Parent Directory Parent Directory | Revision Log Revision Log


Revision 546 - (download) (as text) (annotate)
Thu Feb 24 14:04:51 2000 UTC (19 years, 8 months ago) by george
File size: 1064 byte(s)
  Changes to MLTREE
signature SMLGCTYPE =
sig

   structure CPS : CPS
   type ty = int

   datatype gctype =
     CONST of int                  (* integer constant *)
   | NONREF of CPS.cty ref         (* non-reference value *)
   | REF of CPS.cty ref            (* a reference, pointer to a gc object *)
   | PLUS of ty * gctype * gctype  (* address arithmetic + *)
   | MINUS of ty * gctype * gctype (* address arithmetic - *)
   | BOT
   | TOP

   val ==       : gctype * gctype -> bool
   val join     : gctype * gctype -> gctype
   val meet     : gctype * gctype -> gctype

   val toString : gctype -> string

   (*
    * Primitive types 
    *)
   val I31      : gctype  (* tagged integers *)
   val I32      : gctype  (* untagged integers *)

   val REAL64   : gctype  (* unboxed real *)
   val REAL32   : gctype  (* unused *)
   val PTR      : gctype  (* tagged ML objects *)
   val INT      : gctype  (* machine integers aka I32 *)
   val ADD      : ty * gctype * gctype -> gctype
   val SUB      : ty * gctype * gctype -> gctype

   val isRecoverable : gctype -> bool

end


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