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/x86/x86MLTree.sml
ViewVC logotype

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

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

revision 717, Sun Nov 5 15:07:51 2000 UTC revision 984, Wed Nov 21 19:00:08 2001 UTC
# Line 1  Line 1 
 (* specialised X86 instruction set *)  
 structure X86Instr =  
   X86Instr(structure LabelExp=SMLNJLabelExp  
            structure Region=CPSRegions)  
1    
2  structure X86Props = X86Props(X86Instr)  (* MLTree specialization *)
3    structure X86MLTree =
4      MLTreeF(structure Constant = SMLNJConstant
5              structure Region=CPSRegions
6              structure Extension=X86_SMLNJMLTreeExt)
7    
 structure X86Rewrite = X86Rewrite(X86Instr)  
8    
9  structure X86Shuffle = X86Shuffle(X86Instr)  structure X86MLTreeEval =
10        MLTreeEval
11           (structure T = X86MLTree
12            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    
23    structure X86GasPseudoOps =
24       X86GasPseudoOps(structure T=X86MLTree
25                       structure MLTreeEval=X86MLTreeEval)
26    
27  structure X86PseudoOps =  structure X86ClientPseudoOps =
28    PseudoOpsLittle(structure M=X86Spec val nop = SOME(0wx90:Word8.word))     SMLNJPseudoOps(structure Asm=X86GasPseudoOps)
29    
30  structure X86MemRegs = X86MemRegs(X86Instr)  structure X86PseudoOps = PseudoOps(structure Client = X86ClientPseudoOps)
   
 (* Flowgraph data structure specialized to X86 instructions *)  
 structure X86FlowGraph =  
   FlowGraph(structure I=X86Instr  
             structure P=X86PseudoOps  
            )  
31    
32  structure X86Stream = InstructionStream(X86PseudoOps)  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    structure X86MemRegs = X86MemRegs(X86Instr)
44    
45    structure X86Props =
46        X86Props
47           (structure Instr=X86Instr
48            structure MLTreeHash = X86MLTreeHash
49            structure MLTreeEval = X86MLTreeEval)
50    
51    structure X86Rewrite = X86Rewrite(X86Instr)
52    structure X86Shuffle = X86Shuffle(X86Instr)
53    
54  (* Assembly code emmitter *)  (* Assembly code emmitter *)
55  structure X86AsmEmitter=  structure X86AsmEmitter=
56    X86AsmEmitter(structure Instr=X86Instr    X86AsmEmitter(structure Instr=X86Instr
                 structure PseudoOps=X86PseudoOps  
57                  structure Shuffle=X86Shuffle                  structure Shuffle=X86Shuffle
58                  structure Stream=X86Stream                  structure MemRegs=X86MemRegs
59                  structure MemRegs=X86MemRegs)                  structure MLTreeEval=X86MLTreeEval
60                    structure S = X86Stream
61                    val memRegBase=SOME(X86Instr.C.esp))
62    
63    
64  (* Machine code emitter *)  (* Machine code emitter *)
65  structure X86MCEmitter =  structure X86MCEmitter =
66    X86MCEmitter(structure Instr=X86Instr    X86MCEmitter(structure Instr=X86Instr
67                 structure Shuffle=X86Shuffle                 structure Shuffle=X86Shuffle
68                 structure AsmEmitter=X86AsmEmitter                 structure AsmEmitter=X86AsmEmitter
69                 structure MemRegs=X86MemRegs)                 structure MemRegs=X86MemRegs
70                   val memRegBase=SOME(X86Instr.C.esp))
71    
72    (* Flowgraph data structure specialized to X86 instructions *)
73    structure X86CFG =
74      ControlFlowGraph
75         (structure I = X86Instr
76          structure PseudoOps = X86PseudoOps
77          structure GraphImpl = DirectedGraph
78          structure InsnProps = X86Props
79          structure Asm = X86AsmEmitter)
80    
 (* MLTree specialization *)  
 structure X86MLTree =  
   MLTreeF(structure LabelExp=SMLNJLabelExp  
           structure Region=CPSRegions  
           structure Stream=X86Stream  
           structure Extension=SMLNJMLTreeExt)  

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

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