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

SCM Repository

[smlnj] Annotation of /sml/trunk/src/MLRISC/gc-safety/gc-type-system.sig
ViewVC logotype

Annotation of /sml/trunk/src/MLRISC/gc-safety/gc-type-system.sig

Parent Directory Parent Directory | Revision Log Revision Log


Revision 775 - (view) (download) (as text)

1 : george 546 (*
2 :     * This signature describes the interface to a gc type system.
3 :     * This encapsulates everything dealing with GC safety analysis
4 :     * into one single signature.
5 :     *)
6 :     signature GC_TYPE_SYSTEM =
7 :     sig
8 : leunga 775 structure GC : GC_TYPE
9 :     structure RTL : MLTREE_RTL
10 : george 546
11 :     (* Given a RTL expression, return the gc type of the value *)
12 :     val typeOf : (RTL.T.var -> GC.gctype) -> RTL.exp -> GC.gctype
13 :    
14 :     (* Given an RTL effect, return the change to gctype *)
15 :     val effectOf :
16 : leunga 744 {lookup : RTL.var -> GC.gctype,
17 :     update : RTL.var * GC.gctype * 'e -> 'e
18 : george 546 } ->
19 : leunga 744 {action : RTL.rtl,
20 :     dst : RTL.var list,
21 :     src : RTL.var list,
22 : george 546 effect : 'e
23 :     } -> 'e
24 :    
25 :     (* Is a type recoverable? *)
26 :     val isRecoverable : GC.gctype -> bool
27 :     end

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