x64: Migrate call and call_indirect to ISLE (#4542)

https://github.com/bytecodealliance/wasmtime/pull/4542
This commit is contained in:
Trevor Elliott
2022-07-28 13:10:03 -07:00
committed by GitHub
parent 32979b2714
commit 29d4edc76b
7 changed files with 152 additions and 66 deletions

View File

@@ -165,6 +165,16 @@ pub enum ABIArgSlot {
},
}
impl ABIArgSlot {
/// The type of the value that will be stored in this slot.
pub fn get_type(&self) -> ir::Type {
match self {
ABIArgSlot::Reg { ty, .. } => *ty,
ABIArgSlot::Stack { ty, .. } => *ty,
}
}
}
/// An ABIArg is composed of one or more parts. This allows for a CLIF-level
/// Value to be passed with its parts in more than one location at the ABI
/// level. For example, a 128-bit integer may be passed in two 64-bit registers,