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/c-calls/c-calls.sig
ViewVC logotype

Diff of /sml/trunk/src/MLRISC/c-calls/c-calls.sig

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 72  Line 72 
72              result: T.mlrisc list              result: T.mlrisc list
73            }            }
74    
75      (* the location of arguments/parameters; offsets are given with respect to the
76       * low end of the parameter area (see paramAreaOffset above).
77       *)
78        datatype arg_location
79          = Reg of T.ty * T.reg             (* integer/pointer argument in register *)
80          | FReg of T.fty * T.reg           (* floating-point argument in register *)
81          | Stk of T.ty * T.I.machine_int   (* integer/pointer argument in parameter area *)
82          | FStk of T.fty * T.I.machine_int (* floating-point argument in parameter area *)
83          | Args of arg_location list
84    
85        val layout : CTypes.c_proto -> {
86                args : arg_location list,   (* argument/parameter assignment *)
87                res : arg_location option   (* result location; NONE for void functions *)
88              }
89    
90      (* Callee-save registers as defined in the C calling convention.  Note that
91       * these do not include special registers (e.g., stack and frame-pointers)
92       * that are preserved across calls.
93       *)
94        val calleeSaveRegs : T.reg list     (* C callee-save registers *)
95        val calleeSaveFRegs : T.reg list    (* C callee-save floating-point registers *)
96    
97    end    end

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