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/compiler/CodeGen/main/machine-gen.sml
ViewVC logotype

Diff of /sml/trunk/compiler/CodeGen/main/machine-gen.sml

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

revision 983, Wed Nov 21 18:44:55 2001 UTC revision 984, Wed Nov 21 19:00:08 2001 UTC
# Line 5  Line 5 
5    
6  functor MachineGen  functor MachineGen
7    (structure MachSpec   : MACH_SPEC            (* machine specifications *)    (structure MachSpec   : MACH_SPEC            (* machine specifications *)
    structure PseudoOps  : SMLNJ_PSEUDO_OP_TYPE (* pseudo ops *)  
8     structure Ext        : SMLNJ_MLTREE_EXT     structure Ext        : SMLNJ_MLTREE_EXT
9     structure InsnProps  : INSN_PROPERTIES      (* instruction properties *)     structure InsnProps  : INSN_PROPERTIES      (* instruction properties *)
10     structure CpsRegs    : CPSREGS              (* CPS registers *)     structure CpsRegs    : CPSREGS              (* CPS registers *)
11                        where T.Region=CPSRegions                        where T.Region=CPSRegions
12                          and T.Constant=SMLNJConstant                          and T.Constant=SMLNJConstant
                         and T.PseudoOp=PseudoOps  
13                          and T.Extension=Ext                          and T.Extension=Ext
14     structure MLTreeComp : MLTREECOMP           (* instruction selection *)     structure ClientPseudoOps : SMLNJ_PSEUDO_OPS
15       structure PseudoOps  : PSEUDO_OPS     (* pseudo ops *)
16                        where T = CpsRegs.T                        where T = CpsRegs.T
17                          and I = InsnProps.I                          and Client = ClientPseudoOps
18       structure MLTreeComp : MLTREECOMP           (* instruction selection *)
19                          where I = InsnProps.I
20                            and TS.T = CpsRegs.T
21                            and TS.S.P = PseudoOps
22     structure Asm        : INSTRUCTION_EMITTER  (* assembly *)     structure Asm        : INSTRUCTION_EMITTER  (* assembly *)
23                        where S = MLTreeComp.T.Stream                        where S.P = PseudoOps
                         and P = PseudoOps  
24                          and I = MLTreeComp.I                          and I = MLTreeComp.I
25     structure Shuffle    : SHUFFLE              (* shuffling copies *)     structure Shuffle    : SHUFFLE              (* shuffling copies *)
26                        where I = Asm.I                        where I = Asm.I
# Line 38  Line 40 
40     structure P          = InsnProps     structure P          = InsnProps
41     structure I          = CFG.I     structure I          = CFG.I
42     structure Cells      = I.C     structure Cells      = I.C
43     structure T          = MLTreeComp.T     structure T          = MLTreeComp.TS.T
44     structure S          = T.Stream     structure Stream     = MLTreeComp.TS
45     structure Asm        = Asm     structure Asm        = Asm
46     structure Shuffle    = Shuffle     structure Shuffle    = Shuffle
47     structure MachSpec   = MachSpec     structure MachSpec   = MachSpec
# Line 79  Line 81 
81        BuildFlowgraph(        BuildFlowgraph(
82           structure CFG = CFG           structure CFG = CFG
83           structure Props = InsnProps           structure Props = InsnProps
84           structure Stream = T.Stream)           structure Stream = MLTreeComp.TS.S)
85    
86     (* GC Invocation *)     (* GC Invocation *)
87     structure InvokeGC =     structure InvokeGC =
88        InvokeGC(structure Cells = Cells        InvokeGC(structure C     = CpsRegs
                structure C     = CpsRegs  
89                 structure MS    = MachSpec                 structure MS    = MachSpec
90                 structure CFG   = CFG                 structure CFG   = CFG
91                   structure TS    = MLTreeComp.TS
92                )                )
93    
94     fun compile cluster =     fun compile cluster =
# Line 102  Line 104 
104                  structure Ext = Ext                  structure Ext = Ext
105                  structure C=CpsRegs                  structure C=CpsRegs
106                  structure InvokeGC=InvokeGC                  structure InvokeGC=InvokeGC
107                    structure ClientPseudoOps =ClientPseudoOps
108                  structure PseudoOp=PseudoOps                  structure PseudoOp=PseudoOps
109                  structure Flowgen=FlowGraphGen                  structure Flowgen=FlowGraphGen
110                  structure CCalls = CCalls                  structure CCalls = CCalls

Legend:
Removed from v.983  
changed lines
  Added in v.984

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