cranelift: Test calling across different calling conventions (#4801)
* cranelift: Test calling across different calling conventions * cranelift: Use `wasmtime_system_v` calling convention for cross cc tests
This commit is contained in:
@@ -67,3 +67,22 @@ block0(v0: b1):
|
||||
}
|
||||
; run: %call_b1(true) == false
|
||||
; run: %call_b1(false) == true
|
||||
|
||||
|
||||
|
||||
; Tests calling across different calling conventions
|
||||
|
||||
function %callee_wasm_i64(i64) -> i64 wasmtime_system_v {
|
||||
block0(v0: i64):
|
||||
v1 = iadd_imm.i64 v0, 10
|
||||
return v1
|
||||
}
|
||||
|
||||
function %call_sysv_i64(i64) -> i64 system_v {
|
||||
fn0 = %callee_wasm_i64(i64) -> i64 wasmtime_system_v
|
||||
|
||||
block0(v0: i64):
|
||||
v1 = call fn0(v0)
|
||||
return v1
|
||||
}
|
||||
; run: %call_sysv_i64(10) == 20
|
||||
|
||||
@@ -326,10 +326,6 @@ impl<'a> Trampoline<'a> {
|
||||
/// Compilation Error when compiling a function.
|
||||
#[derive(Error, Debug)]
|
||||
pub enum CompilationError {
|
||||
/// This Target ISA is invalid for the current host.
|
||||
#[error("Cross-compilation not currently supported; use the host's default calling convention \
|
||||
or remove the specified calling convention in the function signature to use the host's default.")]
|
||||
InvalidTargetIsa,
|
||||
/// Cranelift codegen error.
|
||||
#[error("Cranelift codegen error")]
|
||||
CodegenError(#[from] CodegenError),
|
||||
|
||||
Reference in New Issue
Block a user