6 |
functor MachineGen |
functor MachineGen |
7 |
(structure MachSpec : MACH_SPEC (* machine specifications *) |
(structure MachSpec : MACH_SPEC (* machine specifications *) |
8 |
structure PseudoOps : SMLNJ_PSEUDO_OP_TYPE (* pseudo ops *) |
structure PseudoOps : SMLNJ_PSEUDO_OP_TYPE (* pseudo ops *) |
9 |
|
structure Ext : SMLNJ_MLTREE_EXT |
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 |
13 |
and T.PseudoOp=PseudoOps |
and T.PseudoOp=PseudoOps |
14 |
and T.Extension=SMLNJMLTreeExt |
and T.Extension=Ext |
15 |
structure InsnProps : INSN_PROPERTIES (* instruction properties *) |
structure InsnProps : INSN_PROPERTIES (* instruction properties *) |
16 |
where I.Constant = CpsRegs.T.Constant |
where I.Constant = CpsRegs.T.Constant |
17 |
structure MLTreeComp : MLTREECOMP (* instruction selection *) |
structure MLTreeComp : MLTREECOMP (* instruction selection *) |
28 |
and F.I = Asm.I |
and F.I = Asm.I |
29 |
structure RA : CLUSTER_OPTIMIZATION (* register allocator *) |
structure RA : CLUSTER_OPTIMIZATION (* register allocator *) |
30 |
where F = BackPatch.F |
where F = BackPatch.F |
31 |
|
structure CCalls : C_CALLS (* native C call generator *) |
32 |
|
where T = CpsRegs.T |
33 |
) : MACHINE_GEN = |
) : MACHINE_GEN = |
34 |
struct |
struct |
35 |
|
|
81 |
MLRiscGen(structure MachineSpec=MachSpec |
MLRiscGen(structure MachineSpec=MachSpec |
82 |
structure MLTreeComp=MLTreeComp |
structure MLTreeComp=MLTreeComp |
83 |
structure Cells=Cells |
structure Cells=Cells |
84 |
|
structure Ext = Ext |
85 |
structure C=CpsRegs |
structure C=CpsRegs |
86 |
structure InvokeGC=InvokeGC |
structure InvokeGC=InvokeGC |
87 |
structure PseudoOp=PseudoOps |
structure PseudoOp=PseudoOps |
88 |
structure Flowgen=FlowGraphGen |
structure Flowgen=FlowGraphGen |
89 |
|
structure CCalls = CCalls |
90 |
val compile = compile |
val compile = compile |
91 |
) |
) |
92 |
|
|