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 909 - (view) (download)
Original Path: sml/trunk/src/compiler/CodeGen/x86/x86MLTree.sml

1 : leunga 775 structure X86PseudoOps =
2 :     PseudoOpsLittle(structure M=X86Spec val nop = SOME(0wx90:Word8.word))
3 :     structure X86Stream = InstructionStream(X86PseudoOps)
4 :    
5 :     (* MLTree specialization *)
6 :     structure X86MLTree =
7 :     MLTreeF(structure Constant = SMLNJConstant
8 :     structure Region=CPSRegions
9 :     structure Stream=X86Stream
10 :     structure Extension=X86_SMLNJMLTreeExt)
11 :    
12 : george 909
13 : monnier 247 (* specialised X86 instruction set *)
14 :     structure X86Instr =
15 : leunga 775 X86Instr(
16 :     LabelExp
17 :     (structure T = X86MLTree
18 :     fun h _ _ = 0w0 fun eq _ _ = false
19 :     val hashRext = h and hashFext = h and hashCCext = h and hashSext = h
20 :     val eqRext = eq and eqFext = eq and eqCCext = eq and eqSext = eq
21 :     ))
22 : monnier 247
23 : george 909 structure X86MemRegs = X86MemRegs(X86Instr)
24 : monnier 475 structure X86Props = X86Props(X86Instr)
25 : monnier 247 structure X86Rewrite = X86Rewrite(X86Instr)
26 :     structure X86Shuffle = X86Shuffle(X86Instr)
27 :    
28 : george 909 (* Assembly code emmitter *)
29 :     structure X86AsmEmitter=
30 :     X86AsmEmitter(structure Instr=X86Instr
31 :     structure Shuffle=X86Shuffle
32 :     structure MemRegs=X86MemRegs
33 :     val memRegBase=SOME(X86Instr.C.esp))
34 : monnier 247
35 :    
36 : george 909 (* Machine code emitter *)
37 :     structure X86MCEmitter =
38 :     X86MCEmitter(structure Instr=X86Instr
39 :     structure Shuffle=X86Shuffle
40 :     structure AsmEmitter=X86AsmEmitter
41 :     structure MemRegs=X86MemRegs
42 :     val memRegBase=SOME(X86Instr.C.esp))
43 : monnier 411
44 : george 909 (* Flowgraph data structure specialized to X86 instructions *)
45 :     structure X86CFG =
46 :     ControlFlowGraph
47 :     (structure I = X86Instr
48 :     structure PseudoOps = X86PseudoOps
49 :     structure GraphImpl = DirectedGraph
50 :     structure InsnProps = X86Props
51 :     structure Asm = X86AsmEmitter)
52 :    

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