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 /sml/trunk/src/compiler/CodeGen/sparc/sparcCpsRegs.sml
ViewVC logotype

Diff of /sml/trunk/src/compiler/CodeGen/sparc/sparcCpsRegs.sml

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

revision 732, Mon Nov 13 21:59:12 2000 UTC revision 733, Fri Nov 17 05:13:45 2000 UTC
# Line 7  Line 7 
7  structure SparcCpsRegs : CPSREGS =  structure SparcCpsRegs : CPSREGS =
8  struct  struct
9    structure T = SparcMLTree    structure T = SparcMLTree
   structure SL = SortedList  
10    structure C = SparcCells    structure C = SparcCells
11    
12    val GP = C.GPReg    val GP = C.GPReg
# Line 49  Line 48 
48    val floatregs = map FREG (fromto(0,31,2))    val floatregs = map FREG (fromto(0,31,2))
49    val savedfpregs = []    val savedfpregs = []
50    
   val allRegs = SL.uniq(fromto(GP 0,GP 31,1))  
   
51    val availR =    val availR =
52      map (fn T.REG(_,r) => r)      map (fn T.REG(_,r) => r)
53          ([stdlink, stdclos, stdarg, stdcont, gcLink] @ miscregs)          ([stdlink, stdclos, stdarg, stdcont, gcLink] @ miscregs)
   val dedicatedR = SL.remove(SL.uniq availR, allRegs)  
54    
55    val availF = SL.uniq(fromto(FP 0, FP 30, 2))    local
56          structure ILS = IntListSet
57          fun l2s l = ILS.addList (ILS.empty, l)
58          val s2l = ILS.listItems
59          val -- = ILS.difference
60          infix --
61      in
62          val allRegs = l2s (fromto(GP 0,GP 31,1))
63          val dedicatedR = s2l (allRegs -- l2s availR)
64    
65          val availF =  s2l (l2s (fromto(FP 0, FP 30, 2)))
66    val dedicatedF = []    val dedicatedF = []
67      end
68    
69    val signedGCTest = false    val signedGCTest = false
70    val addressWidth = 32    val addressWidth = 32
71  end  end

Legend:
Removed from v.732  
changed lines
  Added in v.733

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