wasmtime: Add support for func.ref and table.grow with funcrefs
`funcref`s are implemented as `NonNull<VMCallerCheckedAnyfunc>`. This should be more efficient than using a `VMExternRef` that points at a `VMCallerCheckedAnyfunc` because it gets rid of an indirection, dynamic allocation, and some reference counting. Note that the null function reference is *NOT* a null pointer; it is a `VMCallerCheckedAnyfunc` that has a null `func_ptr` member. Part of #929
This commit is contained in:
4
build.rs
4
build.rs
@@ -215,7 +215,9 @@ fn ignore(testsuite: &str, testname: &str, strategy: &str) -> bool {
|
||||
|
||||
("reference_types", "table_copy_on_imported_tables")
|
||||
| ("reference_types", "externref_id_function")
|
||||
| ("reference_types", "table_size") => {
|
||||
| ("reference_types", "table_size")
|
||||
| ("reference_types", "simple_ref_is_null")
|
||||
| ("reference_types", "table_grow_with_funcref") => {
|
||||
// TODO(#1886): Ignore if this isn't x64, because Cranelift only
|
||||
// supports reference types on x64.
|
||||
return env::var("CARGO_CFG_TARGET_ARCH").unwrap() != "x86_64";
|
||||
|
||||
Reference in New Issue
Block a user