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 /MLRISC/releases/release-110.64/gc-safety/gc-map.sml
ViewVC logotype

Annotation of /MLRISC/releases/release-110.64/gc-safety/gc-map.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 624 - (view) (download)
Original Path: sml/trunk/src/MLRISC/gc-safety/gc-map.sml

1 : monnier 473 functor GCMap(GC : GC_TYPE) : GC_MAP =
2 :     struct
3 :    
4 :     structure GC = GC
5 :     exception GCMap
6 :     type gcmap = GC.gctype Intmap.intmap
7 :    
8 : george 545 val GCMAP = Annotations.new(SOME(fn _ => "gcmap"))
9 :     : gcmap Annotations.property
10 : monnier 473
11 :     fun toString gcmap =
12 :     let val lookup = Intmap.map gcmap
13 :     fun f r = "{"^GC.toString(lookup r)^"}" handle _ => "{?}"
14 :     in f end
15 :    
16 : leunga 624 fun pr(r,gc) = "r"^Int.toString r^":"^GC.toString gc
17 :     fun prSet S = "{"^foldr (fn (x,"") => pr x | (x,y) => pr x^","^y) "" S^"}"
18 :    
19 :     val GCLIVEIN = Annotations.new(SOME(fn S => "livein: "^prSet S))
20 :     val GCLIVEOUT = Annotations.new(SOME(fn S => "liveout: "^prSet S))
21 :    
22 : monnier 473 end

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