Skip to content

[NFC] Enforce use of Type:: on type names #2434

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Jan 7, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
208 changes: 104 additions & 104 deletions scripts/gen-s-parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,44 +44,44 @@
("memory.copy", "makeMemoryCopy(s)"),
("memory.fill", "makeMemoryFill(s)"),
("push", "makePush(s)"),
("i32.pop", "makePop(i32)"),
("i64.pop", "makePop(i64)"),
("f32.pop", "makePop(f32)"),
("f64.pop", "makePop(f64)"),
("v128.pop", "makePop(v128)"),
("funcref.pop", "makePop(funcref)"),
("anyref.pop", "makePop(anyref)"),
("nullref.pop", "makePop(nullref)"),
("exnref.pop", "makePop(exnref)"),
("i32.load", "makeLoad(s, i32, /*isAtomic=*/false)"),
("i64.load", "makeLoad(s, i64, /*isAtomic=*/false)"),
("f32.load", "makeLoad(s, f32, /*isAtomic=*/false)"),
("f64.load", "makeLoad(s, f64, /*isAtomic=*/false)"),
("i32.load8_s", "makeLoad(s, i32, /*isAtomic=*/false)"),
("i32.load8_u", "makeLoad(s, i32, /*isAtomic=*/false)"),
("i32.load16_s", "makeLoad(s, i32, /*isAtomic=*/false)"),
("i32.load16_u", "makeLoad(s, i32, /*isAtomic=*/false)"),
("i64.load8_s", "makeLoad(s, i64, /*isAtomic=*/false)"),
("i64.load8_u", "makeLoad(s, i64, /*isAtomic=*/false)"),
("i64.load16_s", "makeLoad(s, i64, /*isAtomic=*/false)"),
("i64.load16_u", "makeLoad(s, i64, /*isAtomic=*/false)"),
("i64.load32_s", "makeLoad(s, i64, /*isAtomic=*/false)"),
("i64.load32_u", "makeLoad(s, i64, /*isAtomic=*/false)"),
("i32.store", "makeStore(s, i32, /*isAtomic=*/false)"),
("i64.store", "makeStore(s, i64, /*isAtomic=*/false)"),
("f32.store", "makeStore(s, f32, /*isAtomic=*/false)"),
("f64.store", "makeStore(s, f64, /*isAtomic=*/false)"),
("i32.store8", "makeStore(s, i32, /*isAtomic=*/false)"),
("i32.store16", "makeStore(s, i32, /*isAtomic=*/false)"),
("i64.store8", "makeStore(s, i64, /*isAtomic=*/false)"),
("i64.store16", "makeStore(s, i64, /*isAtomic=*/false)"),
("i64.store32", "makeStore(s, i64, /*isAtomic=*/false)"),
("i32.pop", "makePop(Type::i32)"),
("i64.pop", "makePop(Type::i64)"),
("f32.pop", "makePop(Type::f32)"),
("f64.pop", "makePop(Type::f64)"),
("v128.pop", "makePop(Type::v128)"),
("funcref.pop", "makePop(Type::funcref)"),
("anyref.pop", "makePop(Type::anyref)"),
("nullref.pop", "makePop(Type::nullref)"),
("exnref.pop", "makePop(Type::exnref)"),
("i32.load", "makeLoad(s, Type::i32, /*isAtomic=*/false)"),
("i64.load", "makeLoad(s, Type::i64, /*isAtomic=*/false)"),
("f32.load", "makeLoad(s, Type::f32, /*isAtomic=*/false)"),
("f64.load", "makeLoad(s, Type::f64, /*isAtomic=*/false)"),
("i32.load8_s", "makeLoad(s, Type::i32, /*isAtomic=*/false)"),
("i32.load8_u", "makeLoad(s, Type::i32, /*isAtomic=*/false)"),
("i32.load16_s", "makeLoad(s, Type::i32, /*isAtomic=*/false)"),
("i32.load16_u", "makeLoad(s, Type::i32, /*isAtomic=*/false)"),
("i64.load8_s", "makeLoad(s, Type::i64, /*isAtomic=*/false)"),
("i64.load8_u", "makeLoad(s, Type::i64, /*isAtomic=*/false)"),
("i64.load16_s", "makeLoad(s, Type::i64, /*isAtomic=*/false)"),
("i64.load16_u", "makeLoad(s, Type::i64, /*isAtomic=*/false)"),
("i64.load32_s", "makeLoad(s, Type::i64, /*isAtomic=*/false)"),
("i64.load32_u", "makeLoad(s, Type::i64, /*isAtomic=*/false)"),
("i32.store", "makeStore(s, Type::i32, /*isAtomic=*/false)"),
("i64.store", "makeStore(s, Type::i64, /*isAtomic=*/false)"),
("f32.store", "makeStore(s, Type::f32, /*isAtomic=*/false)"),
("f64.store", "makeStore(s, Type::f64, /*isAtomic=*/false)"),
("i32.store8", "makeStore(s, Type::i32, /*isAtomic=*/false)"),
("i32.store16", "makeStore(s, Type::i32, /*isAtomic=*/false)"),
("i64.store8", "makeStore(s, Type::i64, /*isAtomic=*/false)"),
("i64.store16", "makeStore(s, Type::i64, /*isAtomic=*/false)"),
("i64.store32", "makeStore(s, Type::i64, /*isAtomic=*/false)"),
("memory.size", "makeHost(s, HostOp::MemorySize)"),
("memory.grow", "makeHost(s, HostOp::MemoryGrow)"),
("i32.const", "makeConst(s, i32)"),
("i64.const", "makeConst(s, i64)"),
("f32.const", "makeConst(s, f32)"),
("f64.const", "makeConst(s, f64)"),
("i32.const", "makeConst(s, Type::i32)"),
("i64.const", "makeConst(s, Type::i64)"),
("f32.const", "makeConst(s, Type::f32)"),
("f64.const", "makeConst(s, Type::f64)"),
("i32.eqz", "makeUnary(s, UnaryOp::EqZInt32)"),
("i32.eq", "makeBinary(s, BinaryOp::EqInt32)"),
("i32.ne", "makeBinary(s, BinaryOp::NeInt32)"),
Expand Down Expand Up @@ -212,72 +212,72 @@
("i64.extend32_s", "makeUnary(s, UnaryOp::ExtendS32Int64)"),
# atomic instructions
("atomic.notify", "makeAtomicNotify(s)"),
("i32.atomic.wait", "makeAtomicWait(s, i32)"),
("i64.atomic.wait", "makeAtomicWait(s, i64)"),
("i32.atomic.wait", "makeAtomicWait(s, Type::i32)"),
("i64.atomic.wait", "makeAtomicWait(s, Type::i64)"),
("atomic.fence", "makeAtomicFence(s)"),
("i32.atomic.load8_u", "makeLoad(s, i32, /*isAtomic=*/true)"),
("i32.atomic.load16_u", "makeLoad(s, i32, /*isAtomic=*/true)"),
("i32.atomic.load", "makeLoad(s, i32, /*isAtomic=*/true)"),
("i64.atomic.load8_u", "makeLoad(s, i64, /*isAtomic=*/true)"),
("i64.atomic.load16_u", "makeLoad(s, i64, /*isAtomic=*/true)"),
("i64.atomic.load32_u", "makeLoad(s, i64, /*isAtomic=*/true)"),
("i64.atomic.load", "makeLoad(s, i64, /*isAtomic=*/true)"),
("i32.atomic.store8", "makeStore(s, i32, /*isAtomic=*/true)"),
("i32.atomic.store16", "makeStore(s, i32, /*isAtomic=*/true)"),
("i32.atomic.store", "makeStore(s, i32, /*isAtomic=*/true)"),
("i64.atomic.store8", "makeStore(s, i64, /*isAtomic=*/true)"),
("i64.atomic.store16", "makeStore(s, i64, /*isAtomic=*/true)"),
("i64.atomic.store32", "makeStore(s, i64, /*isAtomic=*/true)"),
("i64.atomic.store", "makeStore(s, i64, /*isAtomic=*/true)"),
("i32.atomic.rmw8.add_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
("i32.atomic.rmw16.add_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
("i32.atomic.rmw.add", "makeAtomicRMWOrCmpxchg(s, i32)"),
("i64.atomic.rmw8.add_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i64.atomic.rmw16.add_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i64.atomic.rmw32.add_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i64.atomic.rmw.add", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i32.atomic.rmw8.sub_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
("i32.atomic.rmw16.sub_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
("i32.atomic.rmw.sub", "makeAtomicRMWOrCmpxchg(s, i32)"),
("i64.atomic.rmw8.sub_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i64.atomic.rmw16.sub_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i64.atomic.rmw32.sub_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i64.atomic.rmw.sub", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i32.atomic.rmw8.and_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
("i32.atomic.rmw16.and_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
("i32.atomic.rmw.and", "makeAtomicRMWOrCmpxchg(s, i32)"),
("i64.atomic.rmw8.and_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i64.atomic.rmw16.and_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i64.atomic.rmw32.and_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i64.atomic.rmw.and", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i32.atomic.rmw8.or_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
("i32.atomic.rmw16.or_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
("i32.atomic.rmw.or", "makeAtomicRMWOrCmpxchg(s, i32)"),
("i64.atomic.rmw8.or_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i64.atomic.rmw16.or_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i64.atomic.rmw32.or_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i64.atomic.rmw.or", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i32.atomic.rmw8.xor_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
("i32.atomic.rmw16.xor_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
("i32.atomic.rmw.xor", "makeAtomicRMWOrCmpxchg(s, i32)"),
("i64.atomic.rmw8.xor_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i64.atomic.rmw16.xor_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i64.atomic.rmw32.xor_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i64.atomic.rmw.xor", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i32.atomic.rmw8.xchg_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
("i32.atomic.rmw16.xchg_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
("i32.atomic.rmw.xchg", "makeAtomicRMWOrCmpxchg(s, i32)"),
("i64.atomic.rmw8.xchg_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i64.atomic.rmw16.xchg_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i64.atomic.rmw32.xchg_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i64.atomic.rmw.xchg", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i32.atomic.rmw8.cmpxchg_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
("i32.atomic.rmw16.cmpxchg_u", "makeAtomicRMWOrCmpxchg(s, i32)"),
("i32.atomic.rmw.cmpxchg", "makeAtomicRMWOrCmpxchg(s, i32)"),
("i64.atomic.rmw8.cmpxchg_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i64.atomic.rmw16.cmpxchg_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i64.atomic.rmw32.cmpxchg_u", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i64.atomic.rmw.cmpxchg", "makeAtomicRMWOrCmpxchg(s, i64)"),
("i32.atomic.load8_u", "makeLoad(s, Type::i32, /*isAtomic=*/true)"),
("i32.atomic.load16_u", "makeLoad(s, Type::i32, /*isAtomic=*/true)"),
("i32.atomic.load", "makeLoad(s, Type::i32, /*isAtomic=*/true)"),
("i64.atomic.load8_u", "makeLoad(s, Type::i64, /*isAtomic=*/true)"),
("i64.atomic.load16_u", "makeLoad(s, Type::i64, /*isAtomic=*/true)"),
("i64.atomic.load32_u", "makeLoad(s, Type::i64, /*isAtomic=*/true)"),
("i64.atomic.load", "makeLoad(s, Type::i64, /*isAtomic=*/true)"),
("i32.atomic.store8", "makeStore(s, Type::i32, /*isAtomic=*/true)"),
("i32.atomic.store16", "makeStore(s, Type::i32, /*isAtomic=*/true)"),
("i32.atomic.store", "makeStore(s, Type::i32, /*isAtomic=*/true)"),
("i64.atomic.store8", "makeStore(s, Type::i64, /*isAtomic=*/true)"),
("i64.atomic.store16", "makeStore(s, Type::i64, /*isAtomic=*/true)"),
("i64.atomic.store32", "makeStore(s, Type::i64, /*isAtomic=*/true)"),
("i64.atomic.store", "makeStore(s, Type::i64, /*isAtomic=*/true)"),
("i32.atomic.rmw8.add_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
("i32.atomic.rmw16.add_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
("i32.atomic.rmw.add", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
("i64.atomic.rmw8.add_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
("i64.atomic.rmw16.add_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
("i64.atomic.rmw32.add_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
("i64.atomic.rmw.add", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
("i32.atomic.rmw8.sub_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
("i32.atomic.rmw16.sub_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
("i32.atomic.rmw.sub", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
("i64.atomic.rmw8.sub_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
("i64.atomic.rmw16.sub_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
("i64.atomic.rmw32.sub_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
("i64.atomic.rmw.sub", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
("i32.atomic.rmw8.and_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
("i32.atomic.rmw16.and_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
("i32.atomic.rmw.and", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
("i64.atomic.rmw8.and_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
("i64.atomic.rmw16.and_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
("i64.atomic.rmw32.and_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
("i64.atomic.rmw.and", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
("i32.atomic.rmw8.or_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
("i32.atomic.rmw16.or_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
("i32.atomic.rmw.or", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
("i64.atomic.rmw8.or_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
("i64.atomic.rmw16.or_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
("i64.atomic.rmw32.or_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
("i64.atomic.rmw.or", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
("i32.atomic.rmw8.xor_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
("i32.atomic.rmw16.xor_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
("i32.atomic.rmw.xor", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
("i64.atomic.rmw8.xor_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
("i64.atomic.rmw16.xor_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
("i64.atomic.rmw32.xor_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
("i64.atomic.rmw.xor", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
("i32.atomic.rmw8.xchg_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
("i32.atomic.rmw16.xchg_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
("i32.atomic.rmw.xchg", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
("i64.atomic.rmw8.xchg_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
("i64.atomic.rmw16.xchg_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
("i64.atomic.rmw32.xchg_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
("i64.atomic.rmw.xchg", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
("i32.atomic.rmw8.cmpxchg_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
("i32.atomic.rmw16.cmpxchg_u", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
("i32.atomic.rmw.cmpxchg", "makeAtomicRMWOrCmpxchg(s, Type::i32)"),
("i64.atomic.rmw8.cmpxchg_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
("i64.atomic.rmw16.cmpxchg_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
("i64.atomic.rmw32.cmpxchg_u", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
("i64.atomic.rmw.cmpxchg", "makeAtomicRMWOrCmpxchg(s, Type::i64)"),
# nontrapping float-to-int instructions
("i32.trunc_sat_f32_s", "makeUnary(s, UnaryOp::TruncSatSFloat32ToInt32)"),
("i32.trunc_sat_f32_u", "makeUnary(s, UnaryOp::TruncSatUFloat32ToInt32)"),
Expand All @@ -288,9 +288,9 @@
("i64.trunc_sat_f64_s", "makeUnary(s, UnaryOp::TruncSatSFloat64ToInt64)"),
("i64.trunc_sat_f64_u", "makeUnary(s, UnaryOp::TruncSatUFloat64ToInt64)"),
# SIMD ops
("v128.load", "makeLoad(s, v128, /*isAtomic=*/false)"),
("v128.store", "makeStore(s, v128, /*isAtomic=*/false)"),
("v128.const", "makeConst(s, v128)"),
("v128.load", "makeLoad(s, Type::v128, /*isAtomic=*/false)"),
("v128.store", "makeStore(s, Type::v128, /*isAtomic=*/false)"),
("v128.const", "makeConst(s, Type::v128)"),
("v8x16.shuffle", "makeSIMDShuffle(s)"),
("i8x16.splat", "makeUnary(s, UnaryOp::SplatVecI8x16)"),
("i8x16.extract_lane_s", "makeSIMDExtract(s, SIMDExtractOp::ExtractLaneSVecI8x16, 16)"),
Expand Down
16 changes: 8 additions & 8 deletions src/abi/js.h
Original file line number Diff line number Diff line change
Expand Up @@ -67,14 +67,14 @@ ensureScratchMemoryHelpers(Module* wasm,
wasm->addFunction(std::move(func));
};

ensureImport(SCRATCH_LOAD_I32, {i32}, i32);
ensureImport(SCRATCH_STORE_I32, {i32, i32}, none);
ensureImport(SCRATCH_LOAD_I64, {}, i64);
ensureImport(SCRATCH_STORE_I64, {i64}, none);
ensureImport(SCRATCH_LOAD_F32, {}, f32);
ensureImport(SCRATCH_STORE_F32, {f32}, none);
ensureImport(SCRATCH_LOAD_F64, {}, f64);
ensureImport(SCRATCH_STORE_F64, {f64}, none);
ensureImport(SCRATCH_LOAD_I32, {Type::i32}, Type::i32);
ensureImport(SCRATCH_STORE_I32, {Type::i32, Type::i32}, Type::none);
ensureImport(SCRATCH_LOAD_I64, {}, Type::i64);
ensureImport(SCRATCH_STORE_I64, {Type::i64}, Type::none);
ensureImport(SCRATCH_LOAD_F32, {}, Type::f32);
ensureImport(SCRATCH_STORE_F32, {Type::f32}, Type::none);
ensureImport(SCRATCH_LOAD_F64, {}, Type::f64);
ensureImport(SCRATCH_STORE_F64, {Type::f64}, Type::none);
}

inline bool isScratchMemoryHelper(cashew::IString name) {
Expand Down
8 changes: 4 additions & 4 deletions src/abi/stack.h
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ getStackSpace(Index local, Function* func, Index size, Module& wasm) {
local, builder.makeGlobalGet(stackPointer->name, PointerType)));
// TODO: add stack max check
Expression* added;
if (PointerType == i32) {
if (PointerType == Type::i32) {
added = builder.makeBinary(AddInt32,
builder.makeLocalGet(local, PointerType),
builder.makeConst(Literal(int32_t(size))));
Expand All @@ -104,7 +104,7 @@ getStackSpace(Index local, Function* func, Index size, Module& wasm) {
FindAllPointers<Return> finder(func->body);
for (auto** ptr : finder.list) {
auto* ret = (*ptr)->cast<Return>();
if (ret->value && ret->value->type != unreachable) {
if (ret->value && ret->value->type != Type::unreachable) {
// handle the returned value
auto* block = builder.makeBlock();
auto temp = builder.addVar(func, ret->value->type);
Expand All @@ -120,10 +120,10 @@ getStackSpace(Index local, Function* func, Index size, Module& wasm) {
}
}
// add stack restores to the body
if (func->body->type == none) {
if (func->body->type == Type::none) {
block->list.push_back(func->body);
block->list.push_back(makeStackRestore());
} else if (func->body->type == unreachable) {
} else if (func->body->type == Type::unreachable) {
block->list.push_back(func->body);
// no need to restore the old stack value, we're gone anyhow
} else {
Expand Down
Loading