summaryrefslogtreecommitdiff
path: root/src/wasm
diff options
context:
space:
mode:
Diffstat (limited to 'src/wasm')
-rw-r--r--src/wasm/literal.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/wasm/literal.cpp b/src/wasm/literal.cpp
index 85e93f912..608018d8b 100644
--- a/src/wasm/literal.cpp
+++ b/src/wasm/literal.cpp
@@ -229,11 +229,7 @@ Literals Literal::makeNegOnes(Type type) {
Literal Literal::makeZero(Type type) {
assert(type.isSingle());
if (type.isRef()) {
- if (type.getHeapType() == HeapType::i31) {
- return makeI31(0);
- } else {
- return makeNull(type.getHeapType());
- }
+ return makeNull(type.getHeapType());
} else if (type.isRtt()) {
return Literal(type);
} else {
@@ -515,7 +511,11 @@ std::ostream& operator<<(std::ostream& o, Literal literal) {
o << "eqref(null)";
break;
case HeapType::i31:
- o << "i31ref(" << literal.geti31() << ")";
+ if (literal.isNull()) {
+ o << "i31ref(null)";
+ } else {
+ o << "i31ref(" << literal.geti31() << ")";
+ }
break;
case HeapType::func:
case HeapType::data: