Add more documentation for special parameters.

This commit is contained in:
Dan Gohman
2018-08-16 15:11:45 -07:00
parent 608e74d8cb
commit 8d41d2cc43

View File

@@ -404,7 +404,7 @@ convention:
retlist : paramlist
param : type [paramext] [paramspecial]
paramext : "uext" | "sext"
paramspecial : "sret" | "link" | "fp" | "csr" | "vmctx"
paramspecial : "sret" | "link" | "fp" | "csr" | "vmctx" | "sigid" | "stack_limit"
callconv : "fast" | "cold" | "system_v" | "fastcall" | "baldrdash"
A function's calling convention determines exactly how arguments and return
@@ -413,6 +413,18 @@ depend on both the instruction set /// architecture and possibly the operating
system, a function's calling convention is only fully determined by a
`(TargetIsa, CallConv)` tuple.
=========== ===========================================
Name Description
=========== ===========================================
sret pointer to a return value in memory
link return address
fp the initial value of the frame pointer
csr callee-saved register
vmctx VM context pointer, which may contain pointers to heaps etc.
sigid signature id, for checking caller/callee signature compatibility
stack_limit limit value for the size of the stack
=========== ===========================================
========== ===========================================
Name Description
========== ===========================================