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/c-calls/ia32-svid.sml
ViewVC logotype

Diff of /sml/trunk/src/MLRISC/x86/c-calls/ia32-svid.sml

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

revision 1520, Mon Jun 21 02:29:23 2004 UTC revision 1521, Wed Jun 30 21:44:58 2004 UTC
# Line 135  Line 135 
135        | resultsAndDefs (Ty.C_ARRAY _) = (oneRes, callerSaves)        | resultsAndDefs (Ty.C_ARRAY _) = (oneRes, callerSaves)
136        | resultsAndDefs (Ty.C_STRUCT _) = (oneRes, callerSaves)        | resultsAndDefs (Ty.C_STRUCT _) = (oneRes, callerSaves)
137    
138    (**** START NEW CODE ****)
139    
140      (* the location of arguments/parameters; offsets are given with respect to the
141       * low end of the parameter area (see paramAreaOffset above).
142       *)
143        datatype arg_location
144          = Reg of T.ty * T.reg             (* integer/pointer argument in register *)
145          | FReg of T.fty * T.reg           (* floating-point argument in register *)
146          | Stk of T.ty * T.I.machine_int   (* integer/pointer argument in parameter area *)
147          | FStk of T.fty * T.I.machine_int (* floating-point argument in parameter area *)
148          | Args of arg_location list
149    
150        fun layout {conv, retTy, paramTys} = let
151              in
152                raise Fail "layout not implemented yet"
153              end
154    
155      (* C callee-save registers *)
156        val calleeSaveRegs = [C.ebx, C.esi, C.edi]  (* C callee-save registers *)
157        val calleeSaveFRegs = []                    (* C callee-save floating-point registers *)
158    
159    (**** END NEW CODE ****)
160    
161      fun fstp (32, f) = T.EXT(ix(IX.FSTPS(f)))      fun fstp (32, f) = T.EXT(ix(IX.FSTPS(f)))
162        | fstp (64, f) = T.EXT(ix(IX.FSTPL(f)))        | fstp (64, f) = T.EXT(ix(IX.FSTPL(f)))
163        | fstp (80, f) = T.EXT(ix(IX.FSTPT(f)))        | fstp (80, f) = T.EXT(ix(IX.FSTPT(f)))

Legend:
Removed from v.1520  
changed lines
  Added in v.1521

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