Skip to content

Commit 40f40bb

Browse files
committed
RefNull may return any reference type.
1 parent 3c6168d commit 40f40bb

File tree

1 file changed

+4
-2
lines changed
  • lib/compiler-llvm/src/translator

1 file changed

+4
-2
lines changed

lib/compiler-llvm/src/translator/code.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -9348,8 +9348,10 @@ impl<'ctx, 'a> LLVMFunctionCodeGenerator<'ctx, 'a> {
93489348
* Reference types.
93499349
* https://github.com/WebAssembly/reference-types/blob/master/proposals/reference-types/Overview.md
93509350
***************************/
9351-
Operator::RefNull { .. } => {
9352-
self.state.push1(self.intrinsics.funcref_ty.const_null());
9351+
Operator::RefNull { ty } => {
9352+
let ty = wptype_to_type(ty).map_err(to_compile_error)?;
9353+
let ty = type_to_llvm(self.intrinsics, ty)?;
9354+
self.state.push1(ty.const_zero());
93539355
}
93549356
Operator::RefIsNull => {
93559357
let value = self.state.pop1()?.into_pointer_value();

0 commit comments

Comments
 (0)