summaryrefslogtreecommitdiff
path: root/src/wasm-interpreter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/wasm-interpreter.h')
-rw-r--r--src/wasm-interpreter.h13
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");