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/staged-allocation/c-call-sig.sml
ViewVC logotype

Diff of /MLRISC/trunk/staged-allocation/c-call-sig.sml

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

revision 3048, Thu May 29 22:14:42 2008 UTC revision 3049, Fri May 30 00:58:55 2008 UTC
# Line 11  Line 11 
11        | FARG of T.fexp        | FARG of T.fexp
12            (* fexp specifies floating-point argument *)            (* fexp specifies floating-point argument *)
13    
14        (* kinds of locations for passing C arguments *)
15        datatype location_kinds
16          = K_GPR                (* general-purpose registers *)
17          | K_FPR                (* floating-point registers *)
18          | K_MEM                (* memory locations *)
19    
20      (* An arg_location specifies the location of arguments/parameters      (* An arg_location specifies the location of arguments/parameters
21       * for a C call.  Offsets are given with respect to the low end       * for a C call.  Offsets are given with respect to the low end
22       * of the parameter area. *)       * of the parameter area. *)
# Line 26  Line 32 
32                                                  (* arguments; this value can be passed to *)                                                  (* arguments; this value can be passed to *)
33                                                  (* the paramAlloc callback. *)                                                  (* the paramAlloc callback. *)
34              resLocs : arg_location list,        (* result location; NONE for void functions *)              resLocs : arg_location list,        (* result location; NONE for void functions *)
35              structRetLoc : {sz : int, align : int} option              structRetLoc : {szb : int, align : int} option
36            }            }
37    
38    (* translate a C function call with the given argument list into    (* translate a C function call with the given argument list into
# Line 97  Line 103 
103      val calleeSaveRegs : T.reg list     (* C callee-save registers *)      val calleeSaveRegs : T.reg list     (* C callee-save registers *)
104      val calleeSaveFRegs : T.reg list    (* C callee-save floating-point registers *)      val calleeSaveFRegs : T.reg list    (* C callee-save floating-point registers *)
105    
106        val callerSaveRegs : T.reg list     (* C caller-save registers *)
107        val callerSaveFRegs : T.reg list    (* C caller-save floating-point registers *)
108    
109  end (* C_CALL *)  end (* C_CALL *)

Legend:
Removed from v.3048  
changed lines
  Added in v.3049

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