SCM Repository
Diff of /sml/trunk/src/MLRISC/c-calls/c-calls.sig
Parent Directory
|
Revision Log
|
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 |
|
root@smlnj-gforge.cs.uchicago.edu | ViewVC Help |
Powered by ViewVC 1.0.0 |