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 /MLRISC/trunk/ra/ra-graph.sig
ViewVC logotype

Diff of /MLRISC/trunk/ra/ra-graph.sig

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

revision 1052, Wed Feb 6 04:04:48 2002 UTC revision 1053, Wed Feb 6 19:11:13 2002 UTC
# Line 8  Line 8 
8  sig  sig
9    
10     structure C : CELLS_BASIS     structure C : CELLS_BASIS
11      structure BM : RA_BITMATRIX = RaBitmatrix
12    (*    (*
13     * The following are the data structures used in the register allocator.     * The following are the data structures used in the register allocator.
14     *)     *)
15    
   (* A new bit matrix datatype.  
    * We use the small representation whenever possible to save space.  
    *)  
   datatype bitMatrix = BM of {table:hashTable,  
                               elems:int ref,  
                               edges:int}  
   and hashTable = SMALL of word list Array.array ref * word  
                 | LARGE of bucket Array.array ref * word  
              (* | BITMATRIX of Word8Array.array *)  
   and bucket = NIL | B of int * int * bucket  
   
16    exception Nodes    exception Nodes
17    
18    type priority = int    type priority = int
# Line 57  Line 46 
46    
47    datatype interferenceGraph =    datatype interferenceGraph =
48       GRAPH of       GRAPH of
49       { bitMatrix    : bitMatrix ref,       { bitMatrix    : BM.bitMatrix ref,
50         nodes        : node IntHashTable.hash_table,         nodes        : node IntHashTable.hash_table,
51         K            : int,         K            : int,
52         firstPseudoR : int,         firstPseudoR : int,
# Line 161  Line 150 
150    and trailInfo = END | UNDO of node * moveStatus ref * trailInfo    and trailInfo = END | UNDO of node * moveStatus ref * trailInfo
151    
152    (* Create a new bitMatrix *)    (* Create a new bitMatrix *)
153    val newBitMatrix : {edges : int, maxRegs : int} -> bitMatrix    val newBitMatrix : {edges : int, maxRegs : int} -> BM.bitMatrix
154    
155    (* Create a new interference graph *)    (* Create a new interference graph *)
156    val newGraph : { nodes        : node IntHashTable.hash_table,    val newGraph : { nodes        : node IntHashTable.hash_table,

Legend:
Removed from v.1052  
changed lines
  Added in v.1053

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