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/hppa/hppaCpsRegs.sml
ViewVC logotype

Diff of /sml/trunk/src/compiler/CodeGen/hppa/hppaCpsRegs.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 HppaCpsRegs : CPSREGS =  structure HppaCpsRegs : CPSREGS =
8  struct  struct
9    structure T = HppaMLTree    structure T = HppaMLTree
   structure SL = SortedList  
10    
11    (* HPPA register conventions    (* HPPA register conventions
12       0     zero       0     zero
# Line 57  Line 56 
56    val floatregs = map FREG (fromto(6, 30))    val floatregs = map FREG (fromto(6, 30))
57    val savedfpregs = []    val savedfpregs = []
58    
   val allRegs = SL.uniq(fromto(GP 0,GP 31))  
   
59    val availR =    val availR =
60      map (fn T.REG(_,r) => r)      map (fn T.REG(_,r) => r)
61          ([stdlink, stdclos, stdarg, stdcont, gcLink] @ miscregs)          ([stdlink, stdclos, stdarg, stdcont, gcLink] @ miscregs)
   val dedicatedR = SL.remove(SL.uniq availR, allRegs)  
   
   val availF = SL.uniq(fromto(FP 6, FP 30))  
   
   val allFRegs = SL.uniq(fromto(FP 0,FP 31))  
62    
63    val dedicatedF = SL.remove(availF, allFRegs)    local
64          structure ILS = IntListSet
65          fun l2s l = ILS.addList (ILS.empty, l)
66          val s2l = ILS.listItems
67          val -- = ILS.difference
68          infix --
69      in
70          val allRegs = l2s (fromto(GP 0,GP 31))
71          val dedicatedR = s2l (allRegs -- l2s availR)
72    
73          val availFs = l2s (fromto(FP 6, FP 30))
74          val allFRegs = l2s (fromto(FP 0,FP 31))
75          val dedicatedF = s2l (allFRegs -- availFs)
76          val availF = s2l availFs
77      end
78    
79    val signedGCTest = false    val signedGCTest = false
80    val addressWidth = 32    val addressWidth = 32

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