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(true) == false
|
||||||
; run: %call_b1(false) == true
|
; 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.
|
/// Compilation Error when compiling a function.
|
||||||
#[derive(Error, Debug)]
|
#[derive(Error, Debug)]
|
||||||
pub enum CompilationError {
|
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.
|
/// Cranelift codegen error.
|
||||||
#[error("Cranelift codegen error")]
|
#[error("Cranelift codegen error")]
|
||||||
CodegenError(#[from] CodegenError),
|
CodegenError(#[from] CodegenError),
|
||||||
|
|||||||
Reference in New Issue
Block a user