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

Diff of /sml/trunk/src/MLRISC/x86/x86MC.sml

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

revision 1129, Sat Mar 9 03:21:44 2002 UTC revision 1130, Mon Mar 11 04:49:41 2002 UTC
# Line 1  Line 1 
1  (* X86MC.sml  (*
2   *   *
3   * COPYRIGHT (c) 1996 Bell Laboratories.   * COPYRIGHT (c) 1996 Bell Laboratories.
4   *   *
# Line 9  Line 9 
9  functor X86MCEmitter  functor X86MCEmitter
10    (structure Instr : X86INSTR    (structure Instr : X86INSTR
11     structure Shuffle : X86SHUFFLE where I = Instr     structure Shuffle : X86SHUFFLE where I = Instr
12       structure MLTreeEval : MLTREE_EVAL where T = Instr.T
13     structure MemRegs : MEMORY_REGISTERS where I = Instr     structure MemRegs : MEMORY_REGISTERS where I = Instr
14     val memRegBase : CellsBasis.cell option     val memRegBase : CellsBasis.cell option
15     structure AsmEmitter : INSTRUCTION_EMITTER where I = Instr) : MC_EMIT =     structure AsmEmitter : INSTRUCTION_EMITTER where I = Instr) : MC_EMIT =
# Line 20  Line 21 
21    structure W8 = Word8    structure W8 = Word8
22    structure W = LargeWord    structure W = LargeWord
23    structure CB = CellsBasis    structure CB = CellsBasis
24    structure LE =    structure LE = MLTreeEval
     MLTreeEval  
       (structure T = I.T  
        fun eq _ _ = false  
        val eqSext = eq  val eqRext = eq  
        val eqFext = eq val eqCCext = eq)  
25    
26    val itow  = Word.fromInt    val itow  = Word.fromInt
27    val wtoi  = Word.toInt    val wtoi  = Word.toInt
# Line 262  Line 258 
258               | _ =>               | _ =>
259                  eBytes[Word8.+(0wx70,code), Word8.fromInt(i-2)]                  eBytes[Word8.+(0wx70,code), Word8.fromInt(i-2)]
260         end         end
261       | I.CALL{opnd=I.Relative _, ...} => error "CALL: Not implemented"       | I.CALL{opnd=I.Relative i,...} => eBytes(0wxe8::eLong(Int32.fromInt(i-5)))
262       | I.CALL{opnd, ...} => encode(0wxff, 2, opnd)       | I.CALL{opnd, ...} => encode(0wxff, 2, opnd)
263       | I.RET NONE => eByte 0xc3       | I.RET NONE => eByte 0xc3
264       (* integer *)       (* integer *)

Legend:
Removed from v.1129  
changed lines
  Added in v.1130

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