pub struct VaInfo {
pub mem: Idx<MemInfo>,
pub slots: SlotList,
}Expand description
What an object read off a variable argument list is.
The access says how many bytes it is and what it is aligned to, which is the whole of what an object the convention put in the caller’s argument area needs: it is there, and those two say where the argument behind it starts. An object that travelled in registers is not there at all. It is in the callee’s own register save area, in as many places as it has eightbytes, and which register file each of those came from is not something the size and the alignment say. So the slots say it, and they are empty for the object that went in memory.
The classification is the front end’s, because it is the one that still has the type. By the time an instruction reaches a backend the type is a size and an alignment, and the algorithm in section 3.5.7 of the psABI wants more than that.
Fields§
§mem: Idx<MemInfo>The object, as any other access describes one.
slots: SlotListWhere each of its eightbytes travelled, or nothing at all for one that travelled whole in the caller’s memory.