Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /sml/trunk/compiler/CodeGen/x86/x86MLTree.sml
ViewVC logotype

Annotation of /sml/trunk/compiler/CodeGen/x86/x86MLTree.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1132 - (view) (download)
Original Path: sml/trunk/src/compiler/CodeGen/x86/x86MLTree.sml

1 : leunga 775
2 :     (* MLTree specialization *)
3 :     structure X86MLTree =
4 :     MLTreeF(structure Constant = SMLNJConstant
5 :     structure Region=CPSRegions
6 :     structure Extension=X86_SMLNJMLTreeExt)
7 :    
8 : george 909
9 : george 984 structure X86MLTreeEval =
10 :     MLTreeEval
11 : leunga 775 (structure T = X86MLTree
12 : george 984 fun eq _ _ = false
13 :     val eqRext = eq val eqFext = eq
14 :     val eqCCext = eq val eqSext = eq)
15 :    
16 :     structure X86MLTreeHash =
17 :     MLTreeHash
18 :     (structure T = X86MLTree
19 :     fun h _ _ = 0w0
20 :     val hashRext = h val hashFext = h
21 :     val hashCCext = h val hashSext = h)
22 : monnier 247
23 : george 984 structure X86GasPseudoOps =
24 :     X86GasPseudoOps(structure T=X86MLTree
25 :     structure MLTreeEval=X86MLTreeEval)
26 :    
27 :     structure X86ClientPseudoOps =
28 :     SMLNJPseudoOps(structure Asm=X86GasPseudoOps)
29 :    
30 :     structure X86PseudoOps = PseudoOps(structure Client = X86ClientPseudoOps)
31 :    
32 :     structure X86Stream = InstructionStream(X86PseudoOps)
33 :    
34 :     structure X86MLTreeStream =
35 :     MLTreeStream
36 :     (structure T = X86MLTree
37 :     structure S = X86Stream)
38 :    
39 :    
40 :     (* specialised X86 instruction set *)
41 :     structure X86Instr = X86Instr(X86MLTree)
42 :    
43 : george 909 structure X86MemRegs = X86MemRegs(X86Instr)
44 : george 984
45 :     structure X86Props =
46 :     X86Props
47 :     (structure Instr=X86Instr
48 :     structure MLTreeHash = X86MLTreeHash
49 :     structure MLTreeEval = X86MLTreeEval)
50 :    
51 : monnier 247 structure X86Rewrite = X86Rewrite(X86Instr)
52 :     structure X86Shuffle = X86Shuffle(X86Instr)
53 :    
54 : george 909 (* Assembly code emmitter *)
55 :     structure X86AsmEmitter=
56 :     X86AsmEmitter(structure Instr=X86Instr
57 :     structure Shuffle=X86Shuffle
58 :     structure MemRegs=X86MemRegs
59 : george 984 structure MLTreeEval=X86MLTreeEval
60 :     structure S = X86Stream
61 : george 909 val memRegBase=SOME(X86Instr.C.esp))
62 : monnier 247
63 :    
64 : george 909 (* Machine code emitter *)
65 :     structure X86MCEmitter =
66 :     X86MCEmitter(structure Instr=X86Instr
67 :     structure Shuffle=X86Shuffle
68 :     structure AsmEmitter=X86AsmEmitter
69 :     structure MemRegs=X86MemRegs
70 : blume 1132 structure MLTreeEval=X86MLTreeEval
71 : george 909 val memRegBase=SOME(X86Instr.C.esp))
72 : monnier 411
73 : george 909 (* Flowgraph data structure specialized to X86 instructions *)
74 :     structure X86CFG =
75 :     ControlFlowGraph
76 :     (structure I = X86Instr
77 :     structure PseudoOps = X86PseudoOps
78 :     structure GraphImpl = DirectedGraph
79 :     structure InsnProps = X86Props
80 :     structure Asm = X86AsmEmitter)
81 :    

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