diff options
Diffstat (limited to 'src/wasm-interpreter.h')
-rw-r--r-- | src/wasm-interpreter.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h index 65ffdbade..d00ccac43 100644 --- a/src/wasm-interpreter.h +++ b/src/wasm-interpreter.h @@ -1363,7 +1363,7 @@ public: Flow visitRefFunc(RefFunc* curr) { NOTE_ENTER("RefFunc"); NOTE_NAME(curr->func); - return Literal::makeFunc(curr->func, curr->type); + return Literal::makeFunc(curr->func, curr->type.getHeapType()); } Flow visitRefEq(RefEq* curr) { NOTE_ENTER("RefEq"); @@ -1506,7 +1506,7 @@ public: }; // We have the actual and intended RTTs, so perform the cast. if (actualRtt.isSubRtt(intendedRtt)) { - Type resultType(intendedRtt.type.getHeapType(), NonNullable); + HeapType resultType = intendedRtt.type.getHeapType(); if (original.isFunction()) { return typename Cast::Success{Literal{original.getFunc(), resultType}}; } else { @@ -1684,7 +1684,8 @@ public: if (!curr->rtt) { rttVal = Literal::makeCanonicalRtt(heapType); } - return Literal(std::make_shared<GCData>(rttVal, data), curr->type); + return Literal(std::make_shared<GCData>(rttVal, data), + curr->type.getHeapType()); } Flow visitStructGet(StructGet* curr) { NOTE_ENTER("StructGet"); @@ -1771,7 +1772,8 @@ public: if (!curr->rtt) { rttVal = Literal::makeCanonicalRtt(heapType); } - return Literal(std::make_shared<GCData>(rttVal, data), curr->type); + return Literal(std::make_shared<GCData>(rttVal, data), + curr->type.getHeapType()); } Flow visitArrayInit(ArrayInit* curr) { NOTE_ENTER("ArrayInit"); @@ -1811,7 +1813,8 @@ public: if (!curr->rtt) { rttVal = Literal::makeCanonicalRtt(heapType); } - return Literal(std::make_shared<GCData>(rttVal, data), curr->type); + return Literal(std::make_shared<GCData>(rttVal, data), + curr->type.getHeapType()); } Flow visitArrayGet(ArrayGet* curr) { NOTE_ENTER("ArrayGet"); |