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/src/MLRISC/sparc/instructions/sparccomp-instr-ext.sml
ViewVC logotype

Diff of /sml/trunk/src/MLRISC/sparc/instructions/sparccomp-instr-ext.sml

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

revision 983, Wed Nov 21 18:44:55 2001 UTC revision 984, Wed Nov 21 19:00:08 2001 UTC
# Line 9  Line 9 
9      structure T : MLTREE      structure T : MLTREE
10      structure I : SPARCINSTR      structure I : SPARCINSTR
11                  where T = T                  where T = T
12        structure TS : MLTREE_STREAM
13                    where T = I.T
14      structure CFG : CONTROL_FLOW_GRAPH      structure CFG : CONTROL_FLOW_GRAPH
15                  where I = I                  where I = I
                   and P = T.PseudoOp  
16    
17    
18      type reducer =      type reducer =
19           (I.instruction, I.C.cellset, I.operand, I.addressing_mode, CFG.cfg) T.reducer           (I.instruction, I.C.cellset, I.operand, I.addressing_mode, CFG.cfg) TS.reducer
20    
21      val compileSext :      val compileSext :
22          reducer          reducer
# Line 26  Line 27 
27    
28  functor SparcCompInstrExt  functor SparcCompInstrExt
29    (structure I   : SPARCINSTR    (structure I   : SPARCINSTR
30       structure TS  : MLTREE_STREAM
31                    where T = I.T
32     structure CFG : CONTROL_FLOW_GRAPH     structure CFG : CONTROL_FLOW_GRAPH
33                  where I = I                  where I = I
34                    and P = I.T.PseudoOp                    and P = TS.S.P
35    ) : SPARCCOMP_INSTR_EXT =    ) : SPARCCOMP_INSTR_EXT =
36  struct  struct
37      structure CFG = CFG      structure CFG = CFG
38      structure T = I.T      structure T = TS.T
39        structure TS = TS
40      structure I = I      structure I = I
41      structure C = I.C      structure C = I.C
42      structure X = SparcInstrExt      structure X = SparcInstrExt
# Line 40  Line 44 
44      type stm = (T.stm, T.rexp, T.fexp, T.ccexp) X.sext      type stm = (T.stm, T.rexp, T.fexp, T.ccexp) X.sext
45    
46      type reducer =      type reducer =
47           (I.instruction, I.C.cellset, I.operand, I.addressing_mode, CFG.cfg) T.reducer           (I.instruction, I.C.cellset, I.operand, I.addressing_mode, CFG.cfg) TS.reducer
48    
49      fun compileSext reducer { stm: stm, an: T.an list } = let      fun compileSext reducer { stm: stm, an: T.an list } = let
50          val T.REDUCER { emit, ... } = reducer          val TS.REDUCER { emit, ... } = reducer
51      in      in
52          case stm of X.UNIMP i => emit (I.UNIMP {const22 = i}, an)          case stm of X.UNIMP i => emit (I.UNIMP {const22 = i}, an)
53      end      end

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

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