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 /MLRISC/trunk/demo/demo-types.sml
ViewVC logotype

Diff of /MLRISC/trunk/demo/demo-types.sml

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

revision 2788, Sat Sep 29 05:49:51 2007 UTC revision 2789, Tue Oct 2 23:26:36 2007 UTC
# Line 61  Line 61 
61   * This is just a simple record type used by MLRISC to represent   * This is just a simple record type used by MLRISC to represent
62   * instruction streams.   * instruction streams.
63   *)   *)
64  structure Stream = InstructionStream(UserPseudoOps)  (*structure Stream = InstructionStream(UserPseudoOps)*)
65    
66  (*  (*
67   * Client defined extensions.  None for now.   * Client defined extensions.  None for now.
# Line 70  Line 70 
70  structure UserExtension =  structure UserExtension =
71  struct  struct
72    
73     type ('s,'r,'f,'c) sx = unit     type ('s,'r,'f,'c) sx = ('s,'r,'f,'c) AMD64InstrExt.sext
74     type ('s,'r,'f,'c) rx = unit     type ('s,'r,'f,'c) rx = unit
75     type ('s,'r,'f,'c) fx = unit     type ('s,'r,'f,'c) fx = unit
76     type ('s,'r,'f,'c) ccx = unit     type ('s,'r,'f,'c) ccx = unit
# Line 82  Line 82 
82   * have any yet.  This is just a bunch of dummy routines.   * have any yet.  This is just a bunch of dummy routines.
83   *)   *)
84  functor UserMLTreeExtComp  functor UserMLTreeExtComp
85     (structure T : MLTREE              (    structure I : AMD64INSTR where T.Extension = UserExtension
86      structure I : INSTRUCTIONS      structure TS : MLTREE_STREAM where T = I.T
87        sharing T.LabelExp = I.LabelExp      structure CFG : CONTROL_FLOW_GRAPH where I = I and P = TS.S.P
88     ) : MLTREE_EXTENSION_COMP =     ) : MLTREE_EXTENSION_COMP =
89  struct  struct
90        structure T = TS.T
91        structure TS = TS
92        structure I = I
93        structure CFG = CFG
94        structure C = I.C
95    
96        structure CompInstrExt = AMD64CompInstrExt (
97          structure I = I
98          structure TS = TS
99          structure CFG = CFG)
100    
101        type reducer =
102              (I.instruction,C.cellset,I.operand,I.addressing_mode,CFG.cfg) TS.reducer
103    
104        val compileSext = CompInstrExt.compileSext
105    
106        fun compileRext _ = raise Fail "AMD64CompExtFn.compileRext"
107        fun compileFext _ = raise Fail "AMD64CompExtFn.compileFext"
108        fun compileCCext _ = raise Fail "AMD64CompExtFn.compileCCext"
109    (*
110     structure T = T     structure T = T
111     structure I = I     structure I = I
112     structure C = I.C     structure C = I.C
# Line 97  Line 117 
117     val compileRext  = unimplemented     val compileRext  = unimplemented
118     val compileFext  = unimplemented     val compileFext  = unimplemented
119     val compileCCext = unimplemented     val compileCCext = unimplemented
120    *)
121  end  end
122    
   
 (*  
  * The MLTree RTL language.  
  *)  
 structure MLTree = MLTreeF  
    (structure LabelExp = LabelExp  
     structure Region = UserRegion  
     structure Stream = Stream  
     structure Extension = UserExtension  
    )  

Legend:
Removed from v.2788  
changed lines
  Added in v.2789

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