diff options
34 files changed, 8580 insertions, 8078 deletions
diff --git a/src/binary-reader-interpreter.cc b/src/binary-reader-interpreter.cc index 258ffc5f..ec468c06 100644 --- a/src/binary-reader-interpreter.cc +++ b/src/binary-reader-interpreter.cc @@ -186,6 +186,12 @@ class BinaryReaderInterpreter : public BinaryReaderNop { wabt::Result OnTeeLocalExpr(Index local_index) override; wabt::Result OnUnaryExpr(wabt::Opcode opcode) override; wabt::Result OnUnreachableExpr() override; + wabt::Result OnWaitExpr(Opcode opcode, + uint32_t alignment_log2, + Address offset) override; + wabt::Result OnWakeExpr(Opcode opcode, + uint32_t alignment_log2, + Address offset) override; wabt::Result EndFunctionBody(Index index) override; wabt::Result EndElemSegmentInitExpr(Index index) override; @@ -1501,6 +1507,30 @@ wabt::Result BinaryReaderInterpreter::OnUnreachableExpr() { return wabt::Result::Ok; } +wabt::Result BinaryReaderInterpreter::OnWaitExpr(Opcode opcode, + uint32_t alignment_log2, + Address offset) { + CHECK_RESULT(CheckHasMemory(opcode)); + CHECK_RESULT(CheckAtomicAlign(alignment_log2, opcode.GetMemorySize())); + CHECK_RESULT(typechecker_.OnWait(opcode)); + CHECK_RESULT(EmitOpcode(opcode)); + CHECK_RESULT(EmitI32(module_->memory_index)); + CHECK_RESULT(EmitI32(offset)); + return wabt::Result::Ok; +} + +wabt::Result BinaryReaderInterpreter::OnWakeExpr(Opcode opcode, + uint32_t alignment_log2, + Address offset) { + CHECK_RESULT(CheckHasMemory(opcode)); + CHECK_RESULT(CheckAtomicAlign(alignment_log2, opcode.GetMemorySize())); + CHECK_RESULT(typechecker_.OnWake(opcode)); + CHECK_RESULT(EmitOpcode(opcode)); + CHECK_RESULT(EmitI32(module_->memory_index)); + CHECK_RESULT(EmitI32(offset)); + return wabt::Result::Ok; +} + wabt::Result BinaryReaderInterpreter::EndModule() { for (ElemSegmentInfo& info : elem_segment_infos_) { *info.dst = info.func_index; diff --git a/src/binary-reader-ir.cc b/src/binary-reader-ir.cc index f37b4ddb..5e4dd9f3 100644 --- a/src/binary-reader-ir.cc +++ b/src/binary-reader-ir.cc @@ -171,6 +171,12 @@ class BinaryReaderIR : public BinaryReaderNop { Result OnTryExpr(Index num_types, Type* sig_types) override; Result OnUnaryExpr(Opcode opcode) override; Result OnUnreachableExpr() override; + wabt::Result OnWaitExpr(Opcode opcode, + uint32_t alignment_log2, + Address offset) override; + wabt::Result OnWakeExpr(Opcode opcode, + uint32_t alignment_log2, + Address offset) override; Result EndFunctionBody(Index index) override; Result OnElemSegmentCount(Index count) override; @@ -765,6 +771,18 @@ Result BinaryReaderIR::OnUnreachableExpr() { return AppendExpr(MakeUnique<UnreachableExpr>()); } +wabt::Result BinaryReaderIR::OnWaitExpr(Opcode opcode, + uint32_t alignment_log2, + Address offset) { + return AppendExpr(MakeUnique<WaitExpr>(opcode, 1 << alignment_log2, offset)); +} + +wabt::Result BinaryReaderIR::OnWakeExpr(Opcode opcode, + uint32_t alignment_log2, + Address offset) { + return AppendExpr(MakeUnique<WakeExpr>(opcode, 1 << alignment_log2, offset)); +} + Result BinaryReaderIR::EndFunctionBody(Index index) { CHECK_RESULT(PopLabel()); current_func_ = nullptr; diff --git a/src/binary-reader-logging.cc b/src/binary-reader-logging.cc index 7e4e19b3..b167e63d 100644 --- a/src/binary-reader-logging.cc +++ b/src/binary-reader-logging.cc @@ -566,6 +566,8 @@ DEFINE_INDEX_DESC(OnTeeLocalExpr, "index") DEFINE_INDEX_DESC(OnThrowExpr, "except_index") DEFINE0(OnUnreachableExpr) DEFINE_OPCODE(OnUnaryExpr) +DEFINE_LOAD_STORE_OPCODE(OnWaitExpr); +DEFINE_LOAD_STORE_OPCODE(OnWakeExpr); DEFINE_END(EndCodeSection) DEFINE_BEGIN(BeginElemSection) diff --git a/src/binary-reader-logging.h b/src/binary-reader-logging.h index fe80843e..4fc95efb 100644 --- a/src/binary-reader-logging.h +++ b/src/binary-reader-logging.h @@ -189,6 +189,12 @@ class BinaryReaderLogging : public BinaryReaderDelegate { Result OnTryExpr(Index num_types, Type* sig_types) override; Result OnUnaryExpr(Opcode opcode) override; Result OnUnreachableExpr() override; + Result OnWaitExpr(Opcode opcode, + uint32_t alignment_log2, + Address offset) override; + Result OnWakeExpr(Opcode opcode, + uint32_t alignment_log2, + Address offset) override; Result EndFunctionBody(Index index) override; Result EndCodeSection() override; diff --git a/src/binary-reader-nop.h b/src/binary-reader-nop.h index 90b91d2c..b3a24458 100644 --- a/src/binary-reader-nop.h +++ b/src/binary-reader-nop.h @@ -253,6 +253,8 @@ class BinaryReaderNop : public BinaryReaderDelegate { } Result OnUnaryExpr(Opcode opcode) override { return Result::Ok; } Result OnUnreachableExpr() override { return Result::Ok; } + Result OnWaitExpr(Opcode, uint32_t, Address) override { return Result::Ok; } + Result OnWakeExpr(Opcode, uint32_t, Address) override { return Result::Ok; } Result EndFunctionBody(Index index) override { return Result::Ok; } Result EndCodeSection() override { return Result::Ok; } diff --git a/src/binary-reader.cc b/src/binary-reader.cc index faeea4e9..2ba930e1 100644 --- a/src/binary-reader.cc +++ b/src/binary-reader.cc @@ -959,6 +959,29 @@ Result BinaryReader::ReadFunctionBody(Offset end_offset) { CALLBACK0(OnOpcodeBare); break; + case Opcode::Wake: { + uint32_t alignment_log2; + CHECK_RESULT(ReadU32Leb128(&alignment_log2, "load alignment")); + Address offset; + CHECK_RESULT(ReadU32Leb128(&offset, "load offset")); + + CALLBACK(OnWakeExpr, opcode, alignment_log2, offset); + CALLBACK(OnOpcodeUint32Uint32, alignment_log2, offset); + break; + } + + case Opcode::I32Wait: + case Opcode::I64Wait: { + uint32_t alignment_log2; + CHECK_RESULT(ReadU32Leb128(&alignment_log2, "load alignment")); + Address offset; + CHECK_RESULT(ReadU32Leb128(&offset, "load offset")); + + CALLBACK(OnWaitExpr, opcode, alignment_log2, offset); + CALLBACK(OnOpcodeUint32Uint32, alignment_log2, offset); + break; + } + case Opcode::I32AtomicLoad8U: case Opcode::I32AtomicLoad16U: case Opcode::I64AtomicLoad8U: diff --git a/src/binary-reader.h b/src/binary-reader.h index 907674f6..c0b32393 100644 --- a/src/binary-reader.h +++ b/src/binary-reader.h @@ -236,6 +236,12 @@ class BinaryReaderDelegate { virtual Result OnUnaryExpr(Opcode opcode) = 0; virtual Result OnUnreachableExpr() = 0; + virtual Result OnWaitExpr(Opcode opcode, + uint32_t alignment_log2, + Address offset) = 0; + virtual Result OnWakeExpr(Opcode opcode, + uint32_t alignment_log2, + Address offset) = 0; virtual Result EndFunctionBody(Index index) = 0; virtual Result EndCodeSection() = 0; diff --git a/src/binary-writer.cc b/src/binary-writer.cc index ad039677..54ba2fcb 100644 --- a/src/binary-writer.cc +++ b/src/binary-writer.cc @@ -329,6 +329,7 @@ Index BinaryWriter::GetLocalIndex(const Func* func, const Var& var) { } } +// TODO(binji): Rename this, it is used for more than loads/stores now. template <typename T> void BinaryWriter::WriteLoadStoreExpr(const Module* module, const Func* func, @@ -543,6 +544,12 @@ void BinaryWriter::WriteExpr(const Module* module, case ExprType::Unreachable: WriteOpcode(stream_, Opcode::Unreachable); break; + case ExprType::Wait: + WriteLoadStoreExpr<WaitExpr>(module, func, expr, "memory offset"); + break; + case ExprType::Wake: + WriteLoadStoreExpr<WakeExpr>(module, func, expr, "memory offset"); + break; } } diff --git a/src/expr-visitor.cc b/src/expr-visitor.cc index 8975a43d..27ffed09 100644 --- a/src/expr-visitor.cc +++ b/src/expr-visitor.cc @@ -184,6 +184,14 @@ Result ExprVisitor::VisitExpr(Expr* expr) { case ExprType::Unreachable: CHECK_RESULT(delegate_->OnUnreachableExpr(cast<UnreachableExpr>(expr))); break; + + case ExprType::Wait: + CHECK_RESULT(delegate_->OnWaitExpr(cast<WaitExpr>(expr))); + break; + + case ExprType::Wake: + CHECK_RESULT(delegate_->OnWakeExpr(cast<WakeExpr>(expr))); + break; } return Result::Ok; diff --git a/src/expr-visitor.h b/src/expr-visitor.h index 2c110cd8..43db7dc3 100644 --- a/src/expr-visitor.h +++ b/src/expr-visitor.h @@ -77,6 +77,8 @@ class ExprVisitor::Delegate { virtual Result OnCatchExpr(TryExpr*, Catch*) = 0; virtual Result OnThrowExpr(ThrowExpr*) = 0; virtual Result OnRethrowExpr(RethrowExpr*) = 0; + virtual Result OnWaitExpr(WaitExpr*) = 0; + virtual Result OnWakeExpr(WakeExpr*) = 0; virtual Result OnAtomicLoadExpr(AtomicLoadExpr*) = 0; virtual Result OnAtomicStoreExpr(AtomicStoreExpr*) = 0; virtual Result OnAtomicRmwExpr(AtomicRmwExpr*) = 0; @@ -121,6 +123,8 @@ class ExprVisitor::DelegateNop : public ExprVisitor::Delegate { Result OnCatchExpr(TryExpr*, Catch*) override { return Result::Ok; } Result OnThrowExpr(ThrowExpr*) override { return Result::Ok; } Result OnRethrowExpr(RethrowExpr*) override { return Result::Ok; } + Result OnWaitExpr(WaitExpr*) override { return Result::Ok; } + Result OnWakeExpr(WakeExpr*) override { return Result::Ok; } Result OnAtomicLoadExpr(AtomicLoadExpr*) override { return Result::Ok; } Result OnAtomicStoreExpr(AtomicStoreExpr*) override { return Result::Ok; } Result OnAtomicRmwExpr(AtomicRmwExpr*) override { return Result::Ok; } diff --git a/src/interpreter.cc b/src/interpreter.cc index 83cb69fb..0205e331 100644 --- a/src/interpreter.cc +++ b/src/interpreter.cc @@ -2300,6 +2300,13 @@ Result Thread::Run(int num_instructions, IstreamOffset* call_stack_return_top) { case Opcode::Nop: break; + case Opcode::I32Wait: + case Opcode::I64Wait: + case Opcode::Wake: + // TODO(binji): Implement. + TRAP(Unreachable); + break; + // The following opcodes are either never generated or should never be // executed. case Opcode::Block: @@ -2444,6 +2451,7 @@ void Thread::Trace(Stream* stream) { break; } + case Opcode::Wake: case Opcode::I32AtomicStore: case Opcode::I32AtomicStore8: case Opcode::I32AtomicStore16: @@ -2523,6 +2531,15 @@ void Thread::Trace(Stream* stream) { break; } + case Opcode::I32Wait:{ + Index memory_index = ReadU32(&pc); + stream->Writef("%s $%" PRIindex ":%u+$%u, %u, %" PRIu64 "\n", + opcode.GetName(), memory_index, Pick(3).i32, ReadU32At(pc), + Pick(2).i32, Pick(1).i64); + break; + } + + case Opcode::I64Wait: case Opcode::I64AtomicRmwCmpxchg: case Opcode::I64AtomicRmw8UCmpxchg: case Opcode::I64AtomicRmw16UCmpxchg: @@ -2887,6 +2904,7 @@ void Environment::Disassemble(Stream* stream, break; } + case Opcode::Wake: case Opcode::I32AtomicStore: case Opcode::I64AtomicStore: case Opcode::I32AtomicStore8: @@ -2951,6 +2969,8 @@ void Environment::Disassemble(Stream* stream, break; } + case Opcode::I32Wait: + case Opcode::I64Wait: case Opcode::I32AtomicRmwCmpxchg: case Opcode::I64AtomicRmwCmpxchg: case Opcode::I32AtomicRmw8UCmpxchg: @@ -53,7 +53,9 @@ const char* ExprTypeName[] = { "Throw", "TryBlock", "Unary", - "Unreachable" + "Unreachable", + "Wait", + "Wake" }; } // end of anonymous namespace @@ -148,9 +148,11 @@ enum class ExprType { TryBlock, Unary, Unreachable, + Wait, + Wake, First = Binary, - Last = Unreachable + Last = Wake }; const char* GetExprTypeName(ExprType type); @@ -300,6 +302,7 @@ class ConstExpr : public ExprMixin<ExprType::Const> { Const const_; }; +// TODO(binji): Rename this, it is used for more than loads/stores now. template <ExprType TypeEnum> class LoadStoreExpr : public ExprMixin<TypeEnum> { public: @@ -323,6 +326,8 @@ typedef LoadStoreExpr<ExprType::AtomicLoad> AtomicLoadExpr; typedef LoadStoreExpr<ExprType::AtomicStore> AtomicStoreExpr; typedef LoadStoreExpr<ExprType::AtomicRmw> AtomicRmwExpr; typedef LoadStoreExpr<ExprType::AtomicRmwCmpxchg> AtomicRmwCmpxchgExpr; +typedef LoadStoreExpr<ExprType::Wait> WaitExpr; +typedef LoadStoreExpr<ExprType::Wake> WakeExpr; struct Exception { Exception() = default; diff --git a/src/opcode.cc b/src/opcode.cc index cadb4987..a03815ac 100644 --- a/src/opcode.cc +++ b/src/opcode.cc @@ -111,6 +111,9 @@ bool Opcode::IsEnabled(const Features& features) const { case Opcode::I64Extend8S: case Opcode::I64Extend16S: case Opcode::I64Extend32S: + case Opcode::Wake: + case Opcode::I32Wait: + case Opcode::I64Wait: case Opcode::I32AtomicLoad: case Opcode::I64AtomicLoad: case Opcode::I32AtomicLoad8U: diff --git a/src/opcode.def b/src/opcode.def index a263f21b..28c0a804 100644 --- a/src/opcode.def +++ b/src/opcode.def @@ -234,6 +234,9 @@ WABT_OPCODE(I64, F32, ___, ___, 0, 0xfc, 0x05, I64TruncUSatF32, "i64.trunc_u:sa WABT_OPCODE(I64, F64, ___, ___, 0, 0xfc, 0x06, I64TruncSSatF64, "i64.trunc_s:sat/f64") WABT_OPCODE(I64, F64, ___, ___, 0, 0xfc, 0x07, I64TruncUSatF64, "i64.trunc_u:sat/f64") +WABT_OPCODE(I32, I32, I32, ___, 4, 0xfe, 0x00, Wake, "wake") +WABT_OPCODE(I32, I32, I32, I64, 4, 0xfe, 0x01, I32Wait, "i32.wait") +WABT_OPCODE(I32, I32, I64, I64, 8, 0xfe, 0x02, I64Wait, "i64.wait") WABT_OPCODE(I32, I32, ___, ___, 4, 0xfe, 0x10, I32AtomicLoad, "i32.atomic.load") WABT_OPCODE(I64, I32, ___, ___, 8, 0xfe, 0x11, I64AtomicLoad, "i64.atomic.load") WABT_OPCODE(I32, I32, ___, ___, 1, 0xfe, 0x12, I32AtomicLoad8U, "i32.atomic.load8_u") diff --git a/src/prebuilt/wast-lexer-gen.cc b/src/prebuilt/wast-lexer-gen.cc index c05fa791..357f31c0 100644 --- a/src/prebuilt/wast-lexer-gen.cc +++ b/src/prebuilt/wast-lexer-gen.cc @@ -450,12 +450,12 @@ YYCOND_BLOCK_COMMENT: yy34: ++cursor_; yy35: -#line 556 "src/wast-lexer.cc" +#line 559 "src/wast-lexer.cc" { continue; } #line 456 "src/prebuilt/wast-lexer-gen.cc" yy36: ++cursor_; -#line 555 "src/wast-lexer.cc" +#line 558 "src/wast-lexer.cc" { NEWLINE; continue; } #line 461 "src/prebuilt/wast-lexer-gen.cc" yy38: @@ -469,7 +469,7 @@ yy39: yy40: ++cursor_; yy41: -#line 557 "src/wast-lexer.cc" +#line 560 "src/wast-lexer.cc" { MAYBE_MALFORMED_UTF8(" in block comment"); } #line 475 "src/prebuilt/wast-lexer-gen.cc" yy42: @@ -504,12 +504,12 @@ yy47: goto yy41; yy48: ++cursor_; -#line 551 "src/wast-lexer.cc" +#line 554 "src/wast-lexer.cc" { COMMENT_NESTING++; continue; } #line 510 "src/prebuilt/wast-lexer-gen.cc" yy50: ++cursor_; -#line 552 "src/wast-lexer.cc" +#line 555 "src/wast-lexer.cc" { if (--COMMENT_NESTING == 0) BEGIN(YYCOND_i); continue; } @@ -602,19 +602,19 @@ yy57: if (yych <= 0xF4) goto yy76; } yy59: -#line 549 "src/wast-lexer.cc" +#line 552 "src/wast-lexer.cc" { continue; } #line 608 "src/prebuilt/wast-lexer-gen.cc" yy60: ++cursor_; BEGIN(YYCOND_i); -#line 548 "src/wast-lexer.cc" +#line 551 "src/wast-lexer.cc" { NEWLINE; continue; } #line 614 "src/prebuilt/wast-lexer-gen.cc" yy62: ++cursor_; yy63: -#line 562 "src/wast-lexer.cc" +#line 565 "src/wast-lexer.cc" { MAYBE_MALFORMED_UTF8(""); } #line 620 "src/prebuilt/wast-lexer-gen.cc" yy64: @@ -743,8 +743,8 @@ YYCOND_i: if (yybm[0+yych] & 4) { goto yy81; } - if (yych <= 'e') { - if (yych <= '+') { + if (yych <= 'f') { + if (yych <= ',') { if (yych <= '#') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy79; @@ -760,76 +760,78 @@ YYCOND_i: goto yy92; } else { if (yych <= ')') goto yy94; - if (yych <= '*') goto yy86; - goto yy96; + if (yych == '+') goto yy96; + goto yy86; } } } else { - if (yych <= ':') { - if (yych <= '/') { - if (yych == '-') goto yy96; - goto yy86; + if (yych <= ';') { + if (yych <= '0') { + if (yych <= '-') goto yy96; + if (yych <= '/') goto yy86; + goto yy97; } else { - if (yych <= '0') goto yy97; if (yych <= '9') goto yy99; - goto yy86; + if (yych <= ':') goto yy86; + goto yy101; } } else { - if (yych <= 'a') { - if (yych <= ';') goto yy101; + if (yych <= 'b') { if (yych <= '`') goto yy86; - goto yy102; + if (yych <= 'a') goto yy102; + goto yy103; } else { - if (yych <= 'b') goto yy103; if (yych <= 'c') goto yy104; if (yych <= 'd') goto yy105; - goto yy106; + if (yych <= 'e') goto yy106; + goto yy107; } } } } else { - if (yych <= 'r') { - if (yych <= 'l') { - if (yych <= 'h') { - if (yych <= 'f') goto yy107; + if (yych <= 't') { + if (yych <= 'm') { + if (yych <= 'i') { if (yych <= 'g') goto yy108; - goto yy86; + if (yych <= 'h') goto yy86; + goto yy109; } else { - if (yych <= 'i') goto yy109; if (yych <= 'k') goto yy86; - goto yy110; + if (yych <= 'l') goto yy110; + goto yy111; } } else { - if (yych <= 'o') { - if (yych <= 'm') goto yy111; + if (yych <= 'p') { if (yych <= 'n') goto yy112; - goto yy113; + if (yych <= 'o') goto yy113; + goto yy114; } else { - if (yych <= 'p') goto yy114; if (yych <= 'q') goto yy115; - goto yy116; + if (yych <= 'r') goto yy116; + if (yych <= 's') goto yy117; + goto yy118; } } } else { if (yych <= 0xC1) { - if (yych <= 'u') { - if (yych <= 's') goto yy117; - if (yych <= 't') goto yy118; - goto yy119; + if (yych <= 'w') { + if (yych <= 'u') goto yy119; + if (yych <= 'v') goto yy86; + goto yy120; } else { if (yych <= '~') goto yy86; - if (yych >= 0x80) goto yy120; + if (yych >= 0x80) goto yy121; } } else { if (yych <= 0xEF) { - if (yych <= 0xDF) goto yy122; - if (yych <= 0xE0) goto yy123; - goto yy124; + if (yych <= 0xDF) goto yy123; + if (yych <= 0xE0) goto yy124; + goto yy125; } else { - if (yych <= 0xF0) goto yy125; - if (yych <= 0xF3) goto yy126; - if (yych <= 0xF4) goto yy127; - goto yy120; + if (yych <= 0xF0) goto yy126; + if (yych <= 0xF3) goto yy127; + if (yych <= 0xF4) goto yy128; + goto yy121; } } } @@ -837,9 +839,9 @@ YYCOND_i: yy79: ++cursor_; yy80: -#line 561 "src/wast-lexer.cc" +#line 564 "src/wast-lexer.cc" { ERROR("unexpected char"); continue; } -#line 843 "src/prebuilt/wast-lexer-gen.cc" +#line 845 "src/prebuilt/wast-lexer-gen.cc" yy81: ++cursor_; if (limit_ <= cursor_) FILL(1); @@ -847,14 +849,14 @@ yy81: if (yybm[0+yych] & 4) { goto yy81; } -#line 559 "src/wast-lexer.cc" +#line 562 "src/wast-lexer.cc" { continue; } -#line 853 "src/prebuilt/wast-lexer-gen.cc" +#line 855 "src/prebuilt/wast-lexer-gen.cc" yy84: ++cursor_; -#line 558 "src/wast-lexer.cc" +#line 561 "src/wast-lexer.cc" { NEWLINE; continue; } -#line 858 "src/prebuilt/wast-lexer-gen.cc" +#line 860 "src/prebuilt/wast-lexer-gen.cc" yy86: ++cursor_; if (limit_ <= cursor_) FILL(1); @@ -864,58 +866,58 @@ yy87: goto yy86; } yy88: -#line 560 "src/wast-lexer.cc" +#line 563 "src/wast-lexer.cc" { RETURN_TEXT(Reserved); } -#line 870 "src/prebuilt/wast-lexer-gen.cc" +#line 872 "src/prebuilt/wast-lexer-gen.cc" yy89: yyaccept = 0; yych = *(marker_ = ++cursor_); if (yych <= 0x1F) goto yy90; - if (yych <= 0x7F) goto yy129; + if (yych <= 0x7F) goto yy130; if (yych <= 0xC1) goto yy90; - if (yych <= 0xF4) goto yy129; + if (yych <= 0xF4) goto yy130; yy90: BEGIN(YYCOND_BAD_TEXT); #line 239 "src/wast-lexer.cc" { continue; } -#line 882 "src/prebuilt/wast-lexer-gen.cc" +#line 884 "src/prebuilt/wast-lexer-gen.cc" yy91: yych = *++cursor_; if (yych <= '\'') { - if (yych == '!') goto yy141; + if (yych == '!') goto yy142; if (yych <= '"') goto yy88; - goto yy141; + goto yy142; } else { if (yych <= ':') { if (yych <= ')') goto yy88; - goto yy141; + goto yy142; } else { if (yych <= ';') goto yy88; - if (yych <= '~') goto yy141; + if (yych <= '~') goto yy142; goto yy88; } } yy92: ++cursor_; - if ((yych = *cursor_) == ';') goto yy143; + if ((yych = *cursor_) == ';') goto yy144; #line 230 "src/wast-lexer.cc" { RETURN(Lpar); } -#line 904 "src/prebuilt/wast-lexer-gen.cc" +#line 906 "src/prebuilt/wast-lexer-gen.cc" yy94: ++cursor_; #line 231 "src/wast-lexer.cc" { RETURN(Rpar); } -#line 909 "src/prebuilt/wast-lexer-gen.cc" +#line 911 "src/prebuilt/wast-lexer-gen.cc" yy96: yych = *++cursor_; if (yych <= 'h') { if (yych <= '/') goto yy87; - if (yych <= '0') goto yy145; - if (yych <= '9') goto yy147; + if (yych <= '0') goto yy146; + if (yych <= '9') goto yy148; goto yy87; } else { - if (yych <= 'i') goto yy149; - if (yych == 'n') goto yy150; + if (yych <= 'i') goto yy150; + if (yych == 'n') goto yy151; goto yy87; } yy97: @@ -931,7 +933,7 @@ yy97: if (yych <= '-') { if (yych >= '*') goto yy86; } else { - if (yych <= '.') goto yy151; + if (yych <= '.') goto yy152; if (yych <= ':') goto yy86; } } @@ -939,17 +941,17 @@ yy97: if (yych <= 'd') { if (yych <= 'E') { if (yych <= 'D') goto yy86; - goto yy153; + goto yy154; } else { - if (yych == '_') goto yy154; + if (yych == '_') goto yy155; goto yy86; } } else { if (yych <= 'w') { - if (yych <= 'e') goto yy153; + if (yych <= 'e') goto yy154; goto yy86; } else { - if (yych <= 'x') goto yy155; + if (yych <= 'x') goto yy156; if (yych <= '~') goto yy86; } } @@ -957,7 +959,7 @@ yy97: yy98: #line 232 "src/wast-lexer.cc" { RETURN_LITERAL(Nat, Int); } -#line 961 "src/prebuilt/wast-lexer-gen.cc" +#line 963 "src/prebuilt/wast-lexer-gen.cc" yy99: ++cursor_; if ((limit_ - cursor_) < 3) FILL(3); @@ -972,20 +974,20 @@ yy99: goto yy86; } else { if (yych <= ')') goto yy98; - if (yych == '.') goto yy151; + if (yych == '.') goto yy152; goto yy86; } } else { if (yych <= '^') { if (yych <= ';') goto yy98; - if (yych == 'E') goto yy153; + if (yych == 'E') goto yy154; goto yy86; } else { if (yych <= 'd') { - if (yych <= '_') goto yy154; + if (yych <= '_') goto yy155; goto yy86; } else { - if (yych <= 'e') goto yy153; + if (yych <= 'e') goto yy154; if (yych <= '~') goto yy86; goto yy98; } @@ -993,66 +995,66 @@ yy99: } yy101: yych = *++cursor_; - if (yych == ';') goto yy156; + if (yych == ';') goto yy157; goto yy80; yy102: yych = *++cursor_; if (yych <= 'm') { - if (yych == 'l') goto yy158; + if (yych == 'l') goto yy159; goto yy87; } else { - if (yych <= 'n') goto yy159; - if (yych == 's') goto yy160; + if (yych <= 'n') goto yy160; + if (yych == 's') goto yy161; goto yy87; } yy103: yych = *++cursor_; if (yych <= 'k') { - if (yych == 'i') goto yy161; + if (yych == 'i') goto yy162; goto yy87; } else { - if (yych <= 'l') goto yy162; - if (yych == 'r') goto yy163; + if (yych <= 'l') goto yy163; + if (yych == 'r') goto yy164; goto yy87; } yy104: yych = *++cursor_; - if (yych == 'a') goto yy165; - if (yych == 'u') goto yy166; + if (yych == 'a') goto yy166; + if (yych == 'u') goto yy167; goto yy87; yy105: yych = *++cursor_; - if (yych == 'a') goto yy167; - if (yych == 'r') goto yy168; + if (yych == 'a') goto yy168; + if (yych == 'r') goto yy169; goto yy87; yy106: yych = *++cursor_; if (yych <= 'm') { - if (yych == 'l') goto yy169; + if (yych == 'l') goto yy170; goto yy87; } else { - if (yych <= 'n') goto yy170; - if (yych == 'x') goto yy171; + if (yych <= 'n') goto yy171; + if (yych == 'x') goto yy172; goto yy87; } yy107: yych = *++cursor_; if (yych <= '5') { - if (yych == '3') goto yy172; + if (yych == '3') goto yy173; goto yy87; } else { - if (yych <= '6') goto yy173; - if (yych == 'u') goto yy174; + if (yych <= '6') goto yy174; + if (yych == 'u') goto yy175; goto yy87; } yy108: yych = *++cursor_; if (yych <= 'k') { - if (yych == 'e') goto yy175; + if (yych == 'e') goto yy176; goto yy87; } else { - if (yych <= 'l') goto yy176; - if (yych == 'r') goto yy177; + if (yych <= 'l') goto yy177; + if (yych == 'r') goto yy178; goto yy87; } yy109: @@ -1060,278 +1062,282 @@ yy109: if (yych <= 'e') { if (yych <= '3') { if (yych <= '2') goto yy87; - goto yy178; + goto yy179; } else { - if (yych == '6') goto yy179; + if (yych == '6') goto yy180; goto yy87; } } else { if (yych <= 'l') { - if (yych <= 'f') goto yy180; + if (yych <= 'f') goto yy181; goto yy87; } else { - if (yych <= 'm') goto yy182; - if (yych <= 'n') goto yy183; + if (yych <= 'm') goto yy183; + if (yych <= 'n') goto yy184; goto yy87; } } yy110: yych = *++cursor_; - if (yych == 'o') goto yy184; + if (yych == 'o') goto yy185; goto yy87; yy111: yych = *++cursor_; if (yych <= 'n') { - if (yych == 'e') goto yy185; + if (yych == 'e') goto yy186; goto yy87; } else { - if (yych <= 'o') goto yy186; - if (yych == 'u') goto yy187; + if (yych <= 'o') goto yy187; + if (yych == 'u') goto yy188; goto yy87; } yy112: yych = *++cursor_; - if (yych == 'a') goto yy188; - if (yych == 'o') goto yy189; + if (yych == 'a') goto yy189; + if (yych == 'o') goto yy190; goto yy87; yy113: yych = *++cursor_; - if (yych == 'f') goto yy190; + if (yych == 'f') goto yy191; goto yy87; yy114: yych = *++cursor_; - if (yych == 'a') goto yy191; + if (yych == 'a') goto yy192; goto yy87; yy115: yych = *++cursor_; - if (yych == 'u') goto yy192; + if (yych == 'u') goto yy193; goto yy87; yy116: yych = *++cursor_; - if (yych == 'e') goto yy193; + if (yych == 'e') goto yy194; goto yy87; yy117: yych = *++cursor_; if (yych <= 'g') { - if (yych == 'e') goto yy194; + if (yych == 'e') goto yy195; goto yy87; } else { - if (yych <= 'h') goto yy195; - if (yych == 't') goto yy196; + if (yych <= 'h') goto yy196; + if (yych == 't') goto yy197; goto yy87; } yy118: yych = *++cursor_; switch (yych) { - case 'a': goto yy197; - case 'e': goto yy198; - case 'h': goto yy199; - case 'r': goto yy200; - case 'y': goto yy201; + case 'a': goto yy198; + case 'e': goto yy199; + case 'h': goto yy200; + case 'r': goto yy201; + case 'y': goto yy202; default: goto yy87; } yy119: yych = *++cursor_; - if (yych == 'n') goto yy202; + if (yych == 'n') goto yy203; goto yy87; yy120: - ++cursor_; + yych = *++cursor_; + if (yych == 'a') goto yy204; + goto yy87; yy121: -#line 562 "src/wast-lexer.cc" - { MAYBE_MALFORMED_UTF8(""); } -#line 1143 "src/prebuilt/wast-lexer-gen.cc" + ++cursor_; yy122: +#line 565 "src/wast-lexer.cc" + { MAYBE_MALFORMED_UTF8(""); } +#line 1149 "src/prebuilt/wast-lexer-gen.cc" +yy123: yych = *++cursor_; - if (yych <= 0x7F) goto yy121; + if (yych <= 0x7F) goto yy122; if (yych <= 0xBF) goto yy79; - goto yy121; -yy123: - yyaccept = 1; - yych = *(marker_ = ++cursor_); - if (yych <= 0x9F) goto yy121; - if (yych <= 0xBF) goto yy203; - goto yy121; + goto yy122; yy124: yyaccept = 1; yych = *(marker_ = ++cursor_); - if (yych <= 0x7F) goto yy121; - if (yych <= 0xBF) goto yy203; - goto yy121; + if (yych <= 0x9F) goto yy122; + if (yych <= 0xBF) goto yy205; + goto yy122; yy125: yyaccept = 1; yych = *(marker_ = ++cursor_); - if (yych <= 0x8F) goto yy121; - if (yych <= 0xBF) goto yy204; - goto yy121; + if (yych <= 0x7F) goto yy122; + if (yych <= 0xBF) goto yy205; + goto yy122; yy126: yyaccept = 1; yych = *(marker_ = ++cursor_); - if (yych <= 0x7F) goto yy121; - if (yych <= 0xBF) goto yy204; - goto yy121; + if (yych <= 0x8F) goto yy122; + if (yych <= 0xBF) goto yy206; + goto yy122; yy127: yyaccept = 1; yych = *(marker_ = ++cursor_); - if (yych <= 0x7F) goto yy121; - if (yych <= 0x8F) goto yy204; - goto yy121; + if (yych <= 0x7F) goto yy122; + if (yych <= 0xBF) goto yy206; + goto yy122; yy128: + yyaccept = 1; + yych = *(marker_ = ++cursor_); + if (yych <= 0x7F) goto yy122; + if (yych <= 0x8F) goto yy206; + goto yy122; +yy129: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; -yy129: +yy130: if (yybm[0+yych] & 32) { - goto yy128; + goto yy129; } if (yych <= 0xDF) { if (yych <= '"') { - if (yych >= ' ') goto yy131; + if (yych >= ' ') goto yy132; } else { - if (yych <= '\\') goto yy133; - if (yych >= 0xC2) goto yy134; + if (yych <= '\\') goto yy134; + if (yych >= 0xC2) goto yy135; } } else { if (yych <= 0xF0) { - if (yych <= 0xE0) goto yy135; - if (yych <= 0xEF) goto yy136; - goto yy137; + if (yych <= 0xE0) goto yy136; + if (yych <= 0xEF) goto yy137; + goto yy138; } else { - if (yych <= 0xF3) goto yy138; - if (yych <= 0xF4) goto yy139; + if (yych <= 0xF3) goto yy139; + if (yych <= 0xF4) goto yy140; } } -yy130: +yy131: cursor_ = marker_; if (yyaccept == 0) { goto yy90; } else { - goto yy121; + goto yy122; } -yy131: +yy132: ++cursor_; #line 238 "src/wast-lexer.cc" { RETURN_TEXT(Text); } -#line 1215 "src/prebuilt/wast-lexer-gen.cc" -yy133: +#line 1221 "src/prebuilt/wast-lexer-gen.cc" +yy134: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; if (yych <= '[') { if (yych <= '\'') { - if (yych == '"') goto yy128; - if (yych <= '&') goto yy130; - goto yy128; + if (yych == '"') goto yy129; + if (yych <= '&') goto yy131; + goto yy129; } else { if (yych <= '9') { - if (yych <= '/') goto yy130; - goto yy205; + if (yych <= '/') goto yy131; + goto yy207; } else { - if (yych <= '@') goto yy130; - if (yych <= 'F') goto yy205; - goto yy130; + if (yych <= '@') goto yy131; + if (yych <= 'F') goto yy207; + goto yy131; } } } else { if (yych <= 'n') { if (yych <= '`') { - if (yych <= '\\') goto yy128; - goto yy130; + if (yych <= '\\') goto yy129; + goto yy131; } else { - if (yych <= 'f') goto yy205; - if (yych <= 'm') goto yy130; - goto yy128; + if (yych <= 'f') goto yy207; + if (yych <= 'm') goto yy131; + goto yy129; } } else { if (yych <= 'r') { - if (yych <= 'q') goto yy130; - goto yy128; + if (yych <= 'q') goto yy131; + goto yy129; } else { - if (yych == 't') goto yy128; - goto yy130; + if (yych == 't') goto yy129; + goto yy131; } } } -yy134: - ++cursor_; - if (limit_ <= cursor_) FILL(1); - yych = *cursor_; - if (yych <= 0x7F) goto yy130; - if (yych <= 0xBF) goto yy128; - goto yy130; yy135: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; - if (yych <= 0x9F) goto yy130; - if (yych <= 0xBF) goto yy134; - goto yy130; + if (yych <= 0x7F) goto yy131; + if (yych <= 0xBF) goto yy129; + goto yy131; yy136: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; - if (yych <= 0x7F) goto yy130; - if (yych <= 0xBF) goto yy134; - goto yy130; + if (yych <= 0x9F) goto yy131; + if (yych <= 0xBF) goto yy135; + goto yy131; yy137: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; - if (yych <= 0x8F) goto yy130; - if (yych <= 0xBF) goto yy136; - goto yy130; + if (yych <= 0x7F) goto yy131; + if (yych <= 0xBF) goto yy135; + goto yy131; yy138: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; - if (yych <= 0x7F) goto yy130; - if (yych <= 0xBF) goto yy136; - goto yy130; + if (yych <= 0x8F) goto yy131; + if (yych <= 0xBF) goto yy137; + goto yy131; yy139: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; - if (yych <= 0x7F) goto yy130; - if (yych <= 0x8F) goto yy136; - goto yy130; + if (yych <= 0x7F) goto yy131; + if (yych <= 0xBF) goto yy137; + goto yy131; yy140: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; + if (yych <= 0x7F) goto yy131; + if (yych <= 0x8F) goto yy137; + goto yy131; yy141: + ++cursor_; + if (limit_ <= cursor_) FILL(1); + yych = *cursor_; +yy142: if (yybm[0+yych] & 64) { - goto yy140; + goto yy141; } - if (yych <= ')') goto yy142; + if (yych <= ')') goto yy143; if (yych <= ',') goto yy86; - if (yych <= ';') goto yy142; + if (yych <= ';') goto yy143; if (yych <= '}') goto yy86; -yy142: -#line 544 "src/wast-lexer.cc" - { RETURN_TEXT(Var); } -#line 1312 "src/prebuilt/wast-lexer-gen.cc" yy143: +#line 547 "src/wast-lexer.cc" + { RETURN_TEXT(Var); } +#line 1318 "src/prebuilt/wast-lexer-gen.cc" +yy144: ++cursor_; BEGIN(YYCOND_BLOCK_COMMENT); -#line 550 "src/wast-lexer.cc" +#line 553 "src/wast-lexer.cc" { COMMENT_NESTING = 1; continue; } -#line 1318 "src/prebuilt/wast-lexer-gen.cc" -yy145: +#line 1324 "src/prebuilt/wast-lexer-gen.cc" +yy146: ++cursor_; if ((yych = *cursor_) <= ':') { if (yych <= ')') { if (yych <= '!') { if (yych >= '!') goto yy86; } else { - if (yych <= '"') goto yy146; + if (yych <= '"') goto yy147; if (yych <= '\'') goto yy86; } } else { if (yych <= '.') { if (yych <= '-') goto yy86; - goto yy151; + goto yy152; } else { if (yych <= '/') goto yy86; - if (yych <= '9') goto yy147; + if (yych <= '9') goto yy148; goto yy86; } } @@ -1340,108 +1346,108 @@ yy145: if (yych <= 'D') { if (yych >= '<') goto yy86; } else { - if (yych <= 'E') goto yy153; + if (yych <= 'E') goto yy154; if (yych <= '^') goto yy86; - goto yy206; + goto yy208; } } else { if (yych <= 'w') { - if (yych == 'e') goto yy153; + if (yych == 'e') goto yy154; goto yy86; } else { - if (yych <= 'x') goto yy207; + if (yych <= 'x') goto yy209; if (yych <= '~') goto yy86; } } } -yy146: +yy147: #line 233 "src/wast-lexer.cc" { RETURN_LITERAL(Int, Int); } -#line 1361 "src/prebuilt/wast-lexer-gen.cc" -yy147: +#line 1367 "src/prebuilt/wast-lexer-gen.cc" +yy148: ++cursor_; if ((limit_ - cursor_) < 3) FILL(3); yych = *cursor_; if (yych <= '9') { if (yych <= '\'') { if (yych == '!') goto yy86; - if (yych <= '"') goto yy146; + if (yych <= '"') goto yy147; goto yy86; } else { if (yych <= '-') { - if (yych <= ')') goto yy146; + if (yych <= ')') goto yy147; goto yy86; } else { - if (yych <= '.') goto yy151; + if (yych <= '.') goto yy152; if (yych <= '/') goto yy86; - goto yy147; + goto yy148; } } } else { if (yych <= '^') { if (yych <= ';') { if (yych <= ':') goto yy86; - goto yy146; + goto yy147; } else { - if (yych == 'E') goto yy153; + if (yych == 'E') goto yy154; goto yy86; } } else { if (yych <= 'd') { - if (yych <= '_') goto yy206; + if (yych <= '_') goto yy208; goto yy86; } else { - if (yych <= 'e') goto yy153; + if (yych <= 'e') goto yy154; if (yych <= '~') goto yy86; - goto yy146; + goto yy147; } } } -yy149: - yych = *++cursor_; - if (yych == 'n') goto yy208; - goto yy87; yy150: yych = *++cursor_; - if (yych == 'a') goto yy188; + if (yych == 'n') goto yy210; goto yy87; yy151: + yych = *++cursor_; + if (yych == 'a') goto yy189; + goto yy87; +yy152: ++cursor_; if ((yych = *cursor_) <= '9') { if (yych <= '"') { if (yych == '!') goto yy86; } else { if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy152; + if (yych <= ')') goto yy153; if (yych <= '/') goto yy86; - goto yy209; + goto yy211; } } else { if (yych <= 'E') { - if (yych == ';') goto yy152; + if (yych == ';') goto yy153; if (yych <= 'D') goto yy86; - goto yy153; + goto yy154; } else { - if (yych == 'e') goto yy153; + if (yych == 'e') goto yy154; if (yych <= '~') goto yy86; } } -yy152: +yy153: #line 234 "src/wast-lexer.cc" { RETURN_LITERAL(Float, Float); } -#line 1433 "src/prebuilt/wast-lexer-gen.cc" -yy153: +#line 1439 "src/prebuilt/wast-lexer-gen.cc" +yy154: yych = *++cursor_; if (yych <= ',') { - if (yych == '+') goto yy211; + if (yych == '+') goto yy213; goto yy87; } else { - if (yych <= '-') goto yy211; + if (yych <= '-') goto yy213; if (yych <= '/') goto yy87; - if (yych <= '9') goto yy212; + if (yych <= '9') goto yy214; goto yy87; } -yy154: +yy155: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; @@ -1462,12 +1468,12 @@ yy154: goto yy88; } } -yy155: +yy156: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; if (yybm[0+yych] & 128) { - goto yy214; + goto yy216; } if (yych <= '\'') { if (yych == '!') goto yy86; @@ -1483,243 +1489,247 @@ yy155: goto yy88; } } -yy156: +yy157: ++cursor_; BEGIN(YYCOND_LINE_COMMENT); -#line 547 "src/wast-lexer.cc" +#line 550 "src/wast-lexer.cc" { continue; } -#line 1492 "src/prebuilt/wast-lexer-gen.cc" -yy158: - yych = *++cursor_; - if (yych == 'i') goto yy216; - goto yy87; +#line 1498 "src/prebuilt/wast-lexer-gen.cc" yy159: yych = *++cursor_; - if (yych == 'y') goto yy217; + if (yych == 'i') goto yy218; goto yy87; yy160: yych = *++cursor_; - if (yych == 's') goto yy218; + if (yych == 'y') goto yy219; goto yy87; yy161: yych = *++cursor_; - if (yych == 'n') goto yy219; + if (yych == 's') goto yy220; goto yy87; yy162: yych = *++cursor_; - if (yych == 'o') goto yy220; + if (yych == 'n') goto yy221; goto yy87; yy163: + yych = *++cursor_; + if (yych == 'o') goto yy222; + goto yy87; +yy164: ++cursor_; if ((yych = *cursor_) <= ')') { if (yych <= '!') { if (yych >= '!') goto yy86; } else { - if (yych <= '"') goto yy164; + if (yych <= '"') goto yy165; if (yych <= '\'') goto yy86; } } else { if (yych <= '^') { if (yych != ';') goto yy86; } else { - if (yych <= '_') goto yy221; + if (yych <= '_') goto yy223; if (yych <= '~') goto yy86; } } -yy164: +yy165: #line 263 "src/wast-lexer.cc" { RETURN_OPCODE0(Br); } -#line 1533 "src/prebuilt/wast-lexer-gen.cc" -yy165: - yych = *++cursor_; - if (yych == 'l') goto yy222; - if (yych == 't') goto yy223; - goto yy87; +#line 1539 "src/prebuilt/wast-lexer-gen.cc" yy166: yych = *++cursor_; - if (yych == 'r') goto yy224; + if (yych == 'l') goto yy224; + if (yych == 't') goto yy225; goto yy87; yy167: yych = *++cursor_; - if (yych == 't') goto yy225; + if (yych == 'r') goto yy226; goto yy87; yy168: yych = *++cursor_; - if (yych == 'o') goto yy226; + if (yych == 't') goto yy227; goto yy87; yy169: yych = *++cursor_; - if (yych == 'e') goto yy227; - if (yych == 's') goto yy228; + if (yych == 'o') goto yy228; goto yy87; yy170: yych = *++cursor_; - if (yych == 'd') goto yy229; + if (yych == 'e') goto yy229; + if (yych == 's') goto yy230; goto yy87; yy171: yych = *++cursor_; - if (yych == 'c') goto yy231; - if (yych == 'p') goto yy232; + if (yych == 'd') goto yy231; goto yy87; yy172: yych = *++cursor_; - if (yych == '2') goto yy233; + if (yych == 'c') goto yy233; + if (yych == 'p') goto yy234; goto yy87; yy173: yych = *++cursor_; - if (yych == '4') goto yy235; + if (yych == '2') goto yy235; goto yy87; yy174: yych = *++cursor_; - if (yych == 'n') goto yy237; + if (yych == '4') goto yy237; goto yy87; yy175: yych = *++cursor_; - if (yych == 't') goto yy238; + if (yych == 'n') goto yy239; goto yy87; yy176: yych = *++cursor_; - if (yych == 'o') goto yy240; + if (yych == 't') goto yy240; goto yy87; yy177: yych = *++cursor_; - if (yych == 'o') goto yy241; + if (yych == 'o') goto yy242; goto yy87; yy178: yych = *++cursor_; - if (yych == '2') goto yy242; + if (yych == 'o') goto yy243; goto yy87; yy179: yych = *++cursor_; - if (yych == '4') goto yy244; + if (yych == '2') goto yy244; goto yy87; yy180: + yych = *++cursor_; + if (yych == '4') goto yy246; + goto yy87; +yy181: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 259 "src/wast-lexer.cc" { RETURN_OPCODE0(If); } -#line 1604 "src/prebuilt/wast-lexer-gen.cc" -yy182: - yych = *++cursor_; - if (yych == 'p') goto yy246; - goto yy87; +#line 1610 "src/prebuilt/wast-lexer-gen.cc" yy183: yych = *++cursor_; - if (yych == 'f') goto yy247; - if (yych == 'v') goto yy249; + if (yych == 'p') goto yy248; goto yy87; yy184: yych = *++cursor_; - if (yych == 'c') goto yy250; - if (yych == 'o') goto yy251; + if (yych == 'f') goto yy249; + if (yych == 'v') goto yy251; goto yy87; yy185: yych = *++cursor_; - if (yych == 'm') goto yy252; + if (yych == 'c') goto yy252; + if (yych == 'o') goto yy253; goto yy87; yy186: yych = *++cursor_; - if (yych == 'd') goto yy253; + if (yych == 'm') goto yy254; goto yy87; yy187: yych = *++cursor_; - if (yych == 't') goto yy254; + if (yych == 'd') goto yy255; goto yy87; yy188: yych = *++cursor_; - if (yych == 'n') goto yy256; + if (yych == 't') goto yy256; goto yy87; yy189: yych = *++cursor_; - if (yych == 'p') goto yy258; + if (yych == 'n') goto yy258; goto yy87; yy190: yych = *++cursor_; - if (yych == 'f') goto yy260; + if (yych == 'p') goto yy260; goto yy87; yy191: yych = *++cursor_; - if (yych == 'r') goto yy261; + if (yych == 'f') goto yy262; goto yy87; yy192: yych = *++cursor_; - if (yych == 'o') goto yy262; + if (yych == 'r') goto yy263; goto yy87; yy193: yych = *++cursor_; + if (yych == 'o') goto yy264; + goto yy87; +yy194: + yych = *++cursor_; if (yych <= 'r') { - if (yych == 'g') goto yy263; + if (yych == 'g') goto yy265; goto yy87; } else { - if (yych <= 's') goto yy264; - if (yych <= 't') goto yy265; + if (yych <= 's') goto yy266; + if (yych <= 't') goto yy267; goto yy87; } -yy194: - yych = *++cursor_; - if (yych == 'l') goto yy266; - if (yych == 't') goto yy267; - goto yy87; yy195: yych = *++cursor_; - if (yych == 'a') goto yy268; + if (yych == 'l') goto yy268; + if (yych == 't') goto yy269; goto yy87; yy196: yych = *++cursor_; - if (yych == 'a') goto yy269; + if (yych == 'a') goto yy270; goto yy87; yy197: yych = *++cursor_; - if (yych == 'b') goto yy270; + if (yych == 'a') goto yy271; goto yy87; yy198: yych = *++cursor_; - if (yych == 'e') goto yy271; + if (yych == 'b') goto yy272; goto yy87; yy199: yych = *++cursor_; - if (yych == 'e') goto yy272; - if (yych == 'r') goto yy273; + if (yych == 'e') goto yy273; goto yy87; yy200: yych = *++cursor_; - if (yych == 'y') goto yy274; + if (yych == 'e') goto yy274; + if (yych == 'r') goto yy275; goto yy87; yy201: yych = *++cursor_; - if (yych == 'p') goto yy276; + if (yych == 'y') goto yy276; goto yy87; yy202: yych = *++cursor_; - if (yych == 'r') goto yy277; + if (yych == 'p') goto yy278; goto yy87; yy203: yych = *++cursor_; - if (yych <= 0x7F) goto yy130; - if (yych <= 0xBF) goto yy79; - goto yy130; + if (yych == 'r') goto yy279; + goto yy87; yy204: yych = *++cursor_; - if (yych <= 0x7F) goto yy130; - if (yych <= 0xBF) goto yy203; - goto yy130; + if (yych == 'k') goto yy280; + goto yy87; yy205: + yych = *++cursor_; + if (yych <= 0x7F) goto yy131; + if (yych <= 0xBF) goto yy79; + goto yy131; +yy206: + yych = *++cursor_; + if (yych <= 0x7F) goto yy131; + if (yych <= 0xBF) goto yy205; + goto yy131; +yy207: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; if (yych <= '@') { - if (yych <= '/') goto yy130; - if (yych <= '9') goto yy128; - goto yy130; + if (yych <= '/') goto yy131; + if (yych <= '9') goto yy129; + goto yy131; } else { - if (yych <= 'F') goto yy128; - if (yych <= '`') goto yy130; - if (yych <= 'f') goto yy128; - goto yy130; + if (yych <= 'F') goto yy129; + if (yych <= '`') goto yy131; + if (yych <= 'f') goto yy129; + goto yy131; } -yy206: +yy208: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; @@ -1735,7 +1745,7 @@ yy206: } else { if (yych <= ':') { if (yych <= '/') goto yy86; - if (yych <= '9') goto yy147; + if (yych <= '9') goto yy148; goto yy86; } else { if (yych <= ';') goto yy88; @@ -1743,7 +1753,7 @@ yy206: goto yy88; } } -yy207: +yy209: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; @@ -1755,56 +1765,56 @@ yy207: if (yych <= '\'') goto yy86; if (yych <= ')') goto yy88; if (yych <= '/') goto yy86; - goto yy278; + goto yy281; } } else { if (yych <= 'F') { if (yych == ';') goto yy88; if (yych <= '@') goto yy86; - goto yy278; + goto yy281; } else { if (yych <= '`') goto yy86; - if (yych <= 'f') goto yy278; + if (yych <= 'f') goto yy281; if (yych <= '~') goto yy86; goto yy88; } } -yy208: +yy210: yych = *++cursor_; - if (yych == 'f') goto yy247; + if (yych == 'f') goto yy249; goto yy87; -yy209: +yy211: ++cursor_; if ((limit_ - cursor_) < 2) FILL(2); yych = *cursor_; if (yych <= ':') { if (yych <= '\'') { if (yych == '!') goto yy86; - if (yych <= '"') goto yy152; + if (yych <= '"') goto yy153; goto yy86; } else { - if (yych <= ')') goto yy152; + if (yych <= ')') goto yy153; if (yych <= '/') goto yy86; - if (yych <= '9') goto yy209; + if (yych <= '9') goto yy211; goto yy86; } } else { if (yych <= '^') { - if (yych <= ';') goto yy152; - if (yych == 'E') goto yy153; + if (yych <= ';') goto yy153; + if (yych == 'E') goto yy154; goto yy86; } else { if (yych <= 'd') { - if (yych <= '_') goto yy280; + if (yych <= '_') goto yy283; goto yy86; } else { - if (yych <= 'e') goto yy153; + if (yych <= 'e') goto yy154; if (yych <= '~') goto yy86; - goto yy152; + goto yy153; } } } -yy211: +yy213: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; @@ -1827,36 +1837,36 @@ yy211: goto yy88; } } -yy212: +yy214: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; if (yych <= '/') { if (yych <= '"') { if (yych == '!') goto yy86; - goto yy152; + goto yy153; } else { if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy152; + if (yych <= ')') goto yy153; goto yy86; } } else { if (yych <= ';') { - if (yych <= '9') goto yy212; + if (yych <= '9') goto yy214; if (yych <= ':') goto yy86; - goto yy152; + goto yy153; } else { - if (yych == '_') goto yy211; + if (yych == '_') goto yy213; if (yych <= '~') goto yy86; - goto yy152; + goto yy153; } } -yy214: +yy216: ++cursor_; if ((limit_ - cursor_) < 3) FILL(3); yych = *cursor_; if (yybm[0+yych] & 128) { - goto yy214; + goto yy216; } if (yych <= ':') { if (yych <= '\'') { @@ -1865,406 +1875,410 @@ yy214: goto yy86; } else { if (yych <= ')') goto yy98; - if (yych == '.') goto yy281; + if (yych == '.') goto yy284; goto yy86; } } else { if (yych <= '^') { if (yych <= ';') goto yy98; - if (yych == 'P') goto yy283; + if (yych == 'P') goto yy286; goto yy86; } else { if (yych <= 'o') { - if (yych <= '_') goto yy155; + if (yych <= '_') goto yy156; goto yy86; } else { - if (yych <= 'p') goto yy283; + if (yych <= 'p') goto yy286; if (yych <= '~') goto yy86; goto yy98; } } } -yy216: - yych = *++cursor_; - if (yych == 'g') goto yy284; - goto yy87; -yy217: - yych = *++cursor_; - if (yych == 'f') goto yy285; - goto yy87; yy218: yych = *++cursor_; - if (yych == 'e') goto yy286; + if (yych == 'g') goto yy287; goto yy87; yy219: yych = *++cursor_; - if (yych == 'a') goto yy287; + if (yych == 'f') goto yy288; goto yy87; yy220: yych = *++cursor_; - if (yych == 'c') goto yy288; + if (yych == 'e') goto yy289; goto yy87; yy221: yych = *++cursor_; - if (yych == 'i') goto yy289; - if (yych == 't') goto yy290; + if (yych == 'a') goto yy290; goto yy87; yy222: yych = *++cursor_; - if (yych == 'l') goto yy291; + if (yych == 'c') goto yy291; goto yy87; yy223: yych = *++cursor_; - if (yych == 'c') goto yy293; + if (yych == 'i') goto yy292; + if (yych == 't') goto yy293; goto yy87; yy224: yych = *++cursor_; - if (yych == 'r') goto yy294; + if (yych == 'l') goto yy294; goto yy87; yy225: yych = *++cursor_; - if (yych == 'a') goto yy295; + if (yych == 'c') goto yy296; goto yy87; yy226: yych = *++cursor_; - if (yych == 'p') goto yy297; + if (yych == 'r') goto yy297; goto yy87; yy227: yych = *++cursor_; - if (yych == 'm') goto yy299; + if (yych == 'a') goto yy298; goto yy87; yy228: yych = *++cursor_; - if (yych == 'e') goto yy301; + if (yych == 'p') goto yy300; goto yy87; yy229: + yych = *++cursor_; + if (yych == 'm') goto yy302; + goto yy87; +yy230: + yych = *++cursor_; + if (yych == 'e') goto yy304; + goto yy87; +yy231: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 269 "src/wast-lexer.cc" { RETURN_OPCODE0(End); } -#line 1948 "src/prebuilt/wast-lexer-gen.cc" -yy231: +#line 1958 "src/prebuilt/wast-lexer-gen.cc" +yy233: yych = *++cursor_; - if (yych == 'e') goto yy303; + if (yych == 'e') goto yy306; goto yy87; -yy232: +yy234: yych = *++cursor_; - if (yych == 'o') goto yy304; + if (yych == 'o') goto yy307; goto yy87; -yy233: +yy235: ++cursor_; if ((yych = *cursor_) <= ')') { if (yych <= '!') { if (yych >= '!') goto yy86; } else { - if (yych <= '"') goto yy234; + if (yych <= '"') goto yy236; if (yych <= '\'') goto yy86; } } else { if (yych <= ':') { - if (yych == '.') goto yy305; + if (yych == '.') goto yy308; goto yy86; } else { - if (yych <= ';') goto yy234; + if (yych <= ';') goto yy236; if (yych <= '~') goto yy86; } } -yy234: +yy236: #line 253 "src/wast-lexer.cc" { RETURN_TYPE(ValueType, F32); } -#line 1978 "src/prebuilt/wast-lexer-gen.cc" -yy235: +#line 1988 "src/prebuilt/wast-lexer-gen.cc" +yy237: ++cursor_; if ((yych = *cursor_) <= ')') { if (yych <= '!') { if (yych >= '!') goto yy86; } else { - if (yych <= '"') goto yy236; + if (yych <= '"') goto yy238; if (yych <= '\'') goto yy86; } } else { if (yych <= ':') { - if (yych == '.') goto yy306; + if (yych == '.') goto yy309; goto yy86; } else { - if (yych <= ';') goto yy236; + if (yych <= ';') goto yy238; if (yych <= '~') goto yy86; } } -yy236: +yy238: #line 254 "src/wast-lexer.cc" { RETURN_TYPE(ValueType, F64); } -#line 2000 "src/prebuilt/wast-lexer-gen.cc" -yy237: +#line 2010 "src/prebuilt/wast-lexer-gen.cc" +yy239: yych = *++cursor_; - if (yych == 'c') goto yy307; + if (yych == 'c') goto yy310; goto yy87; -yy238: +yy240: ++cursor_; if ((yych = *cursor_) <= ')') { if (yych <= '!') { if (yych >= '!') goto yy86; } else { - if (yych <= '"') goto yy239; + if (yych <= '"') goto yy241; if (yych <= '\'') goto yy86; } } else { if (yych <= '^') { if (yych != ';') goto yy86; } else { - if (yych <= '_') goto yy309; + if (yych <= '_') goto yy312; if (yych <= '~') goto yy86; } } -yy239: -#line 530 "src/wast-lexer.cc" +yy241: +#line 533 "src/wast-lexer.cc" { RETURN(Get); } -#line 2025 "src/prebuilt/wast-lexer-gen.cc" -yy240: +#line 2035 "src/prebuilt/wast-lexer-gen.cc" +yy242: yych = *++cursor_; - if (yych == 'b') goto yy310; + if (yych == 'b') goto yy313; goto yy87; -yy241: +yy243: yych = *++cursor_; - if (yych == 'w') goto yy311; + if (yych == 'w') goto yy314; goto yy87; -yy242: +yy244: ++cursor_; if ((yych = *cursor_) <= ')') { if (yych <= '!') { if (yych >= '!') goto yy86; } else { - if (yych <= '"') goto yy243; + if (yych <= '"') goto yy245; if (yych <= '\'') goto yy86; } } else { if (yych <= ':') { - if (yych == '.') goto yy312; + if (yych == '.') goto yy315; goto yy86; } else { - if (yych <= ';') goto yy243; + if (yych <= ';') goto yy245; if (yych <= '~') goto yy86; } } -yy243: +yy245: #line 251 "src/wast-lexer.cc" { RETURN_TYPE(ValueType, I32); } -#line 2055 "src/prebuilt/wast-lexer-gen.cc" -yy244: +#line 2065 "src/prebuilt/wast-lexer-gen.cc" +yy246: ++cursor_; if ((yych = *cursor_) <= ')') { if (yych <= '!') { if (yych >= '!') goto yy86; } else { - if (yych <= '"') goto yy245; + if (yych <= '"') goto yy247; if (yych <= '\'') goto yy86; } } else { if (yych <= ':') { - if (yych == '.') goto yy313; + if (yych == '.') goto yy316; goto yy86; } else { - if (yych <= ';') goto yy245; + if (yych <= ';') goto yy247; if (yych <= '~') goto yy86; } } -yy245: +yy247: #line 252 "src/wast-lexer.cc" { RETURN_TYPE(ValueType, I64); } -#line 2077 "src/prebuilt/wast-lexer-gen.cc" -yy246: +#line 2087 "src/prebuilt/wast-lexer-gen.cc" +yy248: yych = *++cursor_; - if (yych == 'o') goto yy314; + if (yych == 'o') goto yy317; goto yy87; -yy247: +yy249: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 236 "src/wast-lexer.cc" { RETURN_LITERAL(Float, Infinity); } -#line 2089 "src/prebuilt/wast-lexer-gen.cc" -yy249: - yych = *++cursor_; - if (yych == 'o') goto yy315; - goto yy87; -yy250: - yych = *++cursor_; - if (yych == 'a') goto yy316; - goto yy87; +#line 2099 "src/prebuilt/wast-lexer-gen.cc" yy251: yych = *++cursor_; - if (yych == 'p') goto yy317; + if (yych == 'o') goto yy318; goto yy87; yy252: yych = *++cursor_; - if (yych == 'o') goto yy319; + if (yych == 'a') goto yy319; goto yy87; yy253: yych = *++cursor_; - if (yych == 'u') goto yy320; + if (yych == 'p') goto yy320; goto yy87; yy254: + yych = *++cursor_; + if (yych == 'o') goto yy322; + goto yy87; +yy255: + yych = *++cursor_; + if (yych == 'u') goto yy323; + goto yy87; +yy256: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 256 "src/wast-lexer.cc" { RETURN(Mut); } -#line 2117 "src/prebuilt/wast-lexer-gen.cc" -yy256: +#line 2127 "src/prebuilt/wast-lexer-gen.cc" +yy258: ++cursor_; if ((yych = *cursor_) <= ')') { if (yych <= '!') { if (yych >= '!') goto yy86; } else { - if (yych <= '"') goto yy257; + if (yych <= '"') goto yy259; if (yych <= '\'') goto yy86; } } else { if (yych <= ':') { if (yych <= '9') goto yy86; - goto yy321; + goto yy324; } else { - if (yych <= ';') goto yy257; + if (yych <= ';') goto yy259; if (yych <= '~') goto yy86; } } -yy257: +yy259: #line 237 "src/wast-lexer.cc" { RETURN_LITERAL(Float, Nan); } -#line 2139 "src/prebuilt/wast-lexer-gen.cc" -yy258: +#line 2149 "src/prebuilt/wast-lexer-gen.cc" +yy260: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 257 "src/wast-lexer.cc" { RETURN_OPCODE0(Nop); } -#line 2147 "src/prebuilt/wast-lexer-gen.cc" -yy260: - yych = *++cursor_; - if (yych == 's') goto yy322; - goto yy87; -yy261: - yych = *++cursor_; - if (yych == 'a') goto yy323; - goto yy87; +#line 2157 "src/prebuilt/wast-lexer-gen.cc" yy262: yych = *++cursor_; - if (yych == 't') goto yy324; + if (yych == 's') goto yy325; goto yy87; yy263: yych = *++cursor_; - if (yych == 'i') goto yy325; + if (yych == 'a') goto yy326; goto yy87; yy264: yych = *++cursor_; - if (yych == 'u') goto yy326; + if (yych == 't') goto yy327; goto yy87; yy265: yych = *++cursor_; - if (yych == 'h') goto yy327; - if (yych == 'u') goto yy328; + if (yych == 'i') goto yy328; goto yy87; yy266: yych = *++cursor_; - if (yych == 'e') goto yy329; + if (yych == 'u') goto yy329; goto yy87; yy267: yych = *++cursor_; - if (yych == '_') goto yy330; + if (yych == 'h') goto yy330; + if (yych == 'u') goto yy331; goto yy87; yy268: yych = *++cursor_; - if (yych == 'r') goto yy331; + if (yych == 'e') goto yy332; goto yy87; yy269: yych = *++cursor_; - if (yych == 'r') goto yy332; + if (yych == '_') goto yy333; goto yy87; yy270: yych = *++cursor_; - if (yych == 'l') goto yy333; + if (yych == 'r') goto yy334; goto yy87; yy271: yych = *++cursor_; - if (yych == '_') goto yy334; + if (yych == 'r') goto yy335; goto yy87; yy272: yych = *++cursor_; - if (yych == 'n') goto yy335; + if (yych == 'l') goto yy336; goto yy87; yy273: yych = *++cursor_; - if (yych == 'o') goto yy337; + if (yych == '_') goto yy337; goto yy87; yy274: + yych = *++cursor_; + if (yych == 'n') goto yy338; + goto yy87; +yy275: + yych = *++cursor_; + if (yych == 'o') goto yy340; + goto yy87; +yy276: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 539 "src/wast-lexer.cc" +#line 542 "src/wast-lexer.cc" { RETURN_OPCODE0(Try); } -#line 2212 "src/prebuilt/wast-lexer-gen.cc" -yy276: +#line 2222 "src/prebuilt/wast-lexer-gen.cc" +yy278: yych = *++cursor_; - if (yych == 'e') goto yy338; + if (yych == 'e') goto yy341; goto yy87; -yy277: +yy279: yych = *++cursor_; - if (yych == 'e') goto yy340; + if (yych == 'e') goto yy343; goto yy87; -yy278: +yy280: + yych = *++cursor_; + if (yych == 'e') goto yy344; + goto yy87; +yy281: ++cursor_; if ((limit_ - cursor_) < 3) FILL(3); yych = *cursor_; if (yych <= ';') { if (yych <= ')') { if (yych <= '!') { - if (yych <= ' ') goto yy146; + if (yych <= ' ') goto yy147; goto yy86; } else { - if (yych <= '"') goto yy146; + if (yych <= '"') goto yy147; if (yych <= '\'') goto yy86; - goto yy146; + goto yy147; } } else { if (yych <= '/') { - if (yych == '.') goto yy281; + if (yych == '.') goto yy284; goto yy86; } else { - if (yych <= '9') goto yy278; + if (yych <= '9') goto yy281; if (yych <= ':') goto yy86; - goto yy146; + goto yy147; } } } else { if (yych <= '_') { if (yych <= 'O') { if (yych <= '@') goto yy86; - if (yych <= 'F') goto yy278; + if (yych <= 'F') goto yy281; goto yy86; } else { - if (yych <= 'P') goto yy283; + if (yych <= 'P') goto yy286; if (yych <= '^') goto yy86; - goto yy207; + goto yy209; } } else { if (yych <= 'o') { if (yych <= '`') goto yy86; - if (yych <= 'f') goto yy278; + if (yych <= 'f') goto yy281; goto yy86; } else { - if (yych <= 'p') goto yy283; + if (yych <= 'p') goto yy286; if (yych <= '~') goto yy86; - goto yy146; + goto yy147; } } } -yy280: +yy283: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; @@ -2280,7 +2294,7 @@ yy280: } else { if (yych <= ':') { if (yych <= '/') goto yy86; - if (yych <= '9') goto yy209; + if (yych <= '9') goto yy211; goto yy86; } else { if (yych <= ';') goto yy88; @@ -2288,7 +2302,7 @@ yy280: goto yy88; } } -yy281: +yy284: ++cursor_; if ((yych = *cursor_) <= ';') { if (yych <= '\'') { @@ -2298,7 +2312,7 @@ yy281: if (yych <= '/') { if (yych >= '*') goto yy86; } else { - if (yych <= '9') goto yy341; + if (yych <= '9') goto yy346; if (yych <= ':') goto yy86; } } @@ -2306,383 +2320,392 @@ yy281: if (yych <= '`') { if (yych <= 'F') { if (yych <= '@') goto yy86; - goto yy341; + goto yy346; } else { - if (yych == 'P') goto yy283; + if (yych == 'P') goto yy286; goto yy86; } } else { if (yych <= 'o') { - if (yych <= 'f') goto yy341; + if (yych <= 'f') goto yy346; goto yy86; } else { - if (yych <= 'p') goto yy283; + if (yych <= 'p') goto yy286; if (yych <= '~') goto yy86; } } } -yy282: +yy285: #line 235 "src/wast-lexer.cc" { RETURN_LITERAL(Float, Hexfloat); } -#line 2328 "src/prebuilt/wast-lexer-gen.cc" -yy283: +#line 2342 "src/prebuilt/wast-lexer-gen.cc" +yy286: yych = *++cursor_; if (yych <= ',') { - if (yych == '+') goto yy343; + if (yych == '+') goto yy348; goto yy87; } else { - if (yych <= '-') goto yy343; + if (yych <= '-') goto yy348; if (yych <= '/') goto yy87; - if (yych <= '9') goto yy344; + if (yych <= '9') goto yy349; goto yy87; } -yy284: +yy287: yych = *++cursor_; - if (yych == 'n') goto yy346; + if (yych == 'n') goto yy351; goto yy87; -yy285: +yy288: yych = *++cursor_; - if (yych == 'u') goto yy347; + if (yych == 'u') goto yy352; goto yy87; -yy286: +yy289: yych = *++cursor_; - if (yych == 'r') goto yy348; + if (yych == 'r') goto yy353; goto yy87; -yy287: +yy290: yych = *++cursor_; - if (yych == 'r') goto yy349; + if (yych == 'r') goto yy354; goto yy87; -yy288: +yy291: yych = *++cursor_; - if (yych == 'k') goto yy350; + if (yych == 'k') goto yy355; goto yy87; -yy289: +yy292: yych = *++cursor_; - if (yych == 'f') goto yy352; + if (yych == 'f') goto yy357; goto yy87; -yy290: +yy293: yych = *++cursor_; - if (yych == 'a') goto yy354; + if (yych == 'a') goto yy359; goto yy87; -yy291: +yy294: ++cursor_; if ((yych = *cursor_) <= ')') { if (yych <= '!') { if (yych >= '!') goto yy86; } else { - if (yych <= '"') goto yy292; + if (yych <= '"') goto yy295; if (yych <= '\'') goto yy86; } } else { if (yych <= '^') { if (yych != ';') goto yy86; } else { - if (yych <= '_') goto yy355; + if (yych <= '_') goto yy360; if (yych <= '~') goto yy86; } } -yy292: +yy295: #line 266 "src/wast-lexer.cc" { RETURN_OPCODE0(Call); } -#line 2388 "src/prebuilt/wast-lexer-gen.cc" -yy293: +#line 2402 "src/prebuilt/wast-lexer-gen.cc" +yy296: yych = *++cursor_; - if (yych == 'h') goto yy356; + if (yych == 'h') goto yy361; goto yy87; -yy294: +yy297: yych = *++cursor_; - if (yych == 'e') goto yy358; + if (yych == 'e') goto yy363; goto yy87; -yy295: +yy298: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 523 "src/wast-lexer.cc" +#line 526 "src/wast-lexer.cc" { RETURN(Data); } -#line 2404 "src/prebuilt/wast-lexer-gen.cc" -yy297: +#line 2418 "src/prebuilt/wast-lexer-gen.cc" +yy300: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 268 "src/wast-lexer.cc" { RETURN_OPCODE0(Drop); } -#line 2412 "src/prebuilt/wast-lexer-gen.cc" -yy299: +#line 2426 "src/prebuilt/wast-lexer-gen.cc" +yy302: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 522 "src/wast-lexer.cc" +#line 525 "src/wast-lexer.cc" { RETURN(Elem); } -#line 2420 "src/prebuilt/wast-lexer-gen.cc" -yy301: +#line 2434 "src/prebuilt/wast-lexer-gen.cc" +yy304: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 261 "src/wast-lexer.cc" { RETURN_OPCODE0(Else); } -#line 2428 "src/prebuilt/wast-lexer-gen.cc" -yy303: +#line 2442 "src/prebuilt/wast-lexer-gen.cc" +yy306: yych = *++cursor_; - if (yych == 'p') goto yy359; + if (yych == 'p') goto yy364; goto yy87; -yy304: +yy307: yych = *++cursor_; - if (yych == 'r') goto yy360; + if (yych == 'r') goto yy365; goto yy87; -yy305: +yy308: yych = *++cursor_; switch (yych) { - case 'a': goto yy361; - case 'c': goto yy362; - case 'd': goto yy363; - case 'e': goto yy364; - case 'f': goto yy365; - case 'g': goto yy366; - case 'l': goto yy367; - case 'm': goto yy368; - case 'n': goto yy369; - case 'r': goto yy370; - case 's': goto yy371; - case 't': goto yy372; + case 'a': goto yy366; + case 'c': goto yy367; + case 'd': goto yy368; + case 'e': goto yy369; + case 'f': goto yy370; + case 'g': goto yy371; + case 'l': goto yy372; + case 'm': goto yy373; + case 'n': goto yy374; + case 'r': goto yy375; + case 's': goto yy376; + case 't': goto yy377; default: goto yy87; } -yy306: +yy309: yych = *++cursor_; switch (yych) { - case 'a': goto yy373; - case 'c': goto yy374; - case 'd': goto yy375; - case 'e': goto yy376; - case 'f': goto yy377; - case 'g': goto yy378; - case 'l': goto yy379; - case 'm': goto yy380; - case 'n': goto yy381; - case 'p': goto yy382; - case 'r': goto yy383; - case 's': goto yy384; - case 't': goto yy385; + case 'a': goto yy378; + case 'c': goto yy379; + case 'd': goto yy380; + case 'e': goto yy381; + case 'f': goto yy382; + case 'g': goto yy383; + case 'l': goto yy384; + case 'm': goto yy385; + case 'n': goto yy386; + case 'p': goto yy387; + case 'r': goto yy388; + case 's': goto yy389; + case 't': goto yy390; default: goto yy87; } -yy307: +yy310: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 511 "src/wast-lexer.cc" +#line 514 "src/wast-lexer.cc" { RETURN(Func); } -#line 2479 "src/prebuilt/wast-lexer-gen.cc" -yy309: +#line 2493 "src/prebuilt/wast-lexer-gen.cc" +yy312: yych = *++cursor_; - if (yych == 'g') goto yy386; - if (yych == 'l') goto yy387; + if (yych == 'g') goto yy391; + if (yych == 'l') goto yy392; goto yy87; -yy310: +yy313: yych = *++cursor_; - if (yych == 'a') goto yy388; + if (yych == 'a') goto yy393; goto yy87; -yy311: +yy314: yych = *++cursor_; - if (yych == '_') goto yy389; + if (yych == '_') goto yy394; goto yy87; -yy312: +yy315: yych = *++cursor_; switch (yych) { - case 'a': goto yy390; - case 'c': goto yy391; - case 'd': goto yy392; - case 'e': goto yy393; - case 'g': goto yy394; - case 'l': goto yy395; - case 'm': goto yy396; - case 'n': goto yy397; - case 'o': goto yy398; - case 'p': goto yy399; - case 'r': goto yy400; - case 's': goto yy401; - case 't': goto yy402; - case 'w': goto yy403; - case 'x': goto yy404; + case 'a': goto yy395; + case 'c': goto yy396; + case 'd': goto yy397; + case 'e': goto yy398; + case 'g': goto yy399; + case 'l': goto yy400; + case 'm': goto yy401; + case 'n': goto yy402; + case 'o': goto yy403; + case 'p': goto yy404; + case 'r': goto yy405; + case 's': goto yy406; + case 't': goto yy407; + case 'w': goto yy408; + case 'x': goto yy409; default: goto yy87; } -yy313: +yy316: yych = *++cursor_; switch (yych) { - case 'a': goto yy405; - case 'c': goto yy406; - case 'd': goto yy407; - case 'e': goto yy408; - case 'g': goto yy409; - case 'l': goto yy410; - case 'm': goto yy411; - case 'n': goto yy412; - case 'o': goto yy413; - case 'p': goto yy414; - case 'r': goto yy415; - case 's': goto yy416; - case 't': goto yy417; - case 'x': goto yy418; + case 'a': goto yy410; + case 'c': goto yy411; + case 'd': goto yy412; + case 'e': goto yy413; + case 'g': goto yy414; + case 'l': goto yy415; + case 'm': goto yy416; + case 'n': goto yy417; + case 'o': goto yy418; + case 'p': goto yy419; + case 'r': goto yy420; + case 's': goto yy421; + case 't': goto yy422; + case 'w': goto yy423; + case 'x': goto yy424; default: goto yy87; } -yy314: +yy317: yych = *++cursor_; - if (yych == 'r') goto yy419; + if (yych == 'r') goto yy425; goto yy87; -yy315: +yy318: yych = *++cursor_; - if (yych == 'k') goto yy420; + if (yych == 'k') goto yy426; goto yy87; -yy316: +yy319: yych = *++cursor_; - if (yych == 'l') goto yy421; + if (yych == 'l') goto yy427; goto yy87; -yy317: +yy320: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 262 "src/wast-lexer.cc" { RETURN_OPCODE0(Loop); } -#line 2551 "src/prebuilt/wast-lexer-gen.cc" -yy319: - yych = *++cursor_; - if (yych == 'r') goto yy423; - goto yy87; -yy320: - yych = *++cursor_; - if (yych == 'l') goto yy424; - goto yy87; -yy321: - yych = *++cursor_; - if (yych == '0') goto yy425; - goto yy87; +#line 2566 "src/prebuilt/wast-lexer-gen.cc" yy322: yych = *++cursor_; - if (yych == 'e') goto yy426; + if (yych == 'r') goto yy429; goto yy87; yy323: yych = *++cursor_; - if (yych == 'm') goto yy427; + if (yych == 'l') goto yy430; goto yy87; yy324: yych = *++cursor_; - if (yych == 'e') goto yy429; + if (yych == '0') goto yy431; goto yy87; yy325: yych = *++cursor_; - if (yych == 's') goto yy431; + if (yych == 'e') goto yy432; goto yy87; yy326: yych = *++cursor_; - if (yych == 'l') goto yy432; + if (yych == 'm') goto yy433; goto yy87; yy327: yych = *++cursor_; - if (yych == 'r') goto yy433; + if (yych == 'e') goto yy435; goto yy87; yy328: yych = *++cursor_; - if (yych == 'r') goto yy434; + if (yych == 's') goto yy437; goto yy87; yy329: yych = *++cursor_; - if (yych == 'c') goto yy435; + if (yych == 'l') goto yy438; goto yy87; yy330: yych = *++cursor_; - if (yych == 'g') goto yy436; - if (yych == 'l') goto yy437; + if (yych == 'r') goto yy439; goto yy87; yy331: yych = *++cursor_; - if (yych == 'e') goto yy438; + if (yych == 'r') goto yy440; goto yy87; yy332: yych = *++cursor_; - if (yych == 't') goto yy439; + if (yych == 'c') goto yy441; goto yy87; yy333: yych = *++cursor_; - if (yych == 'e') goto yy441; + if (yych == 'g') goto yy442; + if (yych == 'l') goto yy443; goto yy87; yy334: yych = *++cursor_; - if (yych == 'l') goto yy443; + if (yych == 'e') goto yy444; goto yy87; yy335: + yych = *++cursor_; + if (yych == 't') goto yy445; + goto yy87; +yy336: + yych = *++cursor_; + if (yych == 'e') goto yy447; + goto yy87; +yy337: + yych = *++cursor_; + if (yych == 'l') goto yy449; + goto yy87; +yy338: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 260 "src/wast-lexer.cc" { RETURN(Then); } -#line 2624 "src/prebuilt/wast-lexer-gen.cc" -yy337: +#line 2639 "src/prebuilt/wast-lexer-gen.cc" +yy340: yych = *++cursor_; - if (yych == 'w') goto yy444; + if (yych == 'w') goto yy450; goto yy87; -yy338: +yy341: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 510 "src/wast-lexer.cc" +#line 513 "src/wast-lexer.cc" { RETURN(Type); } -#line 2636 "src/prebuilt/wast-lexer-gen.cc" -yy340: +#line 2651 "src/prebuilt/wast-lexer-gen.cc" +yy343: yych = *++cursor_; - if (yych == 'a') goto yy446; + if (yych == 'a') goto yy452; goto yy87; -yy341: +yy344: + ++cursor_; + if (yybm[0+(yych = *cursor_)] & 8) { + goto yy86; + } +#line 448 "src/wast-lexer.cc" + { RETURN_OPCODE0(Wake); } +#line 2663 "src/prebuilt/wast-lexer-gen.cc" +yy346: ++cursor_; if ((limit_ - cursor_) < 2) FILL(2); yych = *cursor_; if (yych <= '@') { if (yych <= ')') { if (yych <= '!') { - if (yych <= ' ') goto yy282; + if (yych <= ' ') goto yy285; goto yy86; } else { - if (yych <= '"') goto yy282; + if (yych <= '"') goto yy285; if (yych <= '\'') goto yy86; - goto yy282; + goto yy285; } } else { if (yych <= '9') { if (yych <= '/') goto yy86; - goto yy341; + goto yy346; } else { - if (yych == ';') goto yy282; + if (yych == ';') goto yy285; goto yy86; } } } else { if (yych <= '_') { if (yych <= 'O') { - if (yych <= 'F') goto yy341; + if (yych <= 'F') goto yy346; goto yy86; } else { - if (yych <= 'P') goto yy283; + if (yych <= 'P') goto yy286; if (yych <= '^') goto yy86; - goto yy447; + goto yy453; } } else { if (yych <= 'o') { if (yych <= '`') goto yy86; - if (yych <= 'f') goto yy341; + if (yych <= 'f') goto yy346; goto yy86; } else { - if (yych <= 'p') goto yy283; + if (yych <= 'p') goto yy286; if (yych <= '~') goto yy86; - goto yy282; + goto yy285; } } } -yy343: +yy348: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; @@ -2705,545 +2728,550 @@ yy343: goto yy88; } } -yy344: +yy349: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; if (yych <= '/') { if (yych <= '"') { if (yych == '!') goto yy86; - goto yy282; + goto yy285; } else { if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy282; + if (yych <= ')') goto yy285; goto yy86; } } else { if (yych <= ';') { - if (yych <= '9') goto yy344; + if (yych <= '9') goto yy349; if (yych <= ':') goto yy86; - goto yy282; + goto yy285; } else { - if (yych == '_') goto yy343; + if (yych == '_') goto yy348; if (yych <= '~') goto yy86; - goto yy282; + goto yy285; } } -yy346: +yy351: yych = *++cursor_; - if (yych == '=') goto yy448; + if (yych == '=') goto yy454; goto yy87; -yy347: +yy352: yych = *++cursor_; - if (yych == 'n') goto yy449; + if (yych == 'n') goto yy455; goto yy87; -yy348: +yy353: yych = *++cursor_; - if (yych == 't') goto yy450; + if (yych == 't') goto yy456; goto yy87; -yy349: +yy354: yych = *++cursor_; - if (yych == 'y') goto yy451; + if (yych == 'y') goto yy457; goto yy87; -yy350: +yy355: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 258 "src/wast-lexer.cc" { RETURN_OPCODE0(Block); } -#line 2756 "src/prebuilt/wast-lexer-gen.cc" -yy352: +#line 2779 "src/prebuilt/wast-lexer-gen.cc" +yy357: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 264 "src/wast-lexer.cc" { RETURN_OPCODE0(BrIf); } -#line 2764 "src/prebuilt/wast-lexer-gen.cc" -yy354: +#line 2787 "src/prebuilt/wast-lexer-gen.cc" +yy359: yych = *++cursor_; - if (yych == 'b') goto yy453; + if (yych == 'b') goto yy459; goto yy87; -yy355: +yy360: yych = *++cursor_; - if (yych == 'i') goto yy454; + if (yych == 'i') goto yy460; goto yy87; -yy356: +yy361: ++cursor_; if ((yych = *cursor_) <= ')') { if (yych <= '!') { if (yych >= '!') goto yy86; } else { - if (yych <= '"') goto yy357; + if (yych <= '"') goto yy362; if (yych <= '\'') goto yy86; } } else { if (yych <= '^') { if (yych != ';') goto yy86; } else { - if (yych <= '_') goto yy455; + if (yych <= '_') goto yy461; if (yych <= '~') goto yy86; } } -yy357: -#line 540 "src/wast-lexer.cc" +yy362: +#line 543 "src/wast-lexer.cc" { RETURN_OPCODE0(Catch); } -#line 2793 "src/prebuilt/wast-lexer-gen.cc" -yy358: +#line 2816 "src/prebuilt/wast-lexer-gen.cc" +yy363: yych = *++cursor_; - if (yych == 'n') goto yy456; + if (yych == 'n') goto yy462; goto yy87; -yy359: +yy364: yych = *++cursor_; - if (yych == 't') goto yy457; + if (yych == 't') goto yy463; goto yy87; -yy360: +yy365: yych = *++cursor_; - if (yych == 't') goto yy459; + if (yych == 't') goto yy465; goto yy87; -yy361: +yy366: yych = *++cursor_; - if (yych == 'b') goto yy461; - if (yych == 'd') goto yy462; + if (yych == 'b') goto yy467; + if (yych == 'd') goto yy468; goto yy87; -yy362: +yy367: yych = *++cursor_; - if (yych == 'e') goto yy463; - if (yych == 'o') goto yy464; + if (yych == 'e') goto yy469; + if (yych == 'o') goto yy470; goto yy87; -yy363: +yy368: yych = *++cursor_; - if (yych == 'e') goto yy465; - if (yych == 'i') goto yy466; + if (yych == 'e') goto yy471; + if (yych == 'i') goto yy472; goto yy87; -yy364: +yy369: yych = *++cursor_; - if (yych == 'q') goto yy467; + if (yych == 'q') goto yy473; goto yy87; -yy365: +yy370: yych = *++cursor_; - if (yych == 'l') goto yy469; + if (yych == 'l') goto yy475; goto yy87; -yy366: +yy371: yych = *++cursor_; - if (yych == 'e') goto yy470; - if (yych == 't') goto yy472; + if (yych == 'e') goto yy476; + if (yych == 't') goto yy478; goto yy87; -yy367: +yy372: yych = *++cursor_; if (yych <= 'n') { - if (yych == 'e') goto yy474; + if (yych == 'e') goto yy480; goto yy87; } else { - if (yych <= 'o') goto yy476; - if (yych == 't') goto yy477; + if (yych <= 'o') goto yy482; + if (yych == 't') goto yy483; goto yy87; } -yy368: +yy373: yych = *++cursor_; if (yych <= 'h') { - if (yych == 'a') goto yy479; + if (yych == 'a') goto yy485; goto yy87; } else { - if (yych <= 'i') goto yy480; - if (yych == 'u') goto yy481; + if (yych <= 'i') goto yy486; + if (yych == 'u') goto yy487; goto yy87; } -yy369: +yy374: yych = *++cursor_; - if (yych == 'e') goto yy482; + if (yych == 'e') goto yy488; goto yy87; -yy370: +yy375: yych = *++cursor_; - if (yych == 'e') goto yy484; + if (yych == 'e') goto yy490; goto yy87; -yy371: +yy376: yych = *++cursor_; if (yych <= 's') { - if (yych == 'q') goto yy485; + if (yych == 'q') goto yy491; goto yy87; } else { - if (yych <= 't') goto yy486; - if (yych <= 'u') goto yy487; + if (yych <= 't') goto yy492; + if (yych <= 'u') goto yy493; goto yy87; } -yy372: +yy377: yych = *++cursor_; - if (yych == 'r') goto yy488; + if (yych == 'r') goto yy494; goto yy87; -yy373: +yy378: yych = *++cursor_; - if (yych == 'b') goto yy489; - if (yych == 'd') goto yy490; + if (yych == 'b') goto yy495; + if (yych == 'd') goto yy496; goto yy87; -yy374: +yy379: yych = *++cursor_; - if (yych == 'e') goto yy491; - if (yych == 'o') goto yy492; + if (yych == 'e') goto yy497; + if (yych == 'o') goto yy498; goto yy87; -yy375: +yy380: yych = *++cursor_; - if (yych == 'i') goto yy493; + if (yych == 'i') goto yy499; goto yy87; -yy376: +yy381: yych = *++cursor_; - if (yych == 'q') goto yy494; + if (yych == 'q') goto yy500; goto yy87; -yy377: +yy382: yych = *++cursor_; - if (yych == 'l') goto yy496; + if (yych == 'l') goto yy502; goto yy87; -yy378: +yy383: yych = *++cursor_; - if (yych == 'e') goto yy497; - if (yych == 't') goto yy499; + if (yych == 'e') goto yy503; + if (yych == 't') goto yy505; goto yy87; -yy379: +yy384: yych = *++cursor_; if (yych <= 'n') { - if (yych == 'e') goto yy501; + if (yych == 'e') goto yy507; goto yy87; } else { - if (yych <= 'o') goto yy503; - if (yych == 't') goto yy504; + if (yych <= 'o') goto yy509; + if (yych == 't') goto yy510; goto yy87; } -yy380: +yy385: yych = *++cursor_; if (yych <= 'h') { - if (yych == 'a') goto yy506; + if (yych == 'a') goto yy512; goto yy87; } else { - if (yych <= 'i') goto yy507; - if (yych == 'u') goto yy508; + if (yych <= 'i') goto yy513; + if (yych == 'u') goto yy514; goto yy87; } -yy381: +yy386: yych = *++cursor_; - if (yych == 'e') goto yy509; + if (yych == 'e') goto yy515; goto yy87; -yy382: +yy387: yych = *++cursor_; - if (yych == 'r') goto yy511; + if (yych == 'r') goto yy517; goto yy87; -yy383: +yy388: yych = *++cursor_; - if (yych == 'e') goto yy512; + if (yych == 'e') goto yy518; goto yy87; -yy384: +yy389: yych = *++cursor_; if (yych <= 's') { - if (yych == 'q') goto yy513; + if (yych == 'q') goto yy519; goto yy87; } else { - if (yych <= 't') goto yy514; - if (yych <= 'u') goto yy515; + if (yych <= 't') goto yy520; + if (yych <= 'u') goto yy521; goto yy87; } -yy385: +yy390: yych = *++cursor_; - if (yych == 'r') goto yy516; + if (yych == 'r') goto yy522; goto yy87; -yy386: +yy391: yych = *++cursor_; - if (yych == 'l') goto yy517; + if (yych == 'l') goto yy523; goto yy87; -yy387: +yy392: yych = *++cursor_; - if (yych == 'o') goto yy518; + if (yych == 'o') goto yy524; goto yy87; -yy388: +yy393: yych = *++cursor_; - if (yych == 'l') goto yy519; + if (yych == 'l') goto yy525; goto yy87; -yy389: +yy394: yych = *++cursor_; - if (yych == 'm') goto yy521; + if (yych == 'm') goto yy527; goto yy87; -yy390: +yy395: yych = *++cursor_; if (yych <= 'm') { - if (yych == 'd') goto yy522; + if (yych == 'd') goto yy528; goto yy87; } else { - if (yych <= 'n') goto yy523; - if (yych == 't') goto yy524; + if (yych <= 'n') goto yy529; + if (yych == 't') goto yy530; goto yy87; } -yy391: +yy396: yych = *++cursor_; if (yych <= 'n') { - if (yych == 'l') goto yy525; + if (yych == 'l') goto yy531; goto yy87; } else { - if (yych <= 'o') goto yy526; - if (yych == 't') goto yy527; + if (yych <= 'o') goto yy532; + if (yych == 't') goto yy533; goto yy87; } -yy392: +yy397: yych = *++cursor_; - if (yych == 'i') goto yy528; + if (yych == 'i') goto yy534; goto yy87; -yy393: +yy398: yych = *++cursor_; - if (yych == 'q') goto yy529; - if (yych == 'x') goto yy531; + if (yych == 'q') goto yy535; + if (yych == 'x') goto yy537; goto yy87; -yy394: +yy399: yych = *++cursor_; - if (yych == 'e') goto yy532; - if (yych == 't') goto yy533; + if (yych == 'e') goto yy538; + if (yych == 't') goto yy539; goto yy87; -yy395: +yy400: yych = *++cursor_; if (yych <= 'n') { - if (yych == 'e') goto yy534; + if (yych == 'e') goto yy540; goto yy87; } else { - if (yych <= 'o') goto yy535; - if (yych == 't') goto yy536; + if (yych <= 'o') goto yy541; + if (yych == 't') goto yy542; goto yy87; } -yy396: +yy401: yych = *++cursor_; - if (yych == 'u') goto yy537; + if (yych == 'u') goto yy543; goto yy87; -yy397: +yy402: yych = *++cursor_; - if (yych == 'e') goto yy538; + if (yych == 'e') goto yy544; goto yy87; -yy398: +yy403: yych = *++cursor_; - if (yych == 'r') goto yy540; + if (yych == 'r') goto yy546; goto yy87; -yy399: +yy404: yych = *++cursor_; - if (yych == 'o') goto yy542; + if (yych == 'o') goto yy548; goto yy87; -yy400: +yy405: yych = *++cursor_; - if (yych == 'e') goto yy543; - if (yych == 'o') goto yy544; + if (yych == 'e') goto yy549; + if (yych == 'o') goto yy550; goto yy87; -yy401: +yy406: yych = *++cursor_; if (yych <= 's') { - if (yych == 'h') goto yy545; + if (yych == 'h') goto yy551; goto yy87; } else { - if (yych <= 't') goto yy546; - if (yych <= 'u') goto yy547; + if (yych <= 't') goto yy552; + if (yych <= 'u') goto yy553; goto yy87; } -yy402: +yy407: yych = *++cursor_; - if (yych == 'r') goto yy548; + if (yych == 'r') goto yy554; goto yy87; -yy403: +yy408: yych = *++cursor_; - if (yych == 'r') goto yy549; + if (yych == 'a') goto yy555; + if (yych == 'r') goto yy556; goto yy87; -yy404: +yy409: yych = *++cursor_; - if (yych == 'o') goto yy550; + if (yych == 'o') goto yy557; goto yy87; -yy405: +yy410: yych = *++cursor_; if (yych <= 'm') { - if (yych == 'd') goto yy551; + if (yych == 'd') goto yy558; goto yy87; } else { - if (yych <= 'n') goto yy552; - if (yych == 't') goto yy553; + if (yych <= 'n') goto yy559; + if (yych == 't') goto yy560; goto yy87; } -yy406: +yy411: yych = *++cursor_; if (yych <= 'n') { - if (yych == 'l') goto yy554; + if (yych == 'l') goto yy561; goto yy87; } else { - if (yych <= 'o') goto yy555; - if (yych == 't') goto yy556; + if (yych <= 'o') goto yy562; + if (yych == 't') goto yy563; goto yy87; } -yy407: +yy412: yych = *++cursor_; - if (yych == 'i') goto yy557; + if (yych == 'i') goto yy564; goto yy87; -yy408: +yy413: yych = *++cursor_; - if (yych == 'q') goto yy558; - if (yych == 'x') goto yy560; + if (yych == 'q') goto yy565; + if (yych == 'x') goto yy567; goto yy87; -yy409: +yy414: yych = *++cursor_; - if (yych == 'e') goto yy561; - if (yych == 't') goto yy562; + if (yych == 'e') goto yy568; + if (yych == 't') goto yy569; goto yy87; -yy410: +yy415: yych = *++cursor_; if (yych <= 'n') { - if (yych == 'e') goto yy563; + if (yych == 'e') goto yy570; goto yy87; } else { - if (yych <= 'o') goto yy564; - if (yych == 't') goto yy565; + if (yych <= 'o') goto yy571; + if (yych == 't') goto yy572; goto yy87; } -yy411: +yy416: yych = *++cursor_; - if (yych == 'u') goto yy566; + if (yych == 'u') goto yy573; goto yy87; -yy412: +yy417: yych = *++cursor_; - if (yych == 'e') goto yy567; + if (yych == 'e') goto yy574; goto yy87; -yy413: +yy418: yych = *++cursor_; - if (yych == 'r') goto yy569; + if (yych == 'r') goto yy576; goto yy87; -yy414: +yy419: yych = *++cursor_; - if (yych == 'o') goto yy571; + if (yych == 'o') goto yy578; goto yy87; -yy415: +yy420: yych = *++cursor_; - if (yych == 'e') goto yy572; - if (yych == 'o') goto yy573; + if (yych == 'e') goto yy579; + if (yych == 'o') goto yy580; goto yy87; -yy416: +yy421: yych = *++cursor_; if (yych <= 's') { - if (yych == 'h') goto yy574; + if (yych == 'h') goto yy581; goto yy87; } else { - if (yych <= 't') goto yy575; - if (yych <= 'u') goto yy576; + if (yych <= 't') goto yy582; + if (yych <= 'u') goto yy583; goto yy87; } -yy417: +yy422: yych = *++cursor_; - if (yych == 'r') goto yy577; + if (yych == 'r') goto yy584; goto yy87; -yy418: +yy423: yych = *++cursor_; - if (yych == 'o') goto yy578; + if (yych == 'a') goto yy585; goto yy87; -yy419: +yy424: yych = *++cursor_; - if (yych == 't') goto yy579; + if (yych == 'o') goto yy586; goto yy87; -yy420: +yy425: yych = *++cursor_; - if (yych == 'e') goto yy581; + if (yych == 't') goto yy587; goto yy87; -yy421: +yy426: + yych = *++cursor_; + if (yych == 'e') goto yy589; + goto yy87; +yy427: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 514 "src/wast-lexer.cc" +#line 517 "src/wast-lexer.cc" { RETURN(Local); } -#line 3150 "src/prebuilt/wast-lexer-gen.cc" -yy423: +#line 3178 "src/prebuilt/wast-lexer-gen.cc" +yy429: yych = *++cursor_; - if (yych == 'y') goto yy583; + if (yych == 'y') goto yy591; goto yy87; -yy424: +yy430: yych = *++cursor_; - if (yych == 'e') goto yy585; + if (yych == 'e') goto yy593; goto yy87; -yy425: +yy431: yych = *++cursor_; - if (yych == 'x') goto yy587; + if (yych == 'x') goto yy595; goto yy87; -yy426: +yy432: yych = *++cursor_; - if (yych == 't') goto yy588; + if (yych == 't') goto yy596; goto yy87; -yy427: +yy433: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 512 "src/wast-lexer.cc" +#line 515 "src/wast-lexer.cc" { RETURN(Param); } -#line 3174 "src/prebuilt/wast-lexer-gen.cc" -yy429: +#line 3202 "src/prebuilt/wast-lexer-gen.cc" +yy435: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 518 "src/wast-lexer.cc" +#line 521 "src/wast-lexer.cc" { RETURN(Quote); } -#line 3182 "src/prebuilt/wast-lexer-gen.cc" -yy431: +#line 3210 "src/prebuilt/wast-lexer-gen.cc" +yy437: yych = *++cursor_; - if (yych == 't') goto yy590; + if (yych == 't') goto yy598; goto yy87; -yy432: +yy438: yych = *++cursor_; - if (yych == 't') goto yy591; + if (yych == 't') goto yy599; goto yy87; -yy433: +yy439: yych = *++cursor_; - if (yych == 'o') goto yy593; + if (yych == 'o') goto yy601; goto yy87; -yy434: +yy440: yych = *++cursor_; - if (yych == 'n') goto yy594; + if (yych == 'n') goto yy602; goto yy87; -yy435: +yy441: yych = *++cursor_; - if (yych == 't') goto yy596; + if (yych == 't') goto yy604; goto yy87; -yy436: +yy442: yych = *++cursor_; - if (yych == 'l') goto yy598; + if (yych == 'l') goto yy606; goto yy87; -yy437: +yy443: yych = *++cursor_; - if (yych == 'o') goto yy599; + if (yych == 'o') goto yy607; goto yy87; -yy438: +yy444: yych = *++cursor_; - if (yych == 'd') goto yy600; + if (yych == 'd') goto yy608; goto yy87; -yy439: +yy445: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 521 "src/wast-lexer.cc" +#line 524 "src/wast-lexer.cc" { RETURN(Start); } -#line 3222 "src/prebuilt/wast-lexer-gen.cc" -yy441: +#line 3250 "src/prebuilt/wast-lexer-gen.cc" +yy447: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 519 "src/wast-lexer.cc" +#line 522 "src/wast-lexer.cc" { RETURN(Table); } -#line 3230 "src/prebuilt/wast-lexer-gen.cc" -yy443: +#line 3258 "src/prebuilt/wast-lexer-gen.cc" +yy449: yych = *++cursor_; - if (yych == 'o') goto yy602; + if (yych == 'o') goto yy610; goto yy87; -yy444: +yy450: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 542 "src/wast-lexer.cc" +#line 545 "src/wast-lexer.cc" { RETURN_OPCODE0(Throw); } -#line 3242 "src/prebuilt/wast-lexer-gen.cc" -yy446: +#line 3270 "src/prebuilt/wast-lexer-gen.cc" +yy452: yych = *++cursor_; - if (yych == 'c') goto yy603; + if (yych == 'c') goto yy611; goto yy87; -yy447: +yy453: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; @@ -3255,160 +3283,160 @@ yy447: if (yych <= '\'') goto yy86; if (yych <= ')') goto yy88; if (yych <= '/') goto yy86; - goto yy341; + goto yy346; } } else { if (yych <= 'F') { if (yych == ';') goto yy88; if (yych <= '@') goto yy86; - goto yy341; + goto yy346; } else { if (yych <= '`') goto yy86; - if (yych <= 'f') goto yy341; + if (yych <= 'f') goto yy346; if (yych <= '~') goto yy86; goto yy88; } } -yy448: +yy454: yych = *++cursor_; if (yych <= '/') goto yy87; - if (yych <= '0') goto yy604; - if (yych <= '9') goto yy606; + if (yych <= '0') goto yy612; + if (yych <= '9') goto yy614; goto yy87; -yy449: +yy455: yych = *++cursor_; - if (yych == 'c') goto yy608; + if (yych == 'c') goto yy616; goto yy87; -yy450: +yy456: yych = *++cursor_; - if (yych == '_') goto yy610; + if (yych == '_') goto yy618; goto yy87; -yy451: +yy457: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 517 "src/wast-lexer.cc" +#line 520 "src/wast-lexer.cc" { RETURN(Bin); } -#line 3294 "src/prebuilt/wast-lexer-gen.cc" -yy453: +#line 3322 "src/prebuilt/wast-lexer-gen.cc" +yy459: yych = *++cursor_; - if (yych == 'l') goto yy611; + if (yych == 'l') goto yy619; goto yy87; -yy454: +yy460: yych = *++cursor_; - if (yych == 'n') goto yy612; + if (yych == 'n') goto yy620; goto yy87; -yy455: +yy461: yych = *++cursor_; - if (yych == 'a') goto yy613; + if (yych == 'a') goto yy621; goto yy87; -yy456: +yy462: yych = *++cursor_; - if (yych == 't') goto yy614; + if (yych == 't') goto yy622; goto yy87; -yy457: +yy463: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 527 "src/wast-lexer.cc" +#line 530 "src/wast-lexer.cc" { RETURN(Except); } -#line 3318 "src/prebuilt/wast-lexer-gen.cc" -yy459: +#line 3346 "src/prebuilt/wast-lexer-gen.cc" +yy465: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 526 "src/wast-lexer.cc" +#line 529 "src/wast-lexer.cc" { RETURN(Export); } -#line 3326 "src/prebuilt/wast-lexer-gen.cc" -yy461: +#line 3354 "src/prebuilt/wast-lexer-gen.cc" +yy467: yych = *++cursor_; - if (yych == 's') goto yy615; + if (yych == 's') goto yy623; goto yy87; -yy462: +yy468: yych = *++cursor_; - if (yych == 'd') goto yy617; + if (yych == 'd') goto yy625; goto yy87; -yy463: +yy469: yych = *++cursor_; - if (yych == 'i') goto yy619; + if (yych == 'i') goto yy627; goto yy87; -yy464: +yy470: yych = *++cursor_; - if (yych == 'n') goto yy620; - if (yych == 'p') goto yy621; + if (yych == 'n') goto yy628; + if (yych == 'p') goto yy629; goto yy87; -yy465: +yy471: yych = *++cursor_; - if (yych == 'm') goto yy622; + if (yych == 'm') goto yy630; goto yy87; -yy466: +yy472: yych = *++cursor_; - if (yych == 'v') goto yy623; + if (yych == 'v') goto yy631; goto yy87; -yy467: +yy473: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 396 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, F32Eq); } -#line 3359 "src/prebuilt/wast-lexer-gen.cc" -yy469: +#line 3387 "src/prebuilt/wast-lexer-gen.cc" +yy475: yych = *++cursor_; - if (yych == 'o') goto yy625; + if (yych == 'o') goto yy633; goto yy87; -yy470: +yy476: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 406 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, F32Ge); } -#line 3371 "src/prebuilt/wast-lexer-gen.cc" -yy472: +#line 3399 "src/prebuilt/wast-lexer-gen.cc" +yy478: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 404 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, F32Gt); } -#line 3379 "src/prebuilt/wast-lexer-gen.cc" -yy474: +#line 3407 "src/prebuilt/wast-lexer-gen.cc" +yy480: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 402 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, F32Le); } -#line 3387 "src/prebuilt/wast-lexer-gen.cc" -yy476: +#line 3415 "src/prebuilt/wast-lexer-gen.cc" +yy482: yych = *++cursor_; - if (yych == 'a') goto yy626; + if (yych == 'a') goto yy634; goto yy87; -yy477: +yy483: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 400 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, F32Lt); } -#line 3399 "src/prebuilt/wast-lexer-gen.cc" -yy479: +#line 3427 "src/prebuilt/wast-lexer-gen.cc" +yy485: yych = *++cursor_; - if (yych == 'x') goto yy627; + if (yych == 'x') goto yy635; goto yy87; -yy480: +yy486: yych = *++cursor_; - if (yych == 'n') goto yy629; + if (yych == 'n') goto yy637; goto yy87; -yy481: +yy487: yych = *++cursor_; - if (yych == 'l') goto yy631; + if (yych == 'l') goto yy639; goto yy87; -yy482: +yy488: ++cursor_; if ((yych = *cursor_) <= ':') { if (yych <= '"') { @@ -3419,120 +3447,120 @@ yy482: } } else { if (yych <= 'a') { - if (yych <= ';') goto yy483; + if (yych <= ';') goto yy489; if (yych <= '`') goto yy86; - goto yy633; + goto yy641; } else { - if (yych == 'g') goto yy634; + if (yych == 'g') goto yy642; if (yych <= '~') goto yy86; } } -yy483: +yy489: #line 398 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, F32Ne); } -#line 3434 "src/prebuilt/wast-lexer-gen.cc" -yy484: +#line 3462 "src/prebuilt/wast-lexer-gen.cc" +yy490: yych = *++cursor_; - if (yych == 'i') goto yy636; + if (yych == 'i') goto yy644; goto yy87; -yy485: +yy491: yych = *++cursor_; - if (yych == 'r') goto yy637; + if (yych == 'r') goto yy645; goto yy87; -yy486: +yy492: yych = *++cursor_; - if (yych == 'o') goto yy638; + if (yych == 'o') goto yy646; goto yy87; -yy487: +yy493: yych = *++cursor_; - if (yych == 'b') goto yy639; + if (yych == 'b') goto yy647; goto yy87; -yy488: +yy494: yych = *++cursor_; - if (yych == 'u') goto yy641; + if (yych == 'u') goto yy649; goto yy87; -yy489: +yy495: yych = *++cursor_; - if (yych == 's') goto yy642; + if (yych == 's') goto yy650; goto yy87; -yy490: +yy496: yych = *++cursor_; - if (yych == 'd') goto yy644; + if (yych == 'd') goto yy652; goto yy87; -yy491: +yy497: yych = *++cursor_; - if (yych == 'i') goto yy646; + if (yych == 'i') goto yy654; goto yy87; -yy492: +yy498: yych = *++cursor_; - if (yych == 'n') goto yy647; - if (yych == 'p') goto yy648; + if (yych == 'n') goto yy655; + if (yych == 'p') goto yy656; goto yy87; -yy493: +yy499: yych = *++cursor_; - if (yych == 'v') goto yy649; + if (yych == 'v') goto yy657; goto yy87; -yy494: +yy500: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 397 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, F64Eq); } -#line 3483 "src/prebuilt/wast-lexer-gen.cc" -yy496: +#line 3511 "src/prebuilt/wast-lexer-gen.cc" +yy502: yych = *++cursor_; - if (yych == 'o') goto yy651; + if (yych == 'o') goto yy659; goto yy87; -yy497: +yy503: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 407 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, F64Ge); } -#line 3495 "src/prebuilt/wast-lexer-gen.cc" -yy499: +#line 3523 "src/prebuilt/wast-lexer-gen.cc" +yy505: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 405 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, F64Gt); } -#line 3503 "src/prebuilt/wast-lexer-gen.cc" -yy501: +#line 3531 "src/prebuilt/wast-lexer-gen.cc" +yy507: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 403 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, F64Le); } -#line 3511 "src/prebuilt/wast-lexer-gen.cc" -yy503: +#line 3539 "src/prebuilt/wast-lexer-gen.cc" +yy509: yych = *++cursor_; - if (yych == 'a') goto yy652; + if (yych == 'a') goto yy660; goto yy87; -yy504: +yy510: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 401 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, F64Lt); } -#line 3523 "src/prebuilt/wast-lexer-gen.cc" -yy506: +#line 3551 "src/prebuilt/wast-lexer-gen.cc" +yy512: yych = *++cursor_; - if (yych == 'x') goto yy653; + if (yych == 'x') goto yy661; goto yy87; -yy507: +yy513: yych = *++cursor_; - if (yych == 'n') goto yy655; + if (yych == 'n') goto yy663; goto yy87; -yy508: +yy514: yych = *++cursor_; - if (yych == 'l') goto yy657; + if (yych == 'l') goto yy665; goto yy87; -yy509: +yy515: ++cursor_; if ((yych = *cursor_) <= ':') { if (yych <= '"') { @@ -3543,353 +3571,361 @@ yy509: } } else { if (yych <= 'a') { - if (yych <= ';') goto yy510; + if (yych <= ';') goto yy516; if (yych <= '`') goto yy86; - goto yy659; + goto yy667; } else { - if (yych == 'g') goto yy660; + if (yych == 'g') goto yy668; if (yych <= '~') goto yy86; } } -yy510: +yy516: #line 399 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, F64Ne); } -#line 3558 "src/prebuilt/wast-lexer-gen.cc" -yy511: +#line 3586 "src/prebuilt/wast-lexer-gen.cc" +yy517: yych = *++cursor_; - if (yych == 'o') goto yy662; + if (yych == 'o') goto yy670; goto yy87; -yy512: +yy518: yych = *++cursor_; - if (yych == 'i') goto yy663; + if (yych == 'i') goto yy671; goto yy87; -yy513: +yy519: yych = *++cursor_; - if (yych == 'r') goto yy664; + if (yych == 'r') goto yy672; goto yy87; -yy514: +yy520: yych = *++cursor_; - if (yych == 'o') goto yy665; + if (yych == 'o') goto yy673; goto yy87; -yy515: +yy521: yych = *++cursor_; - if (yych == 'b') goto yy666; + if (yych == 'b') goto yy674; goto yy87; -yy516: +yy522: yych = *++cursor_; - if (yych == 'u') goto yy668; + if (yych == 'u') goto yy676; goto yy87; -yy517: +yy523: yych = *++cursor_; - if (yych == 'o') goto yy669; + if (yych == 'o') goto yy677; goto yy87; -yy518: +yy524: yych = *++cursor_; - if (yych == 'c') goto yy670; + if (yych == 'c') goto yy678; goto yy87; -yy519: +yy525: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 515 "src/wast-lexer.cc" +#line 518 "src/wast-lexer.cc" { RETURN(Global); } -#line 3598 "src/prebuilt/wast-lexer-gen.cc" -yy521: +#line 3626 "src/prebuilt/wast-lexer-gen.cc" +yy527: yych = *++cursor_; - if (yych == 'e') goto yy671; + if (yych == 'e') goto yy679; goto yy87; -yy522: +yy528: yych = *++cursor_; - if (yych == 'd') goto yy672; + if (yych == 'd') goto yy680; goto yy87; -yy523: +yy529: yych = *++cursor_; - if (yych == 'd') goto yy674; + if (yych == 'd') goto yy682; goto yy87; -yy524: +yy530: yych = *++cursor_; - if (yych == 'o') goto yy676; + if (yych == 'o') goto yy684; goto yy87; -yy525: +yy531: yych = *++cursor_; - if (yych == 'z') goto yy677; + if (yych == 'z') goto yy685; goto yy87; -yy526: +yy532: yych = *++cursor_; - if (yych == 'n') goto yy679; + if (yych == 'n') goto yy687; goto yy87; -yy527: +yy533: yych = *++cursor_; - if (yych == 'z') goto yy680; + if (yych == 'z') goto yy688; goto yy87; -yy528: +yy534: yych = *++cursor_; - if (yych == 'v') goto yy682; + if (yych == 'v') goto yy690; goto yy87; -yy529: +yy535: ++cursor_; if ((yych = *cursor_) <= ')') { if (yych <= '!') { if (yych >= '!') goto yy86; } else { - if (yych <= '"') goto yy530; + if (yych <= '"') goto yy536; if (yych <= '\'') goto yy86; } } else { if (yych <= 'y') { if (yych != ';') goto yy86; } else { - if (yych <= 'z') goto yy683; + if (yych <= 'z') goto yy691; if (yych <= '~') goto yy86; } } -yy530: +yy536: #line 376 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I32Eq); } -#line 3651 "src/prebuilt/wast-lexer-gen.cc" -yy531: +#line 3679 "src/prebuilt/wast-lexer-gen.cc" +yy537: yych = *++cursor_; - if (yych == 't') goto yy685; + if (yych == 't') goto yy693; goto yy87; -yy532: +yy538: yych = *++cursor_; - if (yych == '_') goto yy686; + if (yych == '_') goto yy694; goto yy87; -yy533: +yy539: yych = *++cursor_; - if (yych == '_') goto yy687; + if (yych == '_') goto yy695; goto yy87; -yy534: +yy540: yych = *++cursor_; - if (yych == '_') goto yy688; + if (yych == '_') goto yy696; goto yy87; -yy535: +yy541: yych = *++cursor_; - if (yych == 'a') goto yy689; + if (yych == 'a') goto yy697; goto yy87; -yy536: +yy542: yych = *++cursor_; - if (yych == '_') goto yy690; + if (yych == '_') goto yy698; goto yy87; -yy537: +yy543: yych = *++cursor_; - if (yych == 'l') goto yy691; + if (yych == 'l') goto yy699; goto yy87; -yy538: +yy544: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 378 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I32Ne); } -#line 3687 "src/prebuilt/wast-lexer-gen.cc" -yy540: +#line 3715 "src/prebuilt/wast-lexer-gen.cc" +yy546: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 348 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32Or); } -#line 3695 "src/prebuilt/wast-lexer-gen.cc" -yy542: +#line 3723 "src/prebuilt/wast-lexer-gen.cc" +yy548: yych = *++cursor_; - if (yych == 'p') goto yy693; + if (yych == 'p') goto yy701; goto yy87; -yy543: +yy549: yych = *++cursor_; - if (yych == 'i') goto yy694; - if (yych == 'm') goto yy695; + if (yych == 'i') goto yy702; + if (yych == 'm') goto yy703; goto yy87; -yy544: +yy550: yych = *++cursor_; - if (yych == 't') goto yy696; + if (yych == 't') goto yy704; goto yy87; -yy545: +yy551: yych = *++cursor_; - if (yych == 'l') goto yy697; - if (yych == 'r') goto yy699; + if (yych == 'l') goto yy705; + if (yych == 'r') goto yy707; goto yy87; -yy546: +yy552: yych = *++cursor_; - if (yych == 'o') goto yy700; + if (yych == 'o') goto yy708; goto yy87; -yy547: +yy553: yych = *++cursor_; - if (yych == 'b') goto yy701; + if (yych == 'b') goto yy709; goto yy87; -yy548: +yy554: yych = *++cursor_; - if (yych == 'u') goto yy703; + if (yych == 'u') goto yy711; goto yy87; -yy549: +yy555: yych = *++cursor_; - if (yych == 'a') goto yy704; + if (yych == 'i') goto yy712; goto yy87; -yy550: +yy556: yych = *++cursor_; - if (yych == 'r') goto yy705; + if (yych == 'a') goto yy713; goto yy87; -yy551: +yy557: yych = *++cursor_; - if (yych == 'd') goto yy707; + if (yych == 'r') goto yy714; goto yy87; -yy552: +yy558: yych = *++cursor_; - if (yych == 'd') goto yy709; + if (yych == 'd') goto yy716; goto yy87; -yy553: +yy559: yych = *++cursor_; - if (yych == 'o') goto yy711; + if (yych == 'd') goto yy718; goto yy87; -yy554: +yy560: yych = *++cursor_; - if (yych == 'z') goto yy712; + if (yych == 'o') goto yy720; goto yy87; -yy555: +yy561: yych = *++cursor_; - if (yych == 'n') goto yy714; + if (yych == 'z') goto yy721; goto yy87; -yy556: +yy562: yych = *++cursor_; - if (yych == 'z') goto yy715; + if (yych == 'n') goto yy723; goto yy87; -yy557: +yy563: yych = *++cursor_; - if (yych == 'v') goto yy717; + if (yych == 'z') goto yy724; goto yy87; -yy558: +yy564: + yych = *++cursor_; + if (yych == 'v') goto yy726; + goto yy87; +yy565: ++cursor_; if ((yych = *cursor_) <= ')') { if (yych <= '!') { if (yych >= '!') goto yy86; } else { - if (yych <= '"') goto yy559; + if (yych <= '"') goto yy566; if (yych <= '\'') goto yy86; } } else { if (yych <= 'y') { if (yych != ';') goto yy86; } else { - if (yych <= 'z') goto yy718; + if (yych <= 'z') goto yy727; if (yych <= '~') goto yy86; } } -yy559: +yy566: #line 377 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I64Eq); } -#line 3782 "src/prebuilt/wast-lexer-gen.cc" -yy560: +#line 3814 "src/prebuilt/wast-lexer-gen.cc" +yy567: yych = *++cursor_; - if (yych == 't') goto yy720; + if (yych == 't') goto yy729; goto yy87; -yy561: +yy568: yych = *++cursor_; - if (yych == '_') goto yy721; + if (yych == '_') goto yy730; goto yy87; -yy562: +yy569: yych = *++cursor_; - if (yych == '_') goto yy722; + if (yych == '_') goto yy731; goto yy87; -yy563: +yy570: yych = *++cursor_; - if (yych == '_') goto yy723; + if (yych == '_') goto yy732; goto yy87; -yy564: +yy571: yych = *++cursor_; - if (yych == 'a') goto yy724; + if (yych == 'a') goto yy733; goto yy87; -yy565: +yy572: yych = *++cursor_; - if (yych == '_') goto yy725; + if (yych == '_') goto yy734; goto yy87; -yy566: +yy573: yych = *++cursor_; - if (yych == 'l') goto yy726; + if (yych == 'l') goto yy735; goto yy87; -yy567: +yy574: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 379 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I64Ne); } -#line 3818 "src/prebuilt/wast-lexer-gen.cc" -yy569: +#line 3850 "src/prebuilt/wast-lexer-gen.cc" +yy576: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 349 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64Or); } -#line 3826 "src/prebuilt/wast-lexer-gen.cc" -yy571: +#line 3858 "src/prebuilt/wast-lexer-gen.cc" +yy578: yych = *++cursor_; - if (yych == 'p') goto yy728; + if (yych == 'p') goto yy737; goto yy87; -yy572: +yy579: yych = *++cursor_; - if (yych == 'i') goto yy729; - if (yych == 'm') goto yy730; + if (yych == 'i') goto yy738; + if (yych == 'm') goto yy739; goto yy87; -yy573: +yy580: yych = *++cursor_; - if (yych == 't') goto yy731; + if (yych == 't') goto yy740; goto yy87; -yy574: +yy581: yych = *++cursor_; - if (yych == 'l') goto yy732; - if (yych == 'r') goto yy734; + if (yych == 'l') goto yy741; + if (yych == 'r') goto yy743; goto yy87; -yy575: +yy582: yych = *++cursor_; - if (yych == 'o') goto yy735; + if (yych == 'o') goto yy744; goto yy87; -yy576: +yy583: yych = *++cursor_; - if (yych == 'b') goto yy736; + if (yych == 'b') goto yy745; goto yy87; -yy577: +yy584: yych = *++cursor_; - if (yych == 'u') goto yy738; + if (yych == 'u') goto yy747; goto yy87; -yy578: +yy585: yych = *++cursor_; - if (yych == 'r') goto yy739; + if (yych == 'i') goto yy748; goto yy87; -yy579: +yy586: + yych = *++cursor_; + if (yych == 'r') goto yy749; + goto yy87; +yy587: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 525 "src/wast-lexer.cc" +#line 528 "src/wast-lexer.cc" { RETURN(Import); } -#line 3868 "src/prebuilt/wast-lexer-gen.cc" -yy581: +#line 3904 "src/prebuilt/wast-lexer-gen.cc" +yy589: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 529 "src/wast-lexer.cc" +#line 532 "src/wast-lexer.cc" { RETURN(Invoke); } -#line 3876 "src/prebuilt/wast-lexer-gen.cc" -yy583: +#line 3912 "src/prebuilt/wast-lexer-gen.cc" +yy591: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 520 "src/wast-lexer.cc" +#line 523 "src/wast-lexer.cc" { RETURN(Memory); } -#line 3884 "src/prebuilt/wast-lexer-gen.cc" -yy585: +#line 3920 "src/prebuilt/wast-lexer-gen.cc" +yy593: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 516 "src/wast-lexer.cc" +#line 519 "src/wast-lexer.cc" { RETURN(Module); } -#line 3892 "src/prebuilt/wast-lexer-gen.cc" -yy587: +#line 3928 "src/prebuilt/wast-lexer-gen.cc" +yy595: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; @@ -3901,764 +3937,772 @@ yy587: if (yych <= '\'') goto yy86; if (yych <= ')') goto yy88; if (yych <= '/') goto yy86; - goto yy741; + goto yy751; } } else { if (yych <= 'F') { if (yych == ';') goto yy88; if (yych <= '@') goto yy86; - goto yy741; + goto yy751; } else { if (yych <= '`') goto yy86; - if (yych <= 'f') goto yy741; + if (yych <= 'f') goto yy751; if (yych <= '~') goto yy86; goto yy88; } } -yy588: +yy596: ++cursor_; if ((yych = *cursor_) <= ')') { if (yych <= '!') { if (yych >= '!') goto yy86; } else { - if (yych <= '"') goto yy589; + if (yych <= '"') goto yy597; if (yych <= '\'') goto yy86; } } else { if (yych <= '<') { if (yych != ';') goto yy86; } else { - if (yych <= '=') goto yy743; + if (yych <= '=') goto yy753; if (yych <= '~') goto yy86; } } -yy589: -#line 524 "src/wast-lexer.cc" +yy597: +#line 527 "src/wast-lexer.cc" { RETURN(Offset); } -#line 3939 "src/prebuilt/wast-lexer-gen.cc" -yy590: +#line 3975 "src/prebuilt/wast-lexer-gen.cc" +yy598: yych = *++cursor_; - if (yych == 'e') goto yy744; + if (yych == 'e') goto yy754; goto yy87; -yy591: +yy599: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 513 "src/wast-lexer.cc" +#line 516 "src/wast-lexer.cc" { RETURN(Result); } -#line 3951 "src/prebuilt/wast-lexer-gen.cc" -yy593: +#line 3987 "src/prebuilt/wast-lexer-gen.cc" +yy601: yych = *++cursor_; - if (yych == 'w') goto yy745; + if (yych == 'w') goto yy755; goto yy87; -yy594: +yy602: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 270 "src/wast-lexer.cc" { RETURN_OPCODE0(Return); } -#line 3963 "src/prebuilt/wast-lexer-gen.cc" -yy596: +#line 3999 "src/prebuilt/wast-lexer-gen.cc" +yy604: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 441 "src/wast-lexer.cc" { RETURN_OPCODE0(Select); } -#line 3971 "src/prebuilt/wast-lexer-gen.cc" -yy598: +#line 4007 "src/prebuilt/wast-lexer-gen.cc" +yy606: yych = *++cursor_; - if (yych == 'o') goto yy747; + if (yych == 'o') goto yy757; goto yy87; -yy599: +yy607: yych = *++cursor_; - if (yych == 'c') goto yy748; + if (yych == 'c') goto yy758; goto yy87; -yy600: +yy608: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 545 "src/wast-lexer.cc" +#line 548 "src/wast-lexer.cc" { RETURN(Shared); } -#line 3987 "src/prebuilt/wast-lexer-gen.cc" -yy602: +#line 4023 "src/prebuilt/wast-lexer-gen.cc" +yy610: yych = *++cursor_; - if (yych == 'c') goto yy749; + if (yych == 'c') goto yy759; goto yy87; -yy603: +yy611: yych = *++cursor_; - if (yych == 'h') goto yy750; + if (yych == 'h') goto yy760; goto yy87; -yy604: +yy612: ++cursor_; if ((yych = *cursor_) <= '9') { if (yych <= '"') { if (yych == '!') goto yy86; } else { if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy605; + if (yych <= ')') goto yy613; if (yych <= '/') goto yy86; - goto yy606; + goto yy614; } } else { if (yych <= '_') { - if (yych == ';') goto yy605; + if (yych == ';') goto yy613; if (yych <= '^') goto yy86; - goto yy751; + goto yy761; } else { - if (yych == 'x') goto yy752; + if (yych == 'x') goto yy762; if (yych <= '~') goto yy86; } } -yy605: +yy613: #line 300 "src/wast-lexer.cc" { RETURN_TEXT_AT(AlignEqNat, 6); } -#line 4020 "src/prebuilt/wast-lexer-gen.cc" -yy606: +#line 4056 "src/prebuilt/wast-lexer-gen.cc" +yy614: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; if (yych <= '/') { if (yych <= '"') { if (yych == '!') goto yy86; - goto yy605; + goto yy613; } else { if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy605; + if (yych <= ')') goto yy613; goto yy86; } } else { if (yych <= ';') { - if (yych <= '9') goto yy606; + if (yych <= '9') goto yy614; if (yych <= ':') goto yy86; - goto yy605; + goto yy613; } else { - if (yych == '_') goto yy751; + if (yych == '_') goto yy761; if (yych <= '~') goto yy86; - goto yy605; + goto yy613; } } -yy608: +yy616: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 255 "src/wast-lexer.cc" { RETURN(Anyfunc); } -#line 4052 "src/prebuilt/wast-lexer-gen.cc" -yy610: +#line 4088 "src/prebuilt/wast-lexer-gen.cc" +yy618: yych = *++cursor_; switch (yych) { - case 'e': goto yy753; - case 'i': goto yy754; - case 'm': goto yy755; - case 'r': goto yy756; - case 't': goto yy757; - case 'u': goto yy758; + case 'e': goto yy763; + case 'i': goto yy764; + case 'm': goto yy765; + case 'r': goto yy766; + case 't': goto yy767; + case 'u': goto yy768; default: goto yy87; } -yy611: +yy619: yych = *++cursor_; - if (yych == 'e') goto yy759; + if (yych == 'e') goto yy769; goto yy87; -yy612: +yy620: yych = *++cursor_; - if (yych == 'd') goto yy761; + if (yych == 'd') goto yy771; goto yy87; -yy613: +yy621: yych = *++cursor_; - if (yych == 'l') goto yy762; + if (yych == 'l') goto yy772; goto yy87; -yy614: +yy622: yych = *++cursor_; - if (yych == '_') goto yy763; + if (yych == '_') goto yy773; goto yy87; -yy615: +yy623: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 315 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F32Abs); } -#line 4087 "src/prebuilt/wast-lexer-gen.cc" -yy617: +#line 4123 "src/prebuilt/wast-lexer-gen.cc" +yy625: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 362 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F32Add); } -#line 4095 "src/prebuilt/wast-lexer-gen.cc" -yy619: +#line 4131 "src/prebuilt/wast-lexer-gen.cc" +yy627: yych = *++cursor_; - if (yych == 'l') goto yy764; + if (yych == 'l') goto yy774; goto yy87; -yy620: +yy628: yych = *++cursor_; - if (yych == 's') goto yy766; - if (yych == 'v') goto yy767; + if (yych == 's') goto yy776; + if (yych == 'v') goto yy777; goto yy87; -yy621: +yy629: yych = *++cursor_; - if (yych == 'y') goto yy768; + if (yych == 'y') goto yy778; goto yy87; -yy622: +yy630: yych = *++cursor_; - if (yych == 'o') goto yy769; + if (yych == 'o') goto yy779; goto yy87; -yy623: +yy631: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 368 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F32Div); } -#line 4120 "src/prebuilt/wast-lexer-gen.cc" -yy625: +#line 4156 "src/prebuilt/wast-lexer-gen.cc" +yy633: yych = *++cursor_; - if (yych == 'o') goto yy770; + if (yych == 'o') goto yy780; goto yy87; -yy626: +yy634: yych = *++cursor_; - if (yych == 'd') goto yy771; + if (yych == 'd') goto yy781; goto yy87; -yy627: +yy635: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 372 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F32Max); } -#line 4136 "src/prebuilt/wast-lexer-gen.cc" -yy629: +#line 4172 "src/prebuilt/wast-lexer-gen.cc" +yy637: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 370 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F32Min); } -#line 4144 "src/prebuilt/wast-lexer-gen.cc" -yy631: +#line 4180 "src/prebuilt/wast-lexer-gen.cc" +yy639: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 366 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F32Mul); } -#line 4152 "src/prebuilt/wast-lexer-gen.cc" -yy633: +#line 4188 "src/prebuilt/wast-lexer-gen.cc" +yy641: yych = *++cursor_; - if (yych == 'r') goto yy773; + if (yych == 'r') goto yy783; goto yy87; -yy634: +yy642: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 313 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F32Neg); } -#line 4164 "src/prebuilt/wast-lexer-gen.cc" -yy636: +#line 4200 "src/prebuilt/wast-lexer-gen.cc" +yy644: yych = *++cursor_; - if (yych == 'n') goto yy774; + if (yych == 'n') goto yy784; goto yy87; -yy637: +yy645: yych = *++cursor_; - if (yych == 't') goto yy775; + if (yych == 't') goto yy785; goto yy87; -yy638: +yy646: yych = *++cursor_; - if (yych == 'r') goto yy777; + if (yych == 'r') goto yy787; goto yy87; -yy639: +yy647: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 364 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F32Sub); } -#line 4184 "src/prebuilt/wast-lexer-gen.cc" -yy641: +#line 4220 "src/prebuilt/wast-lexer-gen.cc" +yy649: yych = *++cursor_; - if (yych == 'n') goto yy778; + if (yych == 'n') goto yy788; goto yy87; -yy642: +yy650: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 316 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F64Abs); } -#line 4196 "src/prebuilt/wast-lexer-gen.cc" -yy644: +#line 4232 "src/prebuilt/wast-lexer-gen.cc" +yy652: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 363 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F64Add); } -#line 4204 "src/prebuilt/wast-lexer-gen.cc" -yy646: +#line 4240 "src/prebuilt/wast-lexer-gen.cc" +yy654: yych = *++cursor_; - if (yych == 'l') goto yy779; + if (yych == 'l') goto yy789; goto yy87; -yy647: +yy655: yych = *++cursor_; - if (yych == 's') goto yy781; - if (yych == 'v') goto yy782; + if (yych == 's') goto yy791; + if (yych == 'v') goto yy792; goto yy87; -yy648: +yy656: yych = *++cursor_; - if (yych == 'y') goto yy783; + if (yych == 'y') goto yy793; goto yy87; -yy649: +yy657: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 369 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F64Div); } -#line 4225 "src/prebuilt/wast-lexer-gen.cc" -yy651: +#line 4261 "src/prebuilt/wast-lexer-gen.cc" +yy659: yych = *++cursor_; - if (yych == 'o') goto yy784; + if (yych == 'o') goto yy794; goto yy87; -yy652: +yy660: yych = *++cursor_; - if (yych == 'd') goto yy785; + if (yych == 'd') goto yy795; goto yy87; -yy653: +yy661: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 373 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F64Max); } -#line 4241 "src/prebuilt/wast-lexer-gen.cc" -yy655: +#line 4277 "src/prebuilt/wast-lexer-gen.cc" +yy663: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 371 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F64Min); } -#line 4249 "src/prebuilt/wast-lexer-gen.cc" -yy657: +#line 4285 "src/prebuilt/wast-lexer-gen.cc" +yy665: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 367 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F64Mul); } -#line 4257 "src/prebuilt/wast-lexer-gen.cc" -yy659: +#line 4293 "src/prebuilt/wast-lexer-gen.cc" +yy667: yych = *++cursor_; - if (yych == 'r') goto yy787; + if (yych == 'r') goto yy797; goto yy87; -yy660: +yy668: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 314 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F64Neg); } -#line 4269 "src/prebuilt/wast-lexer-gen.cc" -yy662: +#line 4305 "src/prebuilt/wast-lexer-gen.cc" +yy670: yych = *++cursor_; - if (yych == 'm') goto yy788; + if (yych == 'm') goto yy798; goto yy87; -yy663: +yy671: yych = *++cursor_; - if (yych == 'n') goto yy789; + if (yych == 'n') goto yy799; goto yy87; -yy664: +yy672: yych = *++cursor_; - if (yych == 't') goto yy790; + if (yych == 't') goto yy800; goto yy87; -yy665: +yy673: yych = *++cursor_; - if (yych == 'r') goto yy792; + if (yych == 'r') goto yy802; goto yy87; -yy666: +yy674: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 365 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F64Sub); } -#line 4293 "src/prebuilt/wast-lexer-gen.cc" -yy668: +#line 4329 "src/prebuilt/wast-lexer-gen.cc" +yy676: yych = *++cursor_; - if (yych == 'n') goto yy793; + if (yych == 'n') goto yy803; goto yy87; -yy669: +yy677: yych = *++cursor_; - if (yych == 'b') goto yy794; + if (yych == 'b') goto yy804; goto yy87; -yy670: +yy678: yych = *++cursor_; - if (yych == 'a') goto yy795; + if (yych == 'a') goto yy805; goto yy87; -yy671: +yy679: yych = *++cursor_; - if (yych == 'm') goto yy796; + if (yych == 'm') goto yy806; goto yy87; -yy672: +yy680: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 332 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32Add); } -#line 4317 "src/prebuilt/wast-lexer-gen.cc" -yy674: +#line 4353 "src/prebuilt/wast-lexer-gen.cc" +yy682: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 346 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32And); } -#line 4325 "src/prebuilt/wast-lexer-gen.cc" -yy676: +#line 4361 "src/prebuilt/wast-lexer-gen.cc" +yy684: yych = *++cursor_; - if (yych == 'm') goto yy797; + if (yych == 'm') goto yy807; goto yy87; -yy677: +yy685: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 307 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, I32Clz); } -#line 4337 "src/prebuilt/wast-lexer-gen.cc" -yy679: +#line 4373 "src/prebuilt/wast-lexer-gen.cc" +yy687: yych = *++cursor_; - if (yych == 's') goto yy798; + if (yych == 's') goto yy808; goto yy87; -yy680: +yy688: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 309 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, I32Ctz); } -#line 4349 "src/prebuilt/wast-lexer-gen.cc" -yy682: +#line 4385 "src/prebuilt/wast-lexer-gen.cc" +yy690: yych = *++cursor_; - if (yych == '_') goto yy799; + if (yych == '_') goto yy809; goto yy87; -yy683: +yy691: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 305 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I32Eqz); } -#line 4361 "src/prebuilt/wast-lexer-gen.cc" -yy685: +#line 4397 "src/prebuilt/wast-lexer-gen.cc" +yy693: yych = *++cursor_; - if (yych == 'e') goto yy800; + if (yych == 'e') goto yy810; goto yy87; -yy686: +yy694: yych = *++cursor_; - if (yych == 's') goto yy801; - if (yych == 'u') goto yy803; + if (yych == 's') goto yy811; + if (yych == 'u') goto yy813; goto yy87; -yy687: +yy695: yych = *++cursor_; - if (yych == 's') goto yy805; - if (yych == 'u') goto yy807; + if (yych == 's') goto yy815; + if (yych == 'u') goto yy817; goto yy87; -yy688: +yy696: yych = *++cursor_; - if (yych == 's') goto yy809; - if (yych == 'u') goto yy811; + if (yych == 's') goto yy819; + if (yych == 'u') goto yy821; goto yy87; -yy689: +yy697: yych = *++cursor_; - if (yych == 'd') goto yy813; + if (yych == 'd') goto yy823; goto yy87; -yy690: +yy698: yych = *++cursor_; - if (yych == 's') goto yy815; - if (yych == 'u') goto yy817; + if (yych == 's') goto yy825; + if (yych == 'u') goto yy827; goto yy87; -yy691: +yy699: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 336 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32Mul); } -#line 4397 "src/prebuilt/wast-lexer-gen.cc" -yy693: +#line 4433 "src/prebuilt/wast-lexer-gen.cc" +yy701: yych = *++cursor_; - if (yych == 'c') goto yy819; + if (yych == 'c') goto yy829; goto yy87; -yy694: +yy702: yych = *++cursor_; - if (yych == 'n') goto yy820; + if (yych == 'n') goto yy830; goto yy87; -yy695: +yy703: yych = *++cursor_; - if (yych == '_') goto yy821; + if (yych == '_') goto yy831; goto yy87; -yy696: +yy704: yych = *++cursor_; - if (yych == 'l') goto yy822; - if (yych == 'r') goto yy824; + if (yych == 'l') goto yy832; + if (yych == 'r') goto yy834; goto yy87; -yy697: +yy705: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 352 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32Shl); } -#line 4422 "src/prebuilt/wast-lexer-gen.cc" -yy699: +#line 4458 "src/prebuilt/wast-lexer-gen.cc" +yy707: yych = *++cursor_; - if (yych == '_') goto yy826; + if (yych == '_') goto yy836; goto yy87; -yy700: +yy708: yych = *++cursor_; - if (yych == 'r') goto yy827; + if (yych == 'r') goto yy837; goto yy87; -yy701: +yy709: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 334 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32Sub); } -#line 4438 "src/prebuilt/wast-lexer-gen.cc" -yy703: +#line 4474 "src/prebuilt/wast-lexer-gen.cc" +yy711: yych = *++cursor_; - if (yych == 'n') goto yy828; + if (yych == 'n') goto yy838; goto yy87; -yy704: +yy712: yych = *++cursor_; - if (yych == 'p') goto yy829; + if (yych == 't') goto yy839; goto yy87; -yy705: +yy713: + yych = *++cursor_; + if (yych == 'p') goto yy841; + goto yy87; +yy714: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 350 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32Xor); } -#line 4454 "src/prebuilt/wast-lexer-gen.cc" -yy707: +#line 4494 "src/prebuilt/wast-lexer-gen.cc" +yy716: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 333 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64Add); } -#line 4462 "src/prebuilt/wast-lexer-gen.cc" -yy709: +#line 4502 "src/prebuilt/wast-lexer-gen.cc" +yy718: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 347 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64And); } -#line 4470 "src/prebuilt/wast-lexer-gen.cc" -yy711: +#line 4510 "src/prebuilt/wast-lexer-gen.cc" +yy720: yych = *++cursor_; - if (yych == 'm') goto yy830; + if (yych == 'm') goto yy842; goto yy87; -yy712: +yy721: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 308 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, I64Clz); } -#line 4482 "src/prebuilt/wast-lexer-gen.cc" -yy714: +#line 4522 "src/prebuilt/wast-lexer-gen.cc" +yy723: yych = *++cursor_; - if (yych == 's') goto yy831; + if (yych == 's') goto yy843; goto yy87; -yy715: +yy724: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 310 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, I64Ctz); } -#line 4494 "src/prebuilt/wast-lexer-gen.cc" -yy717: +#line 4534 "src/prebuilt/wast-lexer-gen.cc" +yy726: yych = *++cursor_; - if (yych == '_') goto yy832; + if (yych == '_') goto yy844; goto yy87; -yy718: +yy727: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 306 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I64Eqz); } -#line 4506 "src/prebuilt/wast-lexer-gen.cc" -yy720: +#line 4546 "src/prebuilt/wast-lexer-gen.cc" +yy729: yych = *++cursor_; - if (yych == 'e') goto yy833; + if (yych == 'e') goto yy845; goto yy87; -yy721: +yy730: yych = *++cursor_; - if (yych == 's') goto yy834; - if (yych == 'u') goto yy836; + if (yych == 's') goto yy846; + if (yych == 'u') goto yy848; goto yy87; -yy722: +yy731: yych = *++cursor_; - if (yych == 's') goto yy838; - if (yych == 'u') goto yy840; + if (yych == 's') goto yy850; + if (yych == 'u') goto yy852; goto yy87; -yy723: +yy732: yych = *++cursor_; - if (yych == 's') goto yy842; - if (yych == 'u') goto yy844; + if (yych == 's') goto yy854; + if (yych == 'u') goto yy856; goto yy87; -yy724: +yy733: yych = *++cursor_; - if (yych == 'd') goto yy846; + if (yych == 'd') goto yy858; goto yy87; -yy725: +yy734: yych = *++cursor_; - if (yych == 's') goto yy848; - if (yych == 'u') goto yy850; + if (yych == 's') goto yy860; + if (yych == 'u') goto yy862; goto yy87; -yy726: +yy735: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 337 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64Mul); } -#line 4542 "src/prebuilt/wast-lexer-gen.cc" -yy728: +#line 4582 "src/prebuilt/wast-lexer-gen.cc" +yy737: yych = *++cursor_; - if (yych == 'c') goto yy852; + if (yych == 'c') goto yy864; goto yy87; -yy729: +yy738: yych = *++cursor_; - if (yych == 'n') goto yy853; + if (yych == 'n') goto yy865; goto yy87; -yy730: +yy739: yych = *++cursor_; - if (yych == '_') goto yy854; + if (yych == '_') goto yy866; goto yy87; -yy731: +yy740: yych = *++cursor_; - if (yych == 'l') goto yy855; - if (yych == 'r') goto yy857; + if (yych == 'l') goto yy867; + if (yych == 'r') goto yy869; goto yy87; -yy732: +yy741: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 353 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64Shl); } -#line 4567 "src/prebuilt/wast-lexer-gen.cc" -yy734: +#line 4607 "src/prebuilt/wast-lexer-gen.cc" +yy743: yych = *++cursor_; - if (yych == '_') goto yy859; + if (yych == '_') goto yy871; goto yy87; -yy735: +yy744: yych = *++cursor_; - if (yych == 'r') goto yy860; + if (yych == 'r') goto yy872; goto yy87; -yy736: +yy745: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 335 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64Sub); } -#line 4583 "src/prebuilt/wast-lexer-gen.cc" -yy738: +#line 4623 "src/prebuilt/wast-lexer-gen.cc" +yy747: yych = *++cursor_; - if (yych == 'n') goto yy861; + if (yych == 'n') goto yy873; goto yy87; -yy739: +yy748: + yych = *++cursor_; + if (yych == 't') goto yy874; + goto yy87; +yy749: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 351 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64Xor); } -#line 4595 "src/prebuilt/wast-lexer-gen.cc" -yy741: +#line 4639 "src/prebuilt/wast-lexer-gen.cc" +yy751: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; if (yych <= ':') { if (yych <= '\'') { if (yych == '!') goto yy86; - if (yych <= '"') goto yy257; + if (yych <= '"') goto yy259; goto yy86; } else { - if (yych <= ')') goto yy257; + if (yych <= ')') goto yy259; if (yych <= '/') goto yy86; - if (yych <= '9') goto yy741; + if (yych <= '9') goto yy751; goto yy86; } } else { if (yych <= '^') { - if (yych <= ';') goto yy257; + if (yych <= ';') goto yy259; if (yych <= '@') goto yy86; - if (yych <= 'F') goto yy741; + if (yych <= 'F') goto yy751; goto yy86; } else { if (yych <= '`') { - if (yych <= '_') goto yy587; + if (yych <= '_') goto yy595; goto yy86; } else { - if (yych <= 'f') goto yy741; + if (yych <= 'f') goto yy751; if (yych <= '~') goto yy86; - goto yy257; + goto yy259; } } } -yy743: +yy753: yych = *++cursor_; if (yych <= '/') goto yy87; - if (yych <= '0') goto yy862; - if (yych <= '9') goto yy864; + if (yych <= '0') goto yy876; + if (yych <= '9') goto yy878; goto yy87; -yy744: +yy754: yych = *++cursor_; - if (yych == 'r') goto yy866; + if (yych == 'r') goto yy880; goto yy87; -yy745: +yy755: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 543 "src/wast-lexer.cc" +#line 546 "src/wast-lexer.cc" { RETURN_OPCODE0(Rethrow); } -#line 4645 "src/prebuilt/wast-lexer-gen.cc" -yy747: +#line 4689 "src/prebuilt/wast-lexer-gen.cc" +yy757: yych = *++cursor_; - if (yych == 'b') goto yy868; + if (yych == 'b') goto yy882; goto yy87; -yy748: +yy758: yych = *++cursor_; - if (yych == 'a') goto yy869; + if (yych == 'a') goto yy883; goto yy87; -yy749: +yy759: yych = *++cursor_; - if (yych == 'a') goto yy870; + if (yych == 'a') goto yy884; goto yy87; -yy750: +yy760: yych = *++cursor_; - if (yych == 'a') goto yy871; + if (yych == 'a') goto yy885; goto yy87; -yy751: +yy761: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; @@ -4674,7 +4718,7 @@ yy751: } else { if (yych <= ':') { if (yych <= '/') goto yy86; - if (yych <= '9') goto yy606; + if (yych <= '9') goto yy614; goto yy86; } else { if (yych <= ';') goto yy88; @@ -4682,7 +4726,7 @@ yy751: goto yy88; } } -yy752: +yy762: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; @@ -4694,262 +4738,262 @@ yy752: if (yych <= '\'') goto yy86; if (yych <= ')') goto yy88; if (yych <= '/') goto yy86; - goto yy872; + goto yy886; } } else { if (yych <= 'F') { if (yych == ';') goto yy88; if (yych <= '@') goto yy86; - goto yy872; + goto yy886; } else { if (yych <= '`') goto yy86; - if (yych <= 'f') goto yy872; + if (yych <= 'f') goto yy886; if (yych <= '~') goto yy86; goto yy88; } } -yy753: +yy763: yych = *++cursor_; - if (yych == 'x') goto yy874; + if (yych == 'x') goto yy888; goto yy87; -yy754: +yy764: yych = *++cursor_; - if (yych == 'n') goto yy875; + if (yych == 'n') goto yy889; goto yy87; -yy755: +yy765: yych = *++cursor_; - if (yych == 'a') goto yy876; + if (yych == 'a') goto yy890; goto yy87; -yy756: +yy766: yych = *++cursor_; - if (yych == 'e') goto yy877; + if (yych == 'e') goto yy891; goto yy87; -yy757: +yy767: yych = *++cursor_; - if (yych == 'r') goto yy878; + if (yych == 'r') goto yy892; goto yy87; -yy758: +yy768: yych = *++cursor_; - if (yych == 'n') goto yy879; + if (yych == 'n') goto yy893; goto yy87; -yy759: +yy769: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 265 "src/wast-lexer.cc" { RETURN_OPCODE0(BrTable); } -#line 4743 "src/prebuilt/wast-lexer-gen.cc" -yy761: +#line 4787 "src/prebuilt/wast-lexer-gen.cc" +yy771: yych = *++cursor_; - if (yych == 'i') goto yy880; + if (yych == 'i') goto yy894; goto yy87; -yy762: +yy772: yych = *++cursor_; - if (yych == 'l') goto yy881; + if (yych == 'l') goto yy895; goto yy87; -yy763: +yy773: yych = *++cursor_; - if (yych == 'm') goto yy883; + if (yych == 'm') goto yy897; goto yy87; -yy764: +yy774: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 319 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F32Ceil); } -#line 4763 "src/prebuilt/wast-lexer-gen.cc" -yy766: +#line 4807 "src/prebuilt/wast-lexer-gen.cc" +yy776: yych = *++cursor_; - if (yych == 't') goto yy884; + if (yych == 't') goto yy898; goto yy87; -yy767: +yy777: yych = *++cursor_; - if (yych == 'e') goto yy886; + if (yych == 'e') goto yy900; goto yy87; -yy768: +yy778: yych = *++cursor_; - if (yych == 's') goto yy887; + if (yych == 's') goto yy901; goto yy87; -yy769: +yy779: yych = *++cursor_; - if (yych == 't') goto yy888; + if (yych == 't') goto yy902; goto yy87; -yy770: +yy780: yych = *++cursor_; - if (yych == 'r') goto yy889; + if (yych == 'r') goto yy903; goto yy87; -yy771: +yy781: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 278 "src/wast-lexer.cc" { RETURN_OPCODE(Load, F32Load); } -#line 4791 "src/prebuilt/wast-lexer-gen.cc" -yy773: +#line 4835 "src/prebuilt/wast-lexer-gen.cc" +yy783: yych = *++cursor_; - if (yych == 'e') goto yy891; + if (yych == 'e') goto yy905; goto yy87; -yy774: +yy784: yych = *++cursor_; - if (yych == 't') goto yy892; + if (yych == 't') goto yy906; goto yy87; -yy775: +yy785: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 317 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F32Sqrt); } -#line 4807 "src/prebuilt/wast-lexer-gen.cc" -yy777: +#line 4851 "src/prebuilt/wast-lexer-gen.cc" +yy787: yych = *++cursor_; - if (yych == 'e') goto yy893; + if (yych == 'e') goto yy907; goto yy87; -yy778: +yy788: yych = *++cursor_; - if (yych == 'c') goto yy895; + if (yych == 'c') goto yy909; goto yy87; -yy779: +yy789: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 320 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F64Ceil); } -#line 4823 "src/prebuilt/wast-lexer-gen.cc" -yy781: +#line 4867 "src/prebuilt/wast-lexer-gen.cc" +yy791: yych = *++cursor_; - if (yych == 't') goto yy897; + if (yych == 't') goto yy911; goto yy87; -yy782: +yy792: yych = *++cursor_; - if (yych == 'e') goto yy899; + if (yych == 'e') goto yy913; goto yy87; -yy783: +yy793: yych = *++cursor_; - if (yych == 's') goto yy900; + if (yych == 's') goto yy914; goto yy87; -yy784: +yy794: yych = *++cursor_; - if (yych == 'r') goto yy901; + if (yych == 'r') goto yy915; goto yy87; -yy785: +yy795: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 279 "src/wast-lexer.cc" { RETURN_OPCODE(Load, F64Load); } -#line 4847 "src/prebuilt/wast-lexer-gen.cc" -yy787: +#line 4891 "src/prebuilt/wast-lexer-gen.cc" +yy797: yych = *++cursor_; - if (yych == 'e') goto yy903; + if (yych == 'e') goto yy917; goto yy87; -yy788: +yy798: yych = *++cursor_; - if (yych == 'o') goto yy904; + if (yych == 'o') goto yy918; goto yy87; -yy789: +yy799: yych = *++cursor_; - if (yych == 't') goto yy905; + if (yych == 't') goto yy919; goto yy87; -yy790: +yy800: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 318 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F64Sqrt); } -#line 4867 "src/prebuilt/wast-lexer-gen.cc" -yy792: +#line 4911 "src/prebuilt/wast-lexer-gen.cc" +yy802: yych = *++cursor_; - if (yych == 'e') goto yy906; + if (yych == 'e') goto yy920; goto yy87; -yy793: +yy803: yych = *++cursor_; - if (yych == 'c') goto yy908; + if (yych == 'c') goto yy922; goto yy87; -yy794: +yy804: yych = *++cursor_; - if (yych == 'a') goto yy910; + if (yych == 'a') goto yy924; goto yy87; -yy795: +yy805: yych = *++cursor_; - if (yych == 'l') goto yy911; + if (yych == 'l') goto yy925; goto yy87; -yy796: +yy806: yych = *++cursor_; - if (yych == 'o') goto yy913; + if (yych == 'o') goto yy927; goto yy87; -yy797: +yy807: yych = *++cursor_; - if (yych == 'i') goto yy914; + if (yych == 'i') goto yy928; goto yy87; -yy798: +yy808: yych = *++cursor_; - if (yych == 't') goto yy915; + if (yych == 't') goto yy929; goto yy87; -yy799: +yy809: yych = *++cursor_; - if (yych == 's') goto yy917; - if (yych == 'u') goto yy919; + if (yych == 's') goto yy931; + if (yych == 'u') goto yy933; goto yy87; -yy800: +yy810: yych = *++cursor_; - if (yych == 'n') goto yy921; + if (yych == 'n') goto yy935; goto yy87; -yy801: +yy811: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 392 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I32GeS); } -#line 4912 "src/prebuilt/wast-lexer-gen.cc" -yy803: +#line 4956 "src/prebuilt/wast-lexer-gen.cc" +yy813: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 394 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I32GeU); } -#line 4920 "src/prebuilt/wast-lexer-gen.cc" -yy805: +#line 4964 "src/prebuilt/wast-lexer-gen.cc" +yy815: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 388 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I32GtS); } -#line 4928 "src/prebuilt/wast-lexer-gen.cc" -yy807: +#line 4972 "src/prebuilt/wast-lexer-gen.cc" +yy817: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 390 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I32GtU); } -#line 4936 "src/prebuilt/wast-lexer-gen.cc" -yy809: +#line 4980 "src/prebuilt/wast-lexer-gen.cc" +yy819: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 384 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I32LeS); } -#line 4944 "src/prebuilt/wast-lexer-gen.cc" -yy811: +#line 4988 "src/prebuilt/wast-lexer-gen.cc" +yy821: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 386 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I32LeU); } -#line 4952 "src/prebuilt/wast-lexer-gen.cc" -yy813: +#line 4996 "src/prebuilt/wast-lexer-gen.cc" +yy823: ++cursor_; if ((yych = *cursor_) <= '0') { if (yych <= '"') { @@ -4960,574 +5004,590 @@ yy813: } } else { if (yych <= '8') { - if (yych <= '1') goto yy922; + if (yych <= '1') goto yy936; if (yych <= '7') goto yy86; - goto yy923; + goto yy937; } else { - if (yych == ';') goto yy814; + if (yych == ';') goto yy824; if (yych <= '~') goto yy86; } } -yy814: +yy824: #line 276 "src/wast-lexer.cc" { RETURN_OPCODE(Load, I32Load); } -#line 4975 "src/prebuilt/wast-lexer-gen.cc" -yy815: +#line 5019 "src/prebuilt/wast-lexer-gen.cc" +yy825: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 380 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I32LtS); } -#line 4983 "src/prebuilt/wast-lexer-gen.cc" -yy817: +#line 5027 "src/prebuilt/wast-lexer-gen.cc" +yy827: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 382 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I32LtU); } -#line 4991 "src/prebuilt/wast-lexer-gen.cc" -yy819: +#line 5035 "src/prebuilt/wast-lexer-gen.cc" +yy829: yych = *++cursor_; - if (yych == 'n') goto yy924; + if (yych == 'n') goto yy938; goto yy87; -yy820: +yy830: yych = *++cursor_; - if (yych == 't') goto yy925; + if (yych == 't') goto yy939; goto yy87; -yy821: +yy831: yych = *++cursor_; - if (yych == 's') goto yy926; - if (yych == 'u') goto yy928; + if (yych == 's') goto yy940; + if (yych == 'u') goto yy942; goto yy87; -yy822: +yy832: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 358 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32Rotl); } -#line 5012 "src/prebuilt/wast-lexer-gen.cc" -yy824: +#line 5056 "src/prebuilt/wast-lexer-gen.cc" +yy834: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 360 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32Rotr); } -#line 5020 "src/prebuilt/wast-lexer-gen.cc" -yy826: +#line 5064 "src/prebuilt/wast-lexer-gen.cc" +yy836: yych = *++cursor_; - if (yych == 's') goto yy930; - if (yych == 'u') goto yy932; + if (yych == 's') goto yy944; + if (yych == 'u') goto yy946; goto yy87; -yy827: +yy837: yych = *++cursor_; - if (yych == 'e') goto yy934; + if (yych == 'e') goto yy948; goto yy87; -yy828: +yy838: yych = *++cursor_; - if (yych == 'c') goto yy936; + if (yych == 'c') goto yy950; goto yy87; -yy829: +yy839: + ++cursor_; + if (yybm[0+(yych = *cursor_)] & 8) { + goto yy86; + } +#line 446 "src/wast-lexer.cc" + { RETURN_OPCODE(Wait, I32Wait); } +#line 5085 "src/prebuilt/wast-lexer-gen.cc" +yy841: yych = *++cursor_; - if (yych == '/') goto yy937; + if (yych == '/') goto yy951; goto yy87; -yy830: +yy842: yych = *++cursor_; - if (yych == 'i') goto yy938; + if (yych == 'i') goto yy952; goto yy87; -yy831: +yy843: yych = *++cursor_; - if (yych == 't') goto yy939; + if (yych == 't') goto yy953; goto yy87; -yy832: +yy844: yych = *++cursor_; - if (yych == 's') goto yy941; - if (yych == 'u') goto yy943; + if (yych == 's') goto yy955; + if (yych == 'u') goto yy957; goto yy87; -yy833: +yy845: yych = *++cursor_; - if (yych == 'n') goto yy945; + if (yych == 'n') goto yy959; goto yy87; -yy834: +yy846: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 393 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I64GeS); } -#line 5062 "src/prebuilt/wast-lexer-gen.cc" -yy836: +#line 5114 "src/prebuilt/wast-lexer-gen.cc" +yy848: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 395 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I64GeU); } -#line 5070 "src/prebuilt/wast-lexer-gen.cc" -yy838: +#line 5122 "src/prebuilt/wast-lexer-gen.cc" +yy850: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 389 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I64GtS); } -#line 5078 "src/prebuilt/wast-lexer-gen.cc" -yy840: +#line 5130 "src/prebuilt/wast-lexer-gen.cc" +yy852: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 391 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I64GtU); } -#line 5086 "src/prebuilt/wast-lexer-gen.cc" -yy842: +#line 5138 "src/prebuilt/wast-lexer-gen.cc" +yy854: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 385 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I64LeS); } -#line 5094 "src/prebuilt/wast-lexer-gen.cc" -yy844: +#line 5146 "src/prebuilt/wast-lexer-gen.cc" +yy856: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 387 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I64LeU); } -#line 5102 "src/prebuilt/wast-lexer-gen.cc" -yy846: +#line 5154 "src/prebuilt/wast-lexer-gen.cc" +yy858: ++cursor_; if ((yych = *cursor_) <= '1') { if (yych <= '"') { if (yych == '!') goto yy86; } else { if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy847; + if (yych <= ')') goto yy859; if (yych <= '0') goto yy86; - goto yy946; + goto yy960; } } else { if (yych <= '8') { - if (yych == '3') goto yy947; + if (yych == '3') goto yy961; if (yych <= '7') goto yy86; - goto yy948; + goto yy962; } else { - if (yych == ';') goto yy847; + if (yych == ';') goto yy859; if (yych <= '~') goto yy86; } } -yy847: +yy859: #line 277 "src/wast-lexer.cc" { RETURN_OPCODE(Load, I64Load); } -#line 5127 "src/prebuilt/wast-lexer-gen.cc" -yy848: +#line 5179 "src/prebuilt/wast-lexer-gen.cc" +yy860: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 381 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I64LtS); } -#line 5135 "src/prebuilt/wast-lexer-gen.cc" -yy850: +#line 5187 "src/prebuilt/wast-lexer-gen.cc" +yy862: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 383 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I64LtU); } -#line 5143 "src/prebuilt/wast-lexer-gen.cc" -yy852: +#line 5195 "src/prebuilt/wast-lexer-gen.cc" +yy864: yych = *++cursor_; - if (yych == 'n') goto yy949; + if (yych == 'n') goto yy963; goto yy87; -yy853: +yy865: yych = *++cursor_; - if (yych == 't') goto yy950; + if (yych == 't') goto yy964; goto yy87; -yy854: +yy866: yych = *++cursor_; - if (yych == 's') goto yy951; - if (yych == 'u') goto yy953; + if (yych == 's') goto yy965; + if (yych == 'u') goto yy967; goto yy87; -yy855: +yy867: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 359 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64Rotl); } -#line 5164 "src/prebuilt/wast-lexer-gen.cc" -yy857: +#line 5216 "src/prebuilt/wast-lexer-gen.cc" +yy869: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 361 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64Rotr); } -#line 5172 "src/prebuilt/wast-lexer-gen.cc" -yy859: +#line 5224 "src/prebuilt/wast-lexer-gen.cc" +yy871: yych = *++cursor_; - if (yych == 's') goto yy955; - if (yych == 'u') goto yy957; + if (yych == 's') goto yy969; + if (yych == 'u') goto yy971; goto yy87; -yy860: +yy872: yych = *++cursor_; - if (yych == 'e') goto yy959; + if (yych == 'e') goto yy973; goto yy87; -yy861: +yy873: yych = *++cursor_; - if (yych == 'c') goto yy961; + if (yych == 'c') goto yy975; goto yy87; -yy862: +yy874: + ++cursor_; + if (yybm[0+(yych = *cursor_)] & 8) { + goto yy86; + } +#line 447 "src/wast-lexer.cc" + { RETURN_OPCODE(Wait, I64Wait); } +#line 5245 "src/prebuilt/wast-lexer-gen.cc" +yy876: ++cursor_; if ((yych = *cursor_) <= '9') { if (yych <= '"') { if (yych == '!') goto yy86; } else { if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy863; + if (yych <= ')') goto yy877; if (yych <= '/') goto yy86; - goto yy864; + goto yy878; } } else { if (yych <= '_') { - if (yych == ';') goto yy863; + if (yych == ';') goto yy877; if (yych <= '^') goto yy86; - goto yy962; + goto yy976; } else { - if (yych == 'x') goto yy963; + if (yych == 'x') goto yy977; if (yych <= '~') goto yy86; } } -yy863: +yy877: #line 299 "src/wast-lexer.cc" { RETURN_TEXT_AT(OffsetEqNat, 7); } -#line 5210 "src/prebuilt/wast-lexer-gen.cc" -yy864: +#line 5270 "src/prebuilt/wast-lexer-gen.cc" +yy878: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; if (yych <= '/') { if (yych <= '"') { if (yych == '!') goto yy86; - goto yy863; + goto yy877; } else { if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy863; + if (yych <= ')') goto yy877; goto yy86; } } else { if (yych <= ';') { - if (yych <= '9') goto yy864; + if (yych <= '9') goto yy878; if (yych <= ':') goto yy86; - goto yy863; + goto yy877; } else { - if (yych == '_') goto yy962; + if (yych == '_') goto yy976; if (yych <= '~') goto yy86; - goto yy863; + goto yy877; } } -yy866: +yy880: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 528 "src/wast-lexer.cc" +#line 531 "src/wast-lexer.cc" { RETURN(Register); } -#line 5242 "src/prebuilt/wast-lexer-gen.cc" -yy868: +#line 5302 "src/prebuilt/wast-lexer-gen.cc" +yy882: yych = *++cursor_; - if (yych == 'a') goto yy964; + if (yych == 'a') goto yy978; goto yy87; -yy869: +yy883: yych = *++cursor_; - if (yych == 'l') goto yy965; + if (yych == 'l') goto yy979; goto yy87; -yy870: +yy884: yych = *++cursor_; - if (yych == 'l') goto yy967; + if (yych == 'l') goto yy981; goto yy87; -yy871: +yy885: yych = *++cursor_; - if (yych == 'b') goto yy969; + if (yych == 'b') goto yy983; goto yy87; -yy872: +yy886: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; if (yych <= ':') { if (yych <= '\'') { if (yych == '!') goto yy86; - if (yych <= '"') goto yy605; + if (yych <= '"') goto yy613; goto yy86; } else { - if (yych <= ')') goto yy605; + if (yych <= ')') goto yy613; if (yych <= '/') goto yy86; - if (yych <= '9') goto yy872; + if (yych <= '9') goto yy886; goto yy86; } } else { if (yych <= '^') { - if (yych <= ';') goto yy605; + if (yych <= ';') goto yy613; if (yych <= '@') goto yy86; - if (yych <= 'F') goto yy872; + if (yych <= 'F') goto yy886; goto yy86; } else { if (yych <= '`') { - if (yych <= '_') goto yy752; + if (yych <= '_') goto yy762; goto yy86; } else { - if (yych <= 'f') goto yy872; + if (yych <= 'f') goto yy886; if (yych <= '~') goto yy86; - goto yy605; + goto yy613; } } } -yy874: +yy888: yych = *++cursor_; - if (yych == 'h') goto yy970; + if (yych == 'h') goto yy984; goto yy87; -yy875: +yy889: yych = *++cursor_; - if (yych == 'v') goto yy971; + if (yych == 'v') goto yy985; goto yy87; -yy876: +yy890: yych = *++cursor_; - if (yych == 'l') goto yy972; + if (yych == 'l') goto yy986; goto yy87; -yy877: +yy891: yych = *++cursor_; - if (yych == 't') goto yy973; + if (yych == 't') goto yy987; goto yy87; -yy878: +yy892: yych = *++cursor_; - if (yych == 'a') goto yy974; + if (yych == 'a') goto yy988; goto yy87; -yy879: +yy893: yych = *++cursor_; - if (yych == 'l') goto yy975; + if (yych == 'l') goto yy989; goto yy87; -yy880: +yy894: yych = *++cursor_; - if (yych == 'r') goto yy976; + if (yych == 'r') goto yy990; goto yy87; -yy881: +yy895: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 541 "src/wast-lexer.cc" +#line 544 "src/wast-lexer.cc" { RETURN_OPCODE0(CatchAll); } -#line 5326 "src/prebuilt/wast-lexer-gen.cc" -yy883: +#line 5386 "src/prebuilt/wast-lexer-gen.cc" +yy897: yych = *++cursor_; - if (yych == 'e') goto yy977; + if (yych == 'e') goto yy991; goto yy87; -yy884: +yy898: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 303 "src/wast-lexer.cc" { RETURN_OPCODE(Const, F32Const); } -#line 5338 "src/prebuilt/wast-lexer-gen.cc" -yy886: +#line 5398 "src/prebuilt/wast-lexer-gen.cc" +yy900: yych = *++cursor_; - if (yych == 'r') goto yy978; + if (yych == 'r') goto yy992; goto yy87; -yy887: +yy901: yych = *++cursor_; - if (yych == 'i') goto yy979; + if (yych == 'i') goto yy993; goto yy87; -yy888: +yy902: yych = *++cursor_; - if (yych == 'e') goto yy980; + if (yych == 'e') goto yy994; goto yy87; -yy889: +yy903: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 321 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F32Floor); } -#line 5358 "src/prebuilt/wast-lexer-gen.cc" -yy891: +#line 5418 "src/prebuilt/wast-lexer-gen.cc" +yy905: yych = *++cursor_; - if (yych == 's') goto yy981; + if (yych == 's') goto yy995; goto yy87; -yy892: +yy906: yych = *++cursor_; - if (yych == 'e') goto yy982; + if (yych == 'e') goto yy996; goto yy87; -yy893: +yy907: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 282 "src/wast-lexer.cc" { RETURN_OPCODE(Store, F32Store); } -#line 5374 "src/prebuilt/wast-lexer-gen.cc" -yy895: +#line 5434 "src/prebuilt/wast-lexer-gen.cc" +yy909: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 323 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F32Trunc); } -#line 5382 "src/prebuilt/wast-lexer-gen.cc" -yy897: +#line 5442 "src/prebuilt/wast-lexer-gen.cc" +yy911: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 304 "src/wast-lexer.cc" { RETURN_OPCODE(Const, F64Const); } -#line 5390 "src/prebuilt/wast-lexer-gen.cc" -yy899: +#line 5450 "src/prebuilt/wast-lexer-gen.cc" +yy913: yych = *++cursor_; - if (yych == 'r') goto yy983; + if (yych == 'r') goto yy997; goto yy87; -yy900: +yy914: yych = *++cursor_; - if (yych == 'i') goto yy984; + if (yych == 'i') goto yy998; goto yy87; -yy901: +yy915: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 322 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F64Floor); } -#line 5406 "src/prebuilt/wast-lexer-gen.cc" -yy903: +#line 5466 "src/prebuilt/wast-lexer-gen.cc" +yy917: yych = *++cursor_; - if (yych == 's') goto yy985; + if (yych == 's') goto yy999; goto yy87; -yy904: +yy918: yych = *++cursor_; - if (yych == 't') goto yy986; + if (yych == 't') goto yy1000; goto yy87; -yy905: +yy919: yych = *++cursor_; - if (yych == 'e') goto yy987; + if (yych == 'e') goto yy1001; goto yy87; -yy906: +yy920: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 283 "src/wast-lexer.cc" { RETURN_OPCODE(Store, F64Store); } -#line 5426 "src/prebuilt/wast-lexer-gen.cc" -yy908: +#line 5486 "src/prebuilt/wast-lexer-gen.cc" +yy922: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 324 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F64Trunc); } -#line 5434 "src/prebuilt/wast-lexer-gen.cc" -yy910: +#line 5494 "src/prebuilt/wast-lexer-gen.cc" +yy924: yych = *++cursor_; - if (yych == 'l') goto yy988; + if (yych == 'l') goto yy1002; goto yy87; -yy911: +yy925: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 271 "src/wast-lexer.cc" { RETURN_OPCODE0(GetLocal); } -#line 5446 "src/prebuilt/wast-lexer-gen.cc" -yy913: +#line 5506 "src/prebuilt/wast-lexer-gen.cc" +yy927: yych = *++cursor_; - if (yych == 'r') goto yy990; + if (yych == 'r') goto yy1004; goto yy87; -yy914: +yy928: yych = *++cursor_; - if (yych == 'c') goto yy991; + if (yych == 'c') goto yy1005; goto yy87; -yy915: +yy929: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 301 "src/wast-lexer.cc" { RETURN_OPCODE(Const, I32Const); } -#line 5462 "src/prebuilt/wast-lexer-gen.cc" -yy917: +#line 5522 "src/prebuilt/wast-lexer-gen.cc" +yy931: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 338 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32DivS); } -#line 5470 "src/prebuilt/wast-lexer-gen.cc" -yy919: +#line 5530 "src/prebuilt/wast-lexer-gen.cc" +yy933: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 340 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32DivU); } -#line 5478 "src/prebuilt/wast-lexer-gen.cc" -yy921: +#line 5538 "src/prebuilt/wast-lexer-gen.cc" +yy935: yych = *++cursor_; - if (yych == 'd') goto yy992; + if (yych == 'd') goto yy1006; goto yy87; -yy922: +yy936: yych = *++cursor_; - if (yych == '6') goto yy993; + if (yych == '6') goto yy1007; goto yy87; -yy923: +yy937: yych = *++cursor_; - if (yych == '_') goto yy994; + if (yych == '_') goto yy1008; goto yy87; -yy924: +yy938: yych = *++cursor_; - if (yych == 't') goto yy995; + if (yych == 't') goto yy1009; goto yy87; -yy925: +yy939: yych = *++cursor_; - if (yych == 'e') goto yy997; + if (yych == 'e') goto yy1011; goto yy87; -yy926: +yy940: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 342 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32RemS); } -#line 5506 "src/prebuilt/wast-lexer-gen.cc" -yy928: +#line 5566 "src/prebuilt/wast-lexer-gen.cc" +yy942: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 344 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32RemU); } -#line 5514 "src/prebuilt/wast-lexer-gen.cc" -yy930: +#line 5574 "src/prebuilt/wast-lexer-gen.cc" +yy944: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 354 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32ShrS); } -#line 5522 "src/prebuilt/wast-lexer-gen.cc" -yy932: +#line 5582 "src/prebuilt/wast-lexer-gen.cc" +yy946: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 356 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32ShrU); } -#line 5530 "src/prebuilt/wast-lexer-gen.cc" -yy934: +#line 5590 "src/prebuilt/wast-lexer-gen.cc" +yy948: ++cursor_; if ((yych = *cursor_) <= '0') { if (yych <= '"') { @@ -5538,140 +5598,140 @@ yy934: } } else { if (yych <= '8') { - if (yych <= '1') goto yy998; + if (yych <= '1') goto yy1012; if (yych <= '7') goto yy86; - goto yy999; + goto yy1013; } else { - if (yych == ';') goto yy935; + if (yych == ';') goto yy949; if (yych <= '~') goto yy86; } } -yy935: +yy949: #line 280 "src/wast-lexer.cc" { RETURN_OPCODE(Store, I32Store); } -#line 5553 "src/prebuilt/wast-lexer-gen.cc" -yy936: +#line 5613 "src/prebuilt/wast-lexer-gen.cc" +yy950: yych = *++cursor_; - if (yych == '_') goto yy1001; + if (yych == '_') goto yy1015; goto yy87; -yy937: +yy951: yych = *++cursor_; - if (yych == 'i') goto yy1002; + if (yych == 'i') goto yy1016; goto yy87; -yy938: +yy952: yych = *++cursor_; - if (yych == 'c') goto yy1003; + if (yych == 'c') goto yy1017; goto yy87; -yy939: +yy953: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 302 "src/wast-lexer.cc" { RETURN_OPCODE(Const, I64Const); } -#line 5573 "src/prebuilt/wast-lexer-gen.cc" -yy941: +#line 5633 "src/prebuilt/wast-lexer-gen.cc" +yy955: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 339 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64DivS); } -#line 5581 "src/prebuilt/wast-lexer-gen.cc" -yy943: +#line 5641 "src/prebuilt/wast-lexer-gen.cc" +yy957: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 341 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64DivU); } -#line 5589 "src/prebuilt/wast-lexer-gen.cc" -yy945: +#line 5649 "src/prebuilt/wast-lexer-gen.cc" +yy959: yych = *++cursor_; - if (yych == 'd') goto yy1004; + if (yych == 'd') goto yy1018; goto yy87; -yy946: +yy960: yych = *++cursor_; - if (yych == '6') goto yy1005; + if (yych == '6') goto yy1019; goto yy87; -yy947: +yy961: yych = *++cursor_; - if (yych == '2') goto yy1006; + if (yych == '2') goto yy1020; goto yy87; -yy948: +yy962: yych = *++cursor_; - if (yych == '_') goto yy1007; + if (yych == '_') goto yy1021; goto yy87; -yy949: +yy963: yych = *++cursor_; - if (yych == 't') goto yy1008; + if (yych == 't') goto yy1022; goto yy87; -yy950: +yy964: yych = *++cursor_; - if (yych == 'e') goto yy1010; + if (yych == 'e') goto yy1024; goto yy87; -yy951: +yy965: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 343 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64RemS); } -#line 5621 "src/prebuilt/wast-lexer-gen.cc" -yy953: +#line 5681 "src/prebuilt/wast-lexer-gen.cc" +yy967: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 345 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64RemU); } -#line 5629 "src/prebuilt/wast-lexer-gen.cc" -yy955: +#line 5689 "src/prebuilt/wast-lexer-gen.cc" +yy969: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 355 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64ShrS); } -#line 5637 "src/prebuilt/wast-lexer-gen.cc" -yy957: +#line 5697 "src/prebuilt/wast-lexer-gen.cc" +yy971: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 357 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64ShrU); } -#line 5645 "src/prebuilt/wast-lexer-gen.cc" -yy959: +#line 5705 "src/prebuilt/wast-lexer-gen.cc" +yy973: ++cursor_; if ((yych = *cursor_) <= '1') { if (yych <= '"') { if (yych == '!') goto yy86; } else { if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy960; + if (yych <= ')') goto yy974; if (yych <= '0') goto yy86; - goto yy1011; + goto yy1025; } } else { if (yych <= '8') { - if (yych == '3') goto yy1012; + if (yych == '3') goto yy1026; if (yych <= '7') goto yy86; - goto yy1013; + goto yy1027; } else { - if (yych == ';') goto yy960; + if (yych == ';') goto yy974; if (yych <= '~') goto yy86; } } -yy960: +yy974: #line 281 "src/wast-lexer.cc" { RETURN_OPCODE(Store, I64Store); } -#line 5670 "src/prebuilt/wast-lexer-gen.cc" -yy961: +#line 5730 "src/prebuilt/wast-lexer-gen.cc" +yy975: yych = *++cursor_; - if (yych == '_') goto yy1015; + if (yych == '_') goto yy1029; goto yy87; -yy962: +yy976: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; @@ -5687,7 +5747,7 @@ yy962: } else { if (yych <= ':') { if (yych <= '/') goto yy86; - if (yych <= '9') goto yy864; + if (yych <= '9') goto yy878; goto yy86; } else { if (yych <= ';') goto yy88; @@ -5695,7 +5755,7 @@ yy962: goto yy88; } } -yy963: +yy977: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; @@ -5707,1188 +5767,1188 @@ yy963: if (yych <= '\'') goto yy86; if (yych <= ')') goto yy88; if (yych <= '/') goto yy86; - goto yy1016; + goto yy1030; } } else { if (yych <= 'F') { if (yych == ';') goto yy88; if (yych <= '@') goto yy86; - goto yy1016; + goto yy1030; } else { if (yych <= '`') goto yy86; - if (yych <= 'f') goto yy1016; + if (yych <= 'f') goto yy1030; if (yych <= '~') goto yy86; goto yy88; } } -yy964: +yy978: yych = *++cursor_; - if (yych == 'l') goto yy1018; + if (yych == 'l') goto yy1032; goto yy87; -yy965: +yy979: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 272 "src/wast-lexer.cc" { RETURN_OPCODE0(SetLocal); } -#line 5736 "src/prebuilt/wast-lexer-gen.cc" -yy967: +#line 5796 "src/prebuilt/wast-lexer-gen.cc" +yy981: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 273 "src/wast-lexer.cc" { RETURN_OPCODE0(TeeLocal); } -#line 5744 "src/prebuilt/wast-lexer-gen.cc" -yy969: +#line 5804 "src/prebuilt/wast-lexer-gen.cc" +yy983: yych = *++cursor_; - if (yych == 'l') goto yy1020; + if (yych == 'l') goto yy1034; goto yy87; -yy970: +yy984: yych = *++cursor_; - if (yych == 'a') goto yy1021; + if (yych == 'a') goto yy1035; goto yy87; -yy971: +yy985: yych = *++cursor_; - if (yych == 'a') goto yy1022; + if (yych == 'a') goto yy1036; goto yy87; -yy972: +yy986: yych = *++cursor_; - if (yych == 'f') goto yy1023; + if (yych == 'f') goto yy1037; goto yy87; -yy973: +yy987: yych = *++cursor_; - if (yych == 'u') goto yy1024; + if (yych == 'u') goto yy1038; goto yy87; -yy974: +yy988: yych = *++cursor_; - if (yych == 'p') goto yy1025; + if (yych == 'p') goto yy1039; goto yy87; -yy975: +yy989: yych = *++cursor_; - if (yych == 'i') goto yy1027; + if (yych == 'i') goto yy1041; goto yy87; -yy976: +yy990: yych = *++cursor_; - if (yych == 'e') goto yy1028; + if (yych == 'e') goto yy1042; goto yy87; -yy977: +yy991: yych = *++cursor_; - if (yych == 'm') goto yy1029; + if (yych == 'm') goto yy1043; goto yy87; -yy978: +yy992: yych = *++cursor_; - if (yych == 't') goto yy1030; + if (yych == 't') goto yy1044; goto yy87; -yy979: +yy993: yych = *++cursor_; - if (yych == 'g') goto yy1031; + if (yych == 'g') goto yy1045; goto yy87; -yy980: +yy994: yych = *++cursor_; - if (yych == '/') goto yy1032; + if (yych == '/') goto yy1046; goto yy87; -yy981: +yy995: yych = *++cursor_; - if (yych == 't') goto yy1033; + if (yych == 't') goto yy1047; goto yy87; -yy982: +yy996: yych = *++cursor_; - if (yych == 'r') goto yy1035; + if (yych == 'r') goto yy1049; goto yy87; -yy983: +yy997: yych = *++cursor_; - if (yych == 't') goto yy1036; + if (yych == 't') goto yy1050; goto yy87; -yy984: +yy998: yych = *++cursor_; - if (yych == 'g') goto yy1037; + if (yych == 'g') goto yy1051; goto yy87; -yy985: +yy999: yych = *++cursor_; - if (yych == 't') goto yy1038; + if (yych == 't') goto yy1052; goto yy87; -yy986: +yy1000: yych = *++cursor_; - if (yych == 'e') goto yy1040; + if (yych == 'e') goto yy1054; goto yy87; -yy987: +yy1001: yych = *++cursor_; - if (yych == 'r') goto yy1041; + if (yych == 'r') goto yy1055; goto yy87; -yy988: +yy1002: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 274 "src/wast-lexer.cc" { RETURN_OPCODE0(GetGlobal); } -#line 5828 "src/prebuilt/wast-lexer-gen.cc" -yy990: +#line 5888 "src/prebuilt/wast-lexer-gen.cc" +yy1004: yych = *++cursor_; - if (yych == 'y') goto yy1042; + if (yych == 'y') goto yy1056; goto yy87; -yy991: +yy1005: yych = *++cursor_; - if (yych == '.') goto yy1044; + if (yych == '.') goto yy1058; goto yy87; -yy992: +yy1006: yych = *++cursor_; - if (yych == '1') goto yy1045; - if (yych == '8') goto yy1046; + if (yych == '1') goto yy1059; + if (yych == '8') goto yy1060; goto yy87; -yy993: +yy1007: yych = *++cursor_; - if (yych == '_') goto yy1047; + if (yych == '_') goto yy1061; goto yy87; -yy994: +yy1008: yych = *++cursor_; - if (yych == 's') goto yy1048; - if (yych == 'u') goto yy1050; + if (yych == 's') goto yy1062; + if (yych == 'u') goto yy1064; goto yy87; -yy995: +yy1009: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 311 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, I32Popcnt); } -#line 5858 "src/prebuilt/wast-lexer-gen.cc" -yy997: +#line 5918 "src/prebuilt/wast-lexer-gen.cc" +yy1011: yych = *++cursor_; - if (yych == 'r') goto yy1052; + if (yych == 'r') goto yy1066; goto yy87; -yy998: +yy1012: yych = *++cursor_; - if (yych == '6') goto yy1053; + if (yych == '6') goto yy1067; goto yy87; -yy999: +yy1013: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 294 "src/wast-lexer.cc" { RETURN_OPCODE(Store, I32Store8); } -#line 5874 "src/prebuilt/wast-lexer-gen.cc" -yy1001: +#line 5934 "src/prebuilt/wast-lexer-gen.cc" +yy1015: yych = *++cursor_; - if (yych == 's') goto yy1055; - if (yych == 'u') goto yy1056; + if (yych == 's') goto yy1069; + if (yych == 'u') goto yy1070; goto yy87; -yy1002: +yy1016: yych = *++cursor_; - if (yych == '6') goto yy1057; + if (yych == '6') goto yy1071; goto yy87; -yy1003: +yy1017: yych = *++cursor_; - if (yych == '.') goto yy1058; + if (yych == '.') goto yy1072; goto yy87; -yy1004: +yy1018: yych = *++cursor_; if (yych <= '3') { - if (yych == '1') goto yy1059; + if (yych == '1') goto yy1073; if (yych <= '2') goto yy87; - goto yy1060; + goto yy1074; } else { if (yych <= '8') { if (yych <= '7') goto yy87; - goto yy1061; + goto yy1075; } else { - if (yych == '_') goto yy1062; + if (yych == '_') goto yy1076; goto yy87; } } -yy1005: +yy1019: yych = *++cursor_; - if (yych == '_') goto yy1063; + if (yych == '_') goto yy1077; goto yy87; -yy1006: +yy1020: yych = *++cursor_; - if (yych == '_') goto yy1064; + if (yych == '_') goto yy1078; goto yy87; -yy1007: +yy1021: yych = *++cursor_; - if (yych == 's') goto yy1065; - if (yych == 'u') goto yy1067; + if (yych == 's') goto yy1079; + if (yych == 'u') goto yy1081; goto yy87; -yy1008: +yy1022: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 312 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, I64Popcnt); } -#line 5923 "src/prebuilt/wast-lexer-gen.cc" -yy1010: +#line 5983 "src/prebuilt/wast-lexer-gen.cc" +yy1024: yych = *++cursor_; - if (yych == 'r') goto yy1069; + if (yych == 'r') goto yy1083; goto yy87; -yy1011: +yy1025: yych = *++cursor_; - if (yych == '6') goto yy1070; + if (yych == '6') goto yy1084; goto yy87; -yy1012: +yy1026: yych = *++cursor_; - if (yych == '2') goto yy1072; + if (yych == '2') goto yy1086; goto yy87; -yy1013: +yy1027: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 295 "src/wast-lexer.cc" { RETURN_OPCODE(Store, I64Store8); } -#line 5943 "src/prebuilt/wast-lexer-gen.cc" -yy1015: +#line 6003 "src/prebuilt/wast-lexer-gen.cc" +yy1029: yych = *++cursor_; - if (yych == 's') goto yy1074; - if (yych == 'u') goto yy1075; + if (yych == 's') goto yy1088; + if (yych == 'u') goto yy1089; goto yy87; -yy1016: +yy1030: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; if (yych <= ':') { if (yych <= '\'') { if (yych == '!') goto yy86; - if (yych <= '"') goto yy863; + if (yych <= '"') goto yy877; goto yy86; } else { - if (yych <= ')') goto yy863; + if (yych <= ')') goto yy877; if (yych <= '/') goto yy86; - if (yych <= '9') goto yy1016; + if (yych <= '9') goto yy1030; goto yy86; } } else { if (yych <= '^') { - if (yych <= ';') goto yy863; + if (yych <= ';') goto yy877; if (yych <= '@') goto yy86; - if (yych <= 'F') goto yy1016; + if (yych <= 'F') goto yy1030; goto yy86; } else { if (yych <= '`') { - if (yych <= '_') goto yy963; + if (yych <= '_') goto yy977; goto yy86; } else { - if (yych <= 'f') goto yy1016; + if (yych <= 'f') goto yy1030; if (yych <= '~') goto yy86; - goto yy863; + goto yy877; } } } -yy1018: +yy1032: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 275 "src/wast-lexer.cc" { RETURN_OPCODE0(SetGlobal); } -#line 5988 "src/prebuilt/wast-lexer-gen.cc" -yy1020: +#line 6048 "src/prebuilt/wast-lexer-gen.cc" +yy1034: yych = *++cursor_; - if (yych == 'e') goto yy1076; + if (yych == 'e') goto yy1090; goto yy87; -yy1021: +yy1035: yych = *++cursor_; - if (yych == 'u') goto yy1078; + if (yych == 'u') goto yy1092; goto yy87; -yy1022: +yy1036: yych = *++cursor_; - if (yych == 'l') goto yy1079; + if (yych == 'l') goto yy1093; goto yy87; -yy1023: +yy1037: yych = *++cursor_; - if (yych == 'o') goto yy1080; + if (yych == 'o') goto yy1094; goto yy87; -yy1024: +yy1038: yych = *++cursor_; - if (yych == 'r') goto yy1081; + if (yych == 'r') goto yy1095; goto yy87; -yy1025: +yy1039: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 537 "src/wast-lexer.cc" +#line 540 "src/wast-lexer.cc" { RETURN(AssertTrap); } -#line 6016 "src/prebuilt/wast-lexer-gen.cc" -yy1027: +#line 6076 "src/prebuilt/wast-lexer-gen.cc" +yy1041: yych = *++cursor_; - if (yych == 'n') goto yy1082; + if (yych == 'n') goto yy1096; goto yy87; -yy1028: +yy1042: yych = *++cursor_; - if (yych == 'c') goto yy1083; + if (yych == 'c') goto yy1097; goto yy87; -yy1029: +yy1043: yych = *++cursor_; - if (yych == 'o') goto yy1084; + if (yych == 'o') goto yy1098; goto yy87; -yy1030: +yy1044: yych = *++cursor_; - if (yych == '_') goto yy1085; + if (yych == '_') goto yy1099; goto yy87; -yy1031: +yy1045: yych = *++cursor_; - if (yych == 'n') goto yy1086; + if (yych == 'n') goto yy1100; goto yy87; -yy1032: +yy1046: yych = *++cursor_; - if (yych == 'f') goto yy1088; + if (yych == 'f') goto yy1102; goto yy87; -yy1033: +yy1047: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 325 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F32Nearest); } -#line 6048 "src/prebuilt/wast-lexer-gen.cc" -yy1035: +#line 6108 "src/prebuilt/wast-lexer-gen.cc" +yy1049: yych = *++cursor_; - if (yych == 'p') goto yy1089; + if (yych == 'p') goto yy1103; goto yy87; -yy1036: +yy1050: yych = *++cursor_; - if (yych == '_') goto yy1090; + if (yych == '_') goto yy1104; goto yy87; -yy1037: +yy1051: yych = *++cursor_; - if (yych == 'n') goto yy1091; + if (yych == 'n') goto yy1105; goto yy87; -yy1038: +yy1052: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 326 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F64Nearest); } -#line 6068 "src/prebuilt/wast-lexer-gen.cc" -yy1040: +#line 6128 "src/prebuilt/wast-lexer-gen.cc" +yy1054: yych = *++cursor_; - if (yych == '/') goto yy1093; + if (yych == '/') goto yy1107; goto yy87; -yy1041: +yy1055: yych = *++cursor_; - if (yych == 'p') goto yy1094; + if (yych == 'p') goto yy1108; goto yy87; -yy1042: +yy1056: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 444 "src/wast-lexer.cc" { RETURN_OPCODE0(GrowMemory); } -#line 6084 "src/prebuilt/wast-lexer-gen.cc" -yy1044: +#line 6144 "src/prebuilt/wast-lexer-gen.cc" +yy1058: yych = *++cursor_; if (yych <= 'q') { - if (yych == 'l') goto yy1095; + if (yych == 'l') goto yy1109; goto yy87; } else { - if (yych <= 'r') goto yy1096; - if (yych <= 's') goto yy1097; + if (yych <= 'r') goto yy1110; + if (yych <= 's') goto yy1111; goto yy87; } -yy1045: +yy1059: yych = *++cursor_; - if (yych == '6') goto yy1098; + if (yych == '6') goto yy1112; goto yy87; -yy1046: +yy1060: yych = *++cursor_; - if (yych == '_') goto yy1099; + if (yych == '_') goto yy1113; goto yy87; -yy1047: +yy1061: yych = *++cursor_; - if (yych == 's') goto yy1100; - if (yych == 'u') goto yy1102; + if (yych == 's') goto yy1114; + if (yych == 'u') goto yy1116; goto yy87; -yy1048: +yy1062: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 284 "src/wast-lexer.cc" { RETURN_OPCODE(Load, I32Load8S); } -#line 6115 "src/prebuilt/wast-lexer-gen.cc" -yy1050: +#line 6175 "src/prebuilt/wast-lexer-gen.cc" +yy1064: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 286 "src/wast-lexer.cc" { RETURN_OPCODE(Load, I32Load8U); } -#line 6123 "src/prebuilt/wast-lexer-gen.cc" -yy1052: +#line 6183 "src/prebuilt/wast-lexer-gen.cc" +yy1066: yych = *++cursor_; - if (yych == 'p') goto yy1104; + if (yych == 'p') goto yy1118; goto yy87; -yy1053: +yy1067: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 296 "src/wast-lexer.cc" { RETURN_OPCODE(Store, I32Store16); } -#line 6135 "src/prebuilt/wast-lexer-gen.cc" -yy1055: +#line 6195 "src/prebuilt/wast-lexer-gen.cc" +yy1069: yych = *++cursor_; - if (yych == '/') goto yy1105; - if (yych == ':') goto yy1106; + if (yych == '/') goto yy1119; + if (yych == ':') goto yy1120; goto yy87; -yy1056: +yy1070: yych = *++cursor_; - if (yych == '/') goto yy1107; - if (yych == ':') goto yy1108; + if (yych == '/') goto yy1121; + if (yych == ':') goto yy1122; goto yy87; -yy1057: +yy1071: yych = *++cursor_; - if (yych == '4') goto yy1109; + if (yych == '4') goto yy1123; goto yy87; -yy1058: +yy1072: yych = *++cursor_; if (yych <= 'q') { - if (yych == 'l') goto yy1111; + if (yych == 'l') goto yy1125; goto yy87; } else { - if (yych <= 'r') goto yy1112; - if (yych <= 's') goto yy1113; + if (yych <= 'r') goto yy1126; + if (yych <= 's') goto yy1127; goto yy87; } -yy1059: +yy1073: yych = *++cursor_; - if (yych == '6') goto yy1114; + if (yych == '6') goto yy1128; goto yy87; -yy1060: +yy1074: yych = *++cursor_; - if (yych == '2') goto yy1115; + if (yych == '2') goto yy1129; goto yy87; -yy1061: +yy1075: yych = *++cursor_; - if (yych == '_') goto yy1116; + if (yych == '_') goto yy1130; goto yy87; -yy1062: +yy1076: yych = *++cursor_; - if (yych == 's') goto yy1117; - if (yych == 'u') goto yy1118; + if (yych == 's') goto yy1131; + if (yych == 'u') goto yy1132; goto yy87; -yy1063: +yy1077: yych = *++cursor_; - if (yych == 's') goto yy1119; - if (yych == 'u') goto yy1121; + if (yych == 's') goto yy1133; + if (yych == 'u') goto yy1135; goto yy87; -yy1064: +yy1078: yych = *++cursor_; - if (yych == 's') goto yy1123; - if (yych == 'u') goto yy1125; + if (yych == 's') goto yy1137; + if (yych == 'u') goto yy1139; goto yy87; -yy1065: +yy1079: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 285 "src/wast-lexer.cc" { RETURN_OPCODE(Load, I64Load8S); } -#line 6194 "src/prebuilt/wast-lexer-gen.cc" -yy1067: +#line 6254 "src/prebuilt/wast-lexer-gen.cc" +yy1081: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 287 "src/wast-lexer.cc" { RETURN_OPCODE(Load, I64Load8U); } -#line 6202 "src/prebuilt/wast-lexer-gen.cc" -yy1069: +#line 6262 "src/prebuilt/wast-lexer-gen.cc" +yy1083: yych = *++cursor_; - if (yych == 'p') goto yy1127; + if (yych == 'p') goto yy1141; goto yy87; -yy1070: +yy1084: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 297 "src/wast-lexer.cc" { RETURN_OPCODE(Store, I64Store16); } -#line 6214 "src/prebuilt/wast-lexer-gen.cc" -yy1072: +#line 6274 "src/prebuilt/wast-lexer-gen.cc" +yy1086: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 298 "src/wast-lexer.cc" { RETURN_OPCODE(Store, I64Store32); } -#line 6222 "src/prebuilt/wast-lexer-gen.cc" -yy1074: +#line 6282 "src/prebuilt/wast-lexer-gen.cc" +yy1088: yych = *++cursor_; - if (yych == '/') goto yy1128; - if (yych == ':') goto yy1129; + if (yych == '/') goto yy1142; + if (yych == ':') goto yy1143; goto yy87; -yy1075: +yy1089: yych = *++cursor_; - if (yych == '/') goto yy1130; - if (yych == ':') goto yy1131; + if (yych == '/') goto yy1144; + if (yych == ':') goto yy1145; goto yy87; -yy1076: +yy1090: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 442 "src/wast-lexer.cc" { RETURN_OPCODE0(Unreachable); } -#line 6240 "src/prebuilt/wast-lexer-gen.cc" -yy1078: +#line 6300 "src/prebuilt/wast-lexer-gen.cc" +yy1092: yych = *++cursor_; - if (yych == 's') goto yy1132; + if (yych == 's') goto yy1146; goto yy87; -yy1079: +yy1093: yych = *++cursor_; - if (yych == 'i') goto yy1133; + if (yych == 'i') goto yy1147; goto yy87; -yy1080: +yy1094: yych = *++cursor_; - if (yych == 'r') goto yy1134; + if (yych == 'r') goto yy1148; goto yy87; -yy1081: +yy1095: yych = *++cursor_; - if (yych == 'n') goto yy1135; + if (yych == 'n') goto yy1149; goto yy87; -yy1082: +yy1096: yych = *++cursor_; - if (yych == 'k') goto yy1137; + if (yych == 'k') goto yy1151; goto yy87; -yy1083: +yy1097: yych = *++cursor_; - if (yych == 't') goto yy1138; + if (yych == 't') goto yy1152; goto yy87; -yy1084: +yy1098: yych = *++cursor_; - if (yych == 'r') goto yy1140; + if (yych == 'r') goto yy1154; goto yy87; -yy1085: +yy1099: yych = *++cursor_; - if (yych == 's') goto yy1141; - if (yych == 'u') goto yy1142; + if (yych == 's') goto yy1155; + if (yych == 'u') goto yy1156; goto yy87; -yy1086: +yy1100: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 374 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F32Copysign); } -#line 6281 "src/prebuilt/wast-lexer-gen.cc" -yy1088: +#line 6341 "src/prebuilt/wast-lexer-gen.cc" +yy1102: yych = *++cursor_; - if (yych == '6') goto yy1143; + if (yych == '6') goto yy1157; goto yy87; -yy1089: +yy1103: yych = *++cursor_; - if (yych == 'r') goto yy1144; + if (yych == 'r') goto yy1158; goto yy87; -yy1090: +yy1104: yych = *++cursor_; - if (yych == 's') goto yy1145; - if (yych == 'u') goto yy1146; + if (yych == 's') goto yy1159; + if (yych == 'u') goto yy1160; goto yy87; -yy1091: +yy1105: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 375 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F64Copysign); } -#line 6302 "src/prebuilt/wast-lexer-gen.cc" -yy1093: +#line 6362 "src/prebuilt/wast-lexer-gen.cc" +yy1107: yych = *++cursor_; - if (yych == 'f') goto yy1147; + if (yych == 'f') goto yy1161; goto yy87; -yy1094: +yy1108: yych = *++cursor_; - if (yych == 'r') goto yy1148; + if (yych == 'r') goto yy1162; goto yy87; -yy1095: +yy1109: yych = *++cursor_; - if (yych == 'o') goto yy1149; + if (yych == 'o') goto yy1163; goto yy87; -yy1096: +yy1110: yych = *++cursor_; - if (yych == 'm') goto yy1150; + if (yych == 'm') goto yy1164; goto yy87; -yy1097: +yy1111: yych = *++cursor_; - if (yych == 't') goto yy1151; + if (yych == 't') goto yy1165; goto yy87; -yy1098: +yy1112: yych = *++cursor_; - if (yych == '_') goto yy1152; + if (yych == '_') goto yy1166; goto yy87; -yy1099: +yy1113: yych = *++cursor_; - if (yych == 's') goto yy1153; + if (yych == 's') goto yy1167; goto yy87; -yy1100: +yy1114: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 288 "src/wast-lexer.cc" { RETURN_OPCODE(Load, I32Load16S); } -#line 6338 "src/prebuilt/wast-lexer-gen.cc" -yy1102: +#line 6398 "src/prebuilt/wast-lexer-gen.cc" +yy1116: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 290 "src/wast-lexer.cc" { RETURN_OPCODE(Load, I32Load16U); } -#line 6346 "src/prebuilt/wast-lexer-gen.cc" -yy1104: +#line 6406 "src/prebuilt/wast-lexer-gen.cc" +yy1118: yych = *++cursor_; - if (yych == 'r') goto yy1155; + if (yych == 'r') goto yy1169; goto yy87; -yy1105: +yy1119: yych = *++cursor_; - if (yych == 'f') goto yy1156; + if (yych == 'f') goto yy1170; goto yy87; -yy1106: +yy1120: yych = *++cursor_; - if (yych == 's') goto yy1157; + if (yych == 's') goto yy1171; goto yy87; -yy1107: +yy1121: yych = *++cursor_; - if (yych == 'f') goto yy1158; + if (yych == 'f') goto yy1172; goto yy87; -yy1108: +yy1122: yych = *++cursor_; - if (yych == 's') goto yy1159; + if (yych == 's') goto yy1173; goto yy87; -yy1109: +yy1123: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 410 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I32WrapI64); } -#line 6374 "src/prebuilt/wast-lexer-gen.cc" -yy1111: +#line 6434 "src/prebuilt/wast-lexer-gen.cc" +yy1125: yych = *++cursor_; - if (yych == 'o') goto yy1160; + if (yych == 'o') goto yy1174; goto yy87; -yy1112: +yy1126: yych = *++cursor_; - if (yych == 'm') goto yy1161; + if (yych == 'm') goto yy1175; goto yy87; -yy1113: +yy1127: yych = *++cursor_; - if (yych == 't') goto yy1162; + if (yych == 't') goto yy1176; goto yy87; -yy1114: +yy1128: yych = *++cursor_; - if (yych == '_') goto yy1163; + if (yych == '_') goto yy1177; goto yy87; -yy1115: +yy1129: yych = *++cursor_; - if (yych == '_') goto yy1164; + if (yych == '_') goto yy1178; goto yy87; -yy1116: +yy1130: yych = *++cursor_; - if (yych == 's') goto yy1165; + if (yych == 's') goto yy1179; goto yy87; -yy1117: +yy1131: yych = *++cursor_; - if (yych == '/') goto yy1167; + if (yych == '/') goto yy1181; goto yy87; -yy1118: +yy1132: yych = *++cursor_; - if (yych == '/') goto yy1168; + if (yych == '/') goto yy1182; goto yy87; -yy1119: +yy1133: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 289 "src/wast-lexer.cc" { RETURN_OPCODE(Load, I64Load16S); } -#line 6414 "src/prebuilt/wast-lexer-gen.cc" -yy1121: +#line 6474 "src/prebuilt/wast-lexer-gen.cc" +yy1135: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 291 "src/wast-lexer.cc" { RETURN_OPCODE(Load, I64Load16U); } -#line 6422 "src/prebuilt/wast-lexer-gen.cc" -yy1123: +#line 6482 "src/prebuilt/wast-lexer-gen.cc" +yy1137: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 292 "src/wast-lexer.cc" { RETURN_OPCODE(Load, I64Load32S); } -#line 6430 "src/prebuilt/wast-lexer-gen.cc" -yy1125: +#line 6490 "src/prebuilt/wast-lexer-gen.cc" +yy1139: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 293 "src/wast-lexer.cc" { RETURN_OPCODE(Load, I64Load32U); } -#line 6438 "src/prebuilt/wast-lexer-gen.cc" -yy1127: +#line 6498 "src/prebuilt/wast-lexer-gen.cc" +yy1141: yych = *++cursor_; - if (yych == 'r') goto yy1169; + if (yych == 'r') goto yy1183; goto yy87; -yy1128: +yy1142: yych = *++cursor_; - if (yych == 'f') goto yy1170; + if (yych == 'f') goto yy1184; goto yy87; -yy1129: +yy1143: yych = *++cursor_; - if (yych == 's') goto yy1171; + if (yych == 's') goto yy1185; goto yy87; -yy1130: +yy1144: yych = *++cursor_; - if (yych == 'f') goto yy1172; + if (yych == 'f') goto yy1186; goto yy87; -yy1131: +yy1145: yych = *++cursor_; - if (yych == 's') goto yy1173; + if (yych == 's') goto yy1187; goto yy87; -yy1132: +yy1146: yych = *++cursor_; - if (yych == 't') goto yy1174; + if (yych == 't') goto yy1188; goto yy87; -yy1133: +yy1147: yych = *++cursor_; - if (yych == 'd') goto yy1175; + if (yych == 'd') goto yy1189; goto yy87; -yy1134: +yy1148: yych = *++cursor_; - if (yych == 'm') goto yy1177; + if (yych == 'm') goto yy1191; goto yy87; -yy1135: +yy1149: ++cursor_; if ((yych = *cursor_) <= ')') { if (yych <= '!') { if (yych >= '!') goto yy86; } else { - if (yych <= '"') goto yy1136; + if (yych <= '"') goto yy1150; if (yych <= '\'') goto yy86; } } else { if (yych <= '^') { if (yych != ';') goto yy86; } else { - if (yych <= '_') goto yy1178; + if (yych <= '_') goto yy1192; if (yych <= '~') goto yy86; } } -yy1136: -#line 534 "src/wast-lexer.cc" +yy1150: +#line 537 "src/wast-lexer.cc" { RETURN(AssertReturn); } -#line 6491 "src/prebuilt/wast-lexer-gen.cc" -yy1137: +#line 6551 "src/prebuilt/wast-lexer-gen.cc" +yy1151: yych = *++cursor_; - if (yych == 'a') goto yy1179; + if (yych == 'a') goto yy1193; goto yy87; -yy1138: +yy1152: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 267 "src/wast-lexer.cc" { RETURN_OPCODE0(CallIndirect); } -#line 6503 "src/prebuilt/wast-lexer-gen.cc" -yy1140: +#line 6563 "src/prebuilt/wast-lexer-gen.cc" +yy1154: yych = *++cursor_; - if (yych == 'y') goto yy1180; + if (yych == 'y') goto yy1194; goto yy87; -yy1141: +yy1155: yych = *++cursor_; - if (yych == '/') goto yy1182; + if (yych == '/') goto yy1196; goto yy87; -yy1142: +yy1156: yych = *++cursor_; - if (yych == '/') goto yy1183; + if (yych == '/') goto yy1197; goto yy87; -yy1143: +yy1157: yych = *++cursor_; - if (yych == '4') goto yy1184; + if (yych == '4') goto yy1198; goto yy87; -yy1144: +yy1158: yych = *++cursor_; - if (yych == 'e') goto yy1186; + if (yych == 'e') goto yy1200; goto yy87; -yy1145: +yy1159: yych = *++cursor_; - if (yych == '/') goto yy1187; + if (yych == '/') goto yy1201; goto yy87; -yy1146: +yy1160: yych = *++cursor_; - if (yych == '/') goto yy1188; + if (yych == '/') goto yy1202; goto yy87; -yy1147: +yy1161: yych = *++cursor_; - if (yych == '3') goto yy1189; + if (yych == '3') goto yy1203; goto yy87; -yy1148: +yy1162: yych = *++cursor_; - if (yych == 'e') goto yy1190; + if (yych == 'e') goto yy1204; goto yy87; -yy1149: +yy1163: yych = *++cursor_; - if (yych == 'a') goto yy1191; + if (yych == 'a') goto yy1205; goto yy87; -yy1150: +yy1164: yych = *++cursor_; - if (yych == 'w') goto yy1192; + if (yych == 'w') goto yy1206; goto yy87; -yy1151: +yy1165: yych = *++cursor_; - if (yych == 'o') goto yy1193; + if (yych == 'o') goto yy1207; goto yy87; -yy1152: +yy1166: yych = *++cursor_; - if (yych == 's') goto yy1194; + if (yych == 's') goto yy1208; goto yy87; -yy1153: +yy1167: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 327 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, I32Extend8S); } -#line 6563 "src/prebuilt/wast-lexer-gen.cc" -yy1155: +#line 6623 "src/prebuilt/wast-lexer-gen.cc" +yy1169: yych = *++cursor_; - if (yych == 'e') goto yy1196; + if (yych == 'e') goto yy1210; goto yy87; -yy1156: +yy1170: yych = *++cursor_; - if (yych == '3') goto yy1197; - if (yych == '6') goto yy1198; + if (yych == '3') goto yy1211; + if (yych == '6') goto yy1212; goto yy87; -yy1157: +yy1171: yych = *++cursor_; - if (yych == 'a') goto yy1199; + if (yych == 'a') goto yy1213; goto yy87; -yy1158: +yy1172: yych = *++cursor_; - if (yych == '3') goto yy1200; - if (yych == '6') goto yy1201; + if (yych == '3') goto yy1214; + if (yych == '6') goto yy1215; goto yy87; -yy1159: +yy1173: yych = *++cursor_; - if (yych == 'a') goto yy1202; + if (yych == 'a') goto yy1216; goto yy87; -yy1160: +yy1174: yych = *++cursor_; - if (yych == 'a') goto yy1203; + if (yych == 'a') goto yy1217; goto yy87; -yy1161: +yy1175: yych = *++cursor_; - if (yych == 'w') goto yy1204; + if (yych == 'w') goto yy1218; goto yy87; -yy1162: +yy1176: yych = *++cursor_; - if (yych == 'o') goto yy1205; + if (yych == 'o') goto yy1219; goto yy87; -yy1163: +yy1177: yych = *++cursor_; - if (yych == 's') goto yy1206; + if (yych == 's') goto yy1220; goto yy87; -yy1164: +yy1178: yych = *++cursor_; - if (yych == 's') goto yy1208; + if (yych == 's') goto yy1222; goto yy87; -yy1165: +yy1179: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 329 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, I64Extend8S); } -#line 6613 "src/prebuilt/wast-lexer-gen.cc" -yy1167: +#line 6673 "src/prebuilt/wast-lexer-gen.cc" +yy1181: yych = *++cursor_; - if (yych == 'i') goto yy1210; + if (yych == 'i') goto yy1224; goto yy87; -yy1168: +yy1182: yych = *++cursor_; - if (yych == 'i') goto yy1211; + if (yych == 'i') goto yy1225; goto yy87; -yy1169: +yy1183: yych = *++cursor_; - if (yych == 'e') goto yy1212; + if (yych == 'e') goto yy1226; goto yy87; -yy1170: +yy1184: yych = *++cursor_; - if (yych == '3') goto yy1213; - if (yych == '6') goto yy1214; + if (yych == '3') goto yy1227; + if (yych == '6') goto yy1228; goto yy87; -yy1171: +yy1185: yych = *++cursor_; - if (yych == 'a') goto yy1215; + if (yych == 'a') goto yy1229; goto yy87; -yy1172: +yy1186: yych = *++cursor_; - if (yych == '3') goto yy1216; - if (yych == '6') goto yy1217; + if (yych == '3') goto yy1230; + if (yych == '6') goto yy1231; goto yy87; -yy1173: +yy1187: yych = *++cursor_; - if (yych == 'a') goto yy1218; + if (yych == 'a') goto yy1232; goto yy87; -yy1174: +yy1188: yych = *++cursor_; - if (yych == 'i') goto yy1219; + if (yych == 'i') goto yy1233; goto yy87; -yy1175: +yy1189: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 532 "src/wast-lexer.cc" +#line 535 "src/wast-lexer.cc" { RETURN(AssertInvalid); } -#line 6655 "src/prebuilt/wast-lexer-gen.cc" -yy1177: +#line 6715 "src/prebuilt/wast-lexer-gen.cc" +yy1191: yych = *++cursor_; - if (yych == 'e') goto yy1220; + if (yych == 'e') goto yy1234; goto yy87; -yy1178: +yy1192: yych = *++cursor_; - if (yych == 'a') goto yy1221; - if (yych == 'c') goto yy1222; + if (yych == 'a') goto yy1235; + if (yych == 'c') goto yy1236; goto yy87; -yy1179: +yy1193: yych = *++cursor_; - if (yych == 'b') goto yy1223; + if (yych == 'b') goto yy1237; goto yy87; -yy1180: +yy1194: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 443 "src/wast-lexer.cc" { RETURN_OPCODE0(CurrentMemory); } -#line 6676 "src/prebuilt/wast-lexer-gen.cc" -yy1182: +#line 6736 "src/prebuilt/wast-lexer-gen.cc" +yy1196: yych = *++cursor_; - if (yych == 'i') goto yy1224; + if (yych == 'i') goto yy1238; goto yy87; -yy1183: +yy1197: yych = *++cursor_; - if (yych == 'i') goto yy1225; + if (yych == 'i') goto yy1239; goto yy87; -yy1184: +yy1198: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 436 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, F32DemoteF64); } -#line 6692 "src/prebuilt/wast-lexer-gen.cc" -yy1186: +#line 6752 "src/prebuilt/wast-lexer-gen.cc" +yy1200: yych = *++cursor_; - if (yych == 't') goto yy1226; + if (yych == 't') goto yy1240; goto yy87; -yy1187: +yy1201: yych = *++cursor_; - if (yych == 'i') goto yy1227; + if (yych == 'i') goto yy1241; goto yy87; -yy1188: +yy1202: yych = *++cursor_; - if (yych == 'i') goto yy1228; + if (yych == 'i') goto yy1242; goto yy87; -yy1189: +yy1203: yych = *++cursor_; - if (yych == '2') goto yy1229; + if (yych == '2') goto yy1243; goto yy87; -yy1190: +yy1204: yych = *++cursor_; - if (yych == 't') goto yy1231; + if (yych == 't') goto yy1245; goto yy87; -yy1191: +yy1205: yych = *++cursor_; - if (yych == 'd') goto yy1232; + if (yych == 'd') goto yy1246; goto yy87; -yy1192: +yy1206: yych = *++cursor_; if (yych <= '0') { - if (yych == '.') goto yy1234; + if (yych == '.') goto yy1248; goto yy87; } else { - if (yych <= '1') goto yy1235; - if (yych == '8') goto yy1236; + if (yych <= '1') goto yy1249; + if (yych == '8') goto yy1250; goto yy87; } -yy1193: +yy1207: yych = *++cursor_; - if (yych == 'r') goto yy1237; + if (yych == 'r') goto yy1251; goto yy87; -yy1194: +yy1208: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 328 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, I32Extend16S); } -#line 6738 "src/prebuilt/wast-lexer-gen.cc" -yy1196: +#line 6798 "src/prebuilt/wast-lexer-gen.cc" +yy1210: yych = *++cursor_; - if (yych == 't') goto yy1238; + if (yych == 't') goto yy1252; goto yy87; -yy1197: +yy1211: yych = *++cursor_; - if (yych == '2') goto yy1239; + if (yych == '2') goto yy1253; goto yy87; -yy1198: +yy1212: yych = *++cursor_; - if (yych == '4') goto yy1241; + if (yych == '4') goto yy1255; goto yy87; -yy1199: +yy1213: yych = *++cursor_; - if (yych == 't') goto yy1243; + if (yych == 't') goto yy1257; goto yy87; -yy1200: +yy1214: yych = *++cursor_; - if (yych == '2') goto yy1244; + if (yych == '2') goto yy1258; goto yy87; -yy1201: +yy1215: yych = *++cursor_; - if (yych == '4') goto yy1246; + if (yych == '4') goto yy1260; goto yy87; -yy1202: +yy1216: yych = *++cursor_; - if (yych == 't') goto yy1248; + if (yych == 't') goto yy1262; goto yy87; -yy1203: +yy1217: yych = *++cursor_; - if (yych == 'd') goto yy1249; + if (yych == 'd') goto yy1263; goto yy87; -yy1204: +yy1218: yych = *++cursor_; switch (yych) { - case '.': goto yy1251; - case '1': goto yy1252; - case '3': goto yy1253; - case '8': goto yy1254; + case '.': goto yy1265; + case '1': goto yy1266; + case '3': goto yy1267; + case '8': goto yy1268; default: goto yy87; } -yy1205: +yy1219: yych = *++cursor_; - if (yych == 'r') goto yy1255; + if (yych == 'r') goto yy1269; goto yy87; -yy1206: +yy1220: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 330 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, I64Extend16S); } -#line 6791 "src/prebuilt/wast-lexer-gen.cc" -yy1208: +#line 6851 "src/prebuilt/wast-lexer-gen.cc" +yy1222: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 331 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, I64Extend32S); } -#line 6799 "src/prebuilt/wast-lexer-gen.cc" -yy1210: +#line 6859 "src/prebuilt/wast-lexer-gen.cc" +yy1224: yych = *++cursor_; - if (yych == '3') goto yy1256; + if (yych == '3') goto yy1270; goto yy87; -yy1211: +yy1225: yych = *++cursor_; - if (yych == '3') goto yy1257; + if (yych == '3') goto yy1271; goto yy87; -yy1212: +yy1226: yych = *++cursor_; - if (yych == 't') goto yy1258; + if (yych == 't') goto yy1272; goto yy87; -yy1213: +yy1227: yych = *++cursor_; - if (yych == '2') goto yy1259; + if (yych == '2') goto yy1273; goto yy87; -yy1214: +yy1228: yych = *++cursor_; - if (yych == '4') goto yy1261; + if (yych == '4') goto yy1275; goto yy87; -yy1215: +yy1229: yych = *++cursor_; - if (yych == 't') goto yy1263; + if (yych == 't') goto yy1277; goto yy87; -yy1216: +yy1230: yych = *++cursor_; - if (yych == '2') goto yy1264; + if (yych == '2') goto yy1278; goto yy87; -yy1217: +yy1231: yych = *++cursor_; - if (yych == '4') goto yy1266; + if (yych == '4') goto yy1280; goto yy87; -yy1218: +yy1232: yych = *++cursor_; - if (yych == 't') goto yy1268; + if (yych == 't') goto yy1282; goto yy87; -yy1219: +yy1233: yych = *++cursor_; - if (yych == 'o') goto yy1269; + if (yych == 'o') goto yy1283; goto yy87; -yy1220: +yy1234: yych = *++cursor_; - if (yych == 'd') goto yy1270; + if (yych == 'd') goto yy1284; goto yy87; -yy1221: +yy1235: yych = *++cursor_; - if (yych == 'r') goto yy1272; + if (yych == 'r') goto yy1286; goto yy87; -yy1222: +yy1236: yych = *++cursor_; - if (yych == 'a') goto yy1273; + if (yych == 'a') goto yy1287; goto yy87; -yy1223: +yy1237: yych = *++cursor_; - if (yych == 'l') goto yy1274; + if (yych == 'l') goto yy1288; goto yy87; -yy1224: +yy1238: yych = *++cursor_; - if (yych == '3') goto yy1275; - if (yych == '6') goto yy1276; + if (yych == '3') goto yy1289; + if (yych == '6') goto yy1290; goto yy87; -yy1225: +yy1239: yych = *++cursor_; - if (yych == '3') goto yy1277; - if (yych == '6') goto yy1278; + if (yych == '3') goto yy1291; + if (yych == '6') goto yy1292; goto yy87; -yy1226: +yy1240: yych = *++cursor_; - if (yych == '/') goto yy1279; + if (yych == '/') goto yy1293; goto yy87; -yy1227: +yy1241: yych = *++cursor_; - if (yych == '3') goto yy1280; - if (yych == '6') goto yy1281; + if (yych == '3') goto yy1294; + if (yych == '6') goto yy1295; goto yy87; -yy1228: +yy1242: yych = *++cursor_; - if (yych == '3') goto yy1282; - if (yych == '6') goto yy1283; + if (yych == '3') goto yy1296; + if (yych == '6') goto yy1297; goto yy87; -yy1229: +yy1243: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 435 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, F64PromoteF32); } -#line 6887 "src/prebuilt/wast-lexer-gen.cc" -yy1231: +#line 6947 "src/prebuilt/wast-lexer-gen.cc" +yy1245: yych = *++cursor_; - if (yych == '/') goto yy1284; + if (yych == '/') goto yy1298; goto yy87; -yy1232: +yy1246: ++cursor_; if ((yych = *cursor_) <= '0') { if (yych <= '"') { @@ -6899,290 +6959,290 @@ yy1232: } } else { if (yych <= '8') { - if (yych <= '1') goto yy1285; + if (yych <= '1') goto yy1299; if (yych <= '7') goto yy86; - goto yy1286; + goto yy1300; } else { - if (yych == ';') goto yy1233; + if (yych == ';') goto yy1247; if (yych <= '~') goto yy86; } } -yy1233: -#line 446 "src/wast-lexer.cc" +yy1247: +#line 449 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicLoad, I32AtomicLoad); } -#line 6914 "src/prebuilt/wast-lexer-gen.cc" -yy1234: +#line 6974 "src/prebuilt/wast-lexer-gen.cc" +yy1248: yych = *++cursor_; switch (yych) { - case 'a': goto yy1287; - case 'c': goto yy1288; - case 'o': goto yy1289; - case 's': goto yy1290; - case 'x': goto yy1291; + case 'a': goto yy1301; + case 'c': goto yy1302; + case 'o': goto yy1303; + case 's': goto yy1304; + case 'x': goto yy1305; default: goto yy87; } -yy1235: +yy1249: yych = *++cursor_; - if (yych == '6') goto yy1292; + if (yych == '6') goto yy1306; goto yy87; -yy1236: +yy1250: yych = *++cursor_; - if (yych == '_') goto yy1293; + if (yych == '_') goto yy1307; goto yy87; -yy1237: +yy1251: yych = *++cursor_; - if (yych == 'e') goto yy1294; + if (yych == 'e') goto yy1308; goto yy87; -yy1238: +yy1252: yych = *++cursor_; - if (yych == '/') goto yy1296; + if (yych == '/') goto yy1310; goto yy87; -yy1239: +yy1253: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 411 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I32TruncSF32); } -#line 6948 "src/prebuilt/wast-lexer-gen.cc" -yy1241: +#line 7008 "src/prebuilt/wast-lexer-gen.cc" +yy1255: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 413 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I32TruncSF64); } -#line 6956 "src/prebuilt/wast-lexer-gen.cc" -yy1243: +#line 7016 "src/prebuilt/wast-lexer-gen.cc" +yy1257: yych = *++cursor_; - if (yych == '/') goto yy1297; + if (yych == '/') goto yy1311; goto yy87; -yy1244: +yy1258: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 415 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I32TruncUF32); } -#line 6968 "src/prebuilt/wast-lexer-gen.cc" -yy1246: +#line 7028 "src/prebuilt/wast-lexer-gen.cc" +yy1260: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 417 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I32TruncUF64); } -#line 6976 "src/prebuilt/wast-lexer-gen.cc" -yy1248: +#line 7036 "src/prebuilt/wast-lexer-gen.cc" +yy1262: yych = *++cursor_; - if (yych == '/') goto yy1298; + if (yych == '/') goto yy1312; goto yy87; -yy1249: +yy1263: ++cursor_; if ((yych = *cursor_) <= '1') { if (yych <= '"') { if (yych == '!') goto yy86; } else { if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy1250; + if (yych <= ')') goto yy1264; if (yych <= '0') goto yy86; - goto yy1299; + goto yy1313; } } else { if (yych <= '8') { - if (yych == '3') goto yy1300; + if (yych == '3') goto yy1314; if (yych <= '7') goto yy86; - goto yy1301; + goto yy1315; } else { - if (yych == ';') goto yy1250; + if (yych == ';') goto yy1264; if (yych <= '~') goto yy86; } } -yy1250: -#line 447 "src/wast-lexer.cc" +yy1264: +#line 450 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicLoad, I64AtomicLoad); } -#line 7005 "src/prebuilt/wast-lexer-gen.cc" -yy1251: +#line 7065 "src/prebuilt/wast-lexer-gen.cc" +yy1265: yych = *++cursor_; switch (yych) { - case 'a': goto yy1302; - case 'c': goto yy1303; - case 'o': goto yy1304; - case 's': goto yy1305; - case 'x': goto yy1306; + case 'a': goto yy1316; + case 'c': goto yy1317; + case 'o': goto yy1318; + case 's': goto yy1319; + case 'x': goto yy1320; default: goto yy87; } -yy1252: +yy1266: yych = *++cursor_; - if (yych == '6') goto yy1307; + if (yych == '6') goto yy1321; goto yy87; -yy1253: +yy1267: yych = *++cursor_; - if (yych == '2') goto yy1308; + if (yych == '2') goto yy1322; goto yy87; -yy1254: +yy1268: yych = *++cursor_; - if (yych == '_') goto yy1309; + if (yych == '_') goto yy1323; goto yy87; -yy1255: +yy1269: yych = *++cursor_; - if (yych == 'e') goto yy1310; + if (yych == 'e') goto yy1324; goto yy87; -yy1256: +yy1270: yych = *++cursor_; - if (yych == '2') goto yy1312; + if (yych == '2') goto yy1326; goto yy87; -yy1257: +yy1271: yych = *++cursor_; - if (yych == '2') goto yy1314; + if (yych == '2') goto yy1328; goto yy87; -yy1258: +yy1272: yych = *++cursor_; - if (yych == '/') goto yy1316; + if (yych == '/') goto yy1330; goto yy87; -yy1259: +yy1273: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 412 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I64TruncSF32); } -#line 7051 "src/prebuilt/wast-lexer-gen.cc" -yy1261: +#line 7111 "src/prebuilt/wast-lexer-gen.cc" +yy1275: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 414 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I64TruncSF64); } -#line 7059 "src/prebuilt/wast-lexer-gen.cc" -yy1263: +#line 7119 "src/prebuilt/wast-lexer-gen.cc" +yy1277: yych = *++cursor_; - if (yych == '/') goto yy1317; + if (yych == '/') goto yy1331; goto yy87; -yy1264: +yy1278: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 416 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I64TruncUF32); } -#line 7071 "src/prebuilt/wast-lexer-gen.cc" -yy1266: +#line 7131 "src/prebuilt/wast-lexer-gen.cc" +yy1280: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 418 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I64TruncUF64); } -#line 7079 "src/prebuilt/wast-lexer-gen.cc" -yy1268: +#line 7139 "src/prebuilt/wast-lexer-gen.cc" +yy1282: yych = *++cursor_; - if (yych == '/') goto yy1318; + if (yych == '/') goto yy1332; goto yy87; -yy1269: +yy1283: yych = *++cursor_; - if (yych == 'n') goto yy1319; + if (yych == 'n') goto yy1333; goto yy87; -yy1270: +yy1284: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 531 "src/wast-lexer.cc" +#line 534 "src/wast-lexer.cc" { RETURN(AssertMalformed); } -#line 7095 "src/prebuilt/wast-lexer-gen.cc" -yy1272: +#line 7155 "src/prebuilt/wast-lexer-gen.cc" +yy1286: yych = *++cursor_; - if (yych == 'i') goto yy1321; + if (yych == 'i') goto yy1335; goto yy87; -yy1273: +yy1287: yych = *++cursor_; - if (yych == 'n') goto yy1322; + if (yych == 'n') goto yy1336; goto yy87; -yy1274: +yy1288: yych = *++cursor_; - if (yych == 'e') goto yy1323; + if (yych == 'e') goto yy1337; goto yy87; -yy1275: +yy1289: yych = *++cursor_; - if (yych == '2') goto yy1325; + if (yych == '2') goto yy1339; goto yy87; -yy1276: +yy1290: yych = *++cursor_; - if (yych == '4') goto yy1327; + if (yych == '4') goto yy1341; goto yy87; -yy1277: +yy1291: yych = *++cursor_; - if (yych == '2') goto yy1329; + if (yych == '2') goto yy1343; goto yy87; -yy1278: +yy1292: yych = *++cursor_; - if (yych == '4') goto yy1331; + if (yych == '4') goto yy1345; goto yy87; -yy1279: +yy1293: yych = *++cursor_; - if (yych == 'i') goto yy1333; + if (yych == 'i') goto yy1347; goto yy87; -yy1280: +yy1294: yych = *++cursor_; - if (yych == '2') goto yy1334; + if (yych == '2') goto yy1348; goto yy87; -yy1281: +yy1295: yych = *++cursor_; - if (yych == '4') goto yy1336; + if (yych == '4') goto yy1350; goto yy87; -yy1282: +yy1296: yych = *++cursor_; - if (yych == '2') goto yy1338; + if (yych == '2') goto yy1352; goto yy87; -yy1283: +yy1297: yych = *++cursor_; - if (yych == '4') goto yy1340; + if (yych == '4') goto yy1354; goto yy87; -yy1284: +yy1298: yych = *++cursor_; - if (yych == 'i') goto yy1342; + if (yych == 'i') goto yy1356; goto yy87; -yy1285: +yy1299: yych = *++cursor_; - if (yych == '6') goto yy1343; + if (yych == '6') goto yy1357; goto yy87; -yy1286: +yy1300: yych = *++cursor_; - if (yych == '_') goto yy1344; + if (yych == '_') goto yy1358; goto yy87; -yy1287: +yy1301: yych = *++cursor_; - if (yych == 'd') goto yy1345; - if (yych == 'n') goto yy1346; + if (yych == 'd') goto yy1359; + if (yych == 'n') goto yy1360; goto yy87; -yy1288: +yy1302: yych = *++cursor_; - if (yych == 'm') goto yy1347; + if (yych == 'm') goto yy1361; goto yy87; -yy1289: +yy1303: yych = *++cursor_; - if (yych == 'r') goto yy1348; + if (yych == 'r') goto yy1362; goto yy87; -yy1290: +yy1304: yych = *++cursor_; - if (yych == 'u') goto yy1350; + if (yych == 'u') goto yy1364; goto yy87; -yy1291: +yy1305: yych = *++cursor_; - if (yych == 'c') goto yy1351; - if (yych == 'o') goto yy1352; + if (yych == 'c') goto yy1365; + if (yych == 'o') goto yy1366; goto yy87; -yy1292: +yy1306: yych = *++cursor_; - if (yych == '_') goto yy1353; + if (yych == '_') goto yy1367; goto yy87; -yy1293: +yy1307: yych = *++cursor_; - if (yych == 'u') goto yy1354; + if (yych == 'u') goto yy1368; goto yy87; -yy1294: +yy1308: ++cursor_; if ((yych = *cursor_) <= '0') { if (yych <= '"') { @@ -7193,1508 +7253,1508 @@ yy1294: } } else { if (yych <= '8') { - if (yych <= '1') goto yy1355; + if (yych <= '1') goto yy1369; if (yych <= '7') goto yy86; - goto yy1356; + goto yy1370; } else { - if (yych == ';') goto yy1295; + if (yych == ';') goto yy1309; if (yych <= '~') goto yy86; } } -yy1295: -#line 453 "src/wast-lexer.cc" +yy1309: +#line 456 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicStore, I32AtomicStore); } -#line 7208 "src/prebuilt/wast-lexer-gen.cc" -yy1296: +#line 7268 "src/prebuilt/wast-lexer-gen.cc" +yy1310: yych = *++cursor_; - if (yych == 'f') goto yy1358; + if (yych == 'f') goto yy1372; goto yy87; -yy1297: +yy1311: yych = *++cursor_; - if (yych == 'f') goto yy1359; + if (yych == 'f') goto yy1373; goto yy87; -yy1298: +yy1312: yych = *++cursor_; - if (yych == 'f') goto yy1360; + if (yych == 'f') goto yy1374; goto yy87; -yy1299: +yy1313: yych = *++cursor_; - if (yych == '6') goto yy1361; + if (yych == '6') goto yy1375; goto yy87; -yy1300: +yy1314: yych = *++cursor_; - if (yych == '2') goto yy1362; + if (yych == '2') goto yy1376; goto yy87; -yy1301: +yy1315: yych = *++cursor_; - if (yych == '_') goto yy1363; + if (yych == '_') goto yy1377; goto yy87; -yy1302: +yy1316: yych = *++cursor_; - if (yych == 'd') goto yy1364; - if (yych == 'n') goto yy1365; + if (yych == 'd') goto yy1378; + if (yych == 'n') goto yy1379; goto yy87; -yy1303: +yy1317: yych = *++cursor_; - if (yych == 'm') goto yy1366; + if (yych == 'm') goto yy1380; goto yy87; -yy1304: +yy1318: yych = *++cursor_; - if (yych == 'r') goto yy1367; + if (yych == 'r') goto yy1381; goto yy87; -yy1305: +yy1319: yych = *++cursor_; - if (yych == 'u') goto yy1369; + if (yych == 'u') goto yy1383; goto yy87; -yy1306: +yy1320: yych = *++cursor_; - if (yych == 'c') goto yy1370; - if (yych == 'o') goto yy1371; + if (yych == 'c') goto yy1384; + if (yych == 'o') goto yy1385; goto yy87; -yy1307: +yy1321: yych = *++cursor_; - if (yych == '_') goto yy1372; + if (yych == '_') goto yy1386; goto yy87; -yy1308: +yy1322: yych = *++cursor_; - if (yych == '_') goto yy1373; + if (yych == '_') goto yy1387; goto yy87; -yy1309: +yy1323: yych = *++cursor_; - if (yych == 'u') goto yy1374; + if (yych == 'u') goto yy1388; goto yy87; -yy1310: +yy1324: ++cursor_; if ((yych = *cursor_) <= '1') { if (yych <= '"') { if (yych == '!') goto yy86; } else { if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy1311; + if (yych <= ')') goto yy1325; if (yych <= '0') goto yy86; - goto yy1375; + goto yy1389; } } else { if (yych <= '8') { - if (yych == '3') goto yy1376; + if (yych == '3') goto yy1390; if (yych <= '7') goto yy86; - goto yy1377; + goto yy1391; } else { - if (yych == ';') goto yy1311; + if (yych == ';') goto yy1325; if (yych <= '~') goto yy86; } } -yy1311: -#line 454 "src/wast-lexer.cc" +yy1325: +#line 457 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicStore, I64AtomicStore); } -#line 7291 "src/prebuilt/wast-lexer-gen.cc" -yy1312: +#line 7351 "src/prebuilt/wast-lexer-gen.cc" +yy1326: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 408 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I64ExtendSI32); } -#line 7299 "src/prebuilt/wast-lexer-gen.cc" -yy1314: +#line 7359 "src/prebuilt/wast-lexer-gen.cc" +yy1328: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 409 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I64ExtendUI32); } -#line 7307 "src/prebuilt/wast-lexer-gen.cc" -yy1316: +#line 7367 "src/prebuilt/wast-lexer-gen.cc" +yy1330: yych = *++cursor_; - if (yych == 'f') goto yy1379; + if (yych == 'f') goto yy1393; goto yy87; -yy1317: +yy1331: yych = *++cursor_; - if (yych == 'f') goto yy1380; + if (yych == 'f') goto yy1394; goto yy87; -yy1318: +yy1332: yych = *++cursor_; - if (yych == 'f') goto yy1381; + if (yych == 'f') goto yy1395; goto yy87; -yy1319: +yy1333: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 538 "src/wast-lexer.cc" +#line 541 "src/wast-lexer.cc" { RETURN(AssertExhaustion); } -#line 7327 "src/prebuilt/wast-lexer-gen.cc" -yy1321: +#line 7387 "src/prebuilt/wast-lexer-gen.cc" +yy1335: yych = *++cursor_; - if (yych == 't') goto yy1382; + if (yych == 't') goto yy1396; goto yy87; -yy1322: +yy1336: yych = *++cursor_; - if (yych == 'o') goto yy1383; + if (yych == 'o') goto yy1397; goto yy87; -yy1323: +yy1337: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 533 "src/wast-lexer.cc" +#line 536 "src/wast-lexer.cc" { RETURN(AssertUnlinkable); } -#line 7343 "src/prebuilt/wast-lexer-gen.cc" -yy1325: +#line 7403 "src/prebuilt/wast-lexer-gen.cc" +yy1339: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 427 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, F32ConvertSI32); } -#line 7351 "src/prebuilt/wast-lexer-gen.cc" -yy1327: +#line 7411 "src/prebuilt/wast-lexer-gen.cc" +yy1341: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 429 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, F32ConvertSI64); } -#line 7359 "src/prebuilt/wast-lexer-gen.cc" -yy1329: +#line 7419 "src/prebuilt/wast-lexer-gen.cc" +yy1343: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 431 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, F32ConvertUI32); } -#line 7367 "src/prebuilt/wast-lexer-gen.cc" -yy1331: +#line 7427 "src/prebuilt/wast-lexer-gen.cc" +yy1345: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 433 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, F32ConvertUI64); } -#line 7375 "src/prebuilt/wast-lexer-gen.cc" -yy1333: +#line 7435 "src/prebuilt/wast-lexer-gen.cc" +yy1347: yych = *++cursor_; - if (yych == '3') goto yy1384; + if (yych == '3') goto yy1398; goto yy87; -yy1334: +yy1348: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 428 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, F64ConvertSI32); } -#line 7387 "src/prebuilt/wast-lexer-gen.cc" -yy1336: +#line 7447 "src/prebuilt/wast-lexer-gen.cc" +yy1350: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 430 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, F64ConvertSI64); } -#line 7395 "src/prebuilt/wast-lexer-gen.cc" -yy1338: +#line 7455 "src/prebuilt/wast-lexer-gen.cc" +yy1352: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 432 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, F64ConvertUI32); } -#line 7403 "src/prebuilt/wast-lexer-gen.cc" -yy1340: +#line 7463 "src/prebuilt/wast-lexer-gen.cc" +yy1354: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 434 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, F64ConvertUI64); } -#line 7411 "src/prebuilt/wast-lexer-gen.cc" -yy1342: +#line 7471 "src/prebuilt/wast-lexer-gen.cc" +yy1356: yych = *++cursor_; - if (yych == '6') goto yy1385; + if (yych == '6') goto yy1399; goto yy87; -yy1343: +yy1357: yych = *++cursor_; - if (yych == '_') goto yy1386; + if (yych == '_') goto yy1400; goto yy87; -yy1344: +yy1358: yych = *++cursor_; - if (yych == 'u') goto yy1387; + if (yych == 'u') goto yy1401; goto yy87; -yy1345: +yy1359: yych = *++cursor_; - if (yych == 'd') goto yy1389; + if (yych == 'd') goto yy1403; goto yy87; -yy1346: +yy1360: yych = *++cursor_; - if (yych == 'd') goto yy1391; + if (yych == 'd') goto yy1405; goto yy87; -yy1347: +yy1361: yych = *++cursor_; - if (yych == 'p') goto yy1393; + if (yych == 'p') goto yy1407; goto yy87; -yy1348: +yy1362: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 481 "src/wast-lexer.cc" +#line 484 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmwOr); } -#line 7443 "src/prebuilt/wast-lexer-gen.cc" -yy1350: +#line 7503 "src/prebuilt/wast-lexer-gen.cc" +yy1364: yych = *++cursor_; - if (yych == 'b') goto yy1394; + if (yych == 'b') goto yy1408; goto yy87; -yy1351: +yy1365: yych = *++cursor_; - if (yych == 'h') goto yy1396; + if (yych == 'h') goto yy1410; goto yy87; -yy1352: +yy1366: yych = *++cursor_; - if (yych == 'r') goto yy1397; + if (yych == 'r') goto yy1411; goto yy87; -yy1353: +yy1367: yych = *++cursor_; - if (yych == 'u') goto yy1399; + if (yych == 'u') goto yy1413; goto yy87; -yy1354: +yy1368: yych = *++cursor_; - if (yych == '.') goto yy1400; + if (yych == '.') goto yy1414; goto yy87; -yy1355: +yy1369: yych = *++cursor_; - if (yych == '6') goto yy1401; + if (yych == '6') goto yy1415; goto yy87; -yy1356: +yy1370: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 455 "src/wast-lexer.cc" +#line 458 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicStore, I32AtomicStore8); } -#line 7475 "src/prebuilt/wast-lexer-gen.cc" -yy1358: +#line 7535 "src/prebuilt/wast-lexer-gen.cc" +yy1372: yych = *++cursor_; - if (yych == '3') goto yy1403; + if (yych == '3') goto yy1417; goto yy87; -yy1359: +yy1373: yych = *++cursor_; - if (yych == '3') goto yy1404; - if (yych == '6') goto yy1405; + if (yych == '3') goto yy1418; + if (yych == '6') goto yy1419; goto yy87; -yy1360: +yy1374: yych = *++cursor_; - if (yych == '3') goto yy1406; - if (yych == '6') goto yy1407; + if (yych == '3') goto yy1420; + if (yych == '6') goto yy1421; goto yy87; -yy1361: +yy1375: yych = *++cursor_; - if (yych == '_') goto yy1408; + if (yych == '_') goto yy1422; goto yy87; -yy1362: +yy1376: yych = *++cursor_; - if (yych == '_') goto yy1409; + if (yych == '_') goto yy1423; goto yy87; -yy1363: +yy1377: yych = *++cursor_; - if (yych == 'u') goto yy1410; + if (yych == 'u') goto yy1424; goto yy87; -yy1364: +yy1378: yych = *++cursor_; - if (yych == 'd') goto yy1412; + if (yych == 'd') goto yy1426; goto yy87; -yy1365: +yy1379: yych = *++cursor_; - if (yych == 'd') goto yy1414; + if (yych == 'd') goto yy1428; goto yy87; -yy1366: +yy1380: yych = *++cursor_; - if (yych == 'p') goto yy1416; + if (yych == 'p') goto yy1430; goto yy87; -yy1367: +yy1381: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 482 "src/wast-lexer.cc" +#line 485 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmwOr); } -#line 7521 "src/prebuilt/wast-lexer-gen.cc" -yy1369: +#line 7581 "src/prebuilt/wast-lexer-gen.cc" +yy1383: yych = *++cursor_; - if (yych == 'b') goto yy1417; + if (yych == 'b') goto yy1431; goto yy87; -yy1370: +yy1384: yych = *++cursor_; - if (yych == 'h') goto yy1419; + if (yych == 'h') goto yy1433; goto yy87; -yy1371: +yy1385: yych = *++cursor_; - if (yych == 'r') goto yy1420; + if (yych == 'r') goto yy1434; goto yy87; -yy1372: +yy1386: yych = *++cursor_; - if (yych == 'u') goto yy1422; + if (yych == 'u') goto yy1436; goto yy87; -yy1373: +yy1387: yych = *++cursor_; - if (yych == 'u') goto yy1423; + if (yych == 'u') goto yy1437; goto yy87; -yy1374: +yy1388: yych = *++cursor_; - if (yych == '.') goto yy1424; + if (yych == '.') goto yy1438; goto yy87; -yy1375: +yy1389: yych = *++cursor_; - if (yych == '6') goto yy1425; + if (yych == '6') goto yy1439; goto yy87; -yy1376: +yy1390: yych = *++cursor_; - if (yych == '2') goto yy1427; + if (yych == '2') goto yy1441; goto yy87; -yy1377: +yy1391: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 457 "src/wast-lexer.cc" +#line 460 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicStore, I64AtomicStore8); } -#line 7561 "src/prebuilt/wast-lexer-gen.cc" -yy1379: +#line 7621 "src/prebuilt/wast-lexer-gen.cc" +yy1393: yych = *++cursor_; - if (yych == '6') goto yy1429; + if (yych == '6') goto yy1443; goto yy87; -yy1380: +yy1394: yych = *++cursor_; - if (yych == '3') goto yy1430; - if (yych == '6') goto yy1431; + if (yych == '3') goto yy1444; + if (yych == '6') goto yy1445; goto yy87; -yy1381: +yy1395: yych = *++cursor_; - if (yych == '3') goto yy1432; - if (yych == '6') goto yy1433; + if (yych == '3') goto yy1446; + if (yych == '6') goto yy1447; goto yy87; -yy1382: +yy1396: yych = *++cursor_; - if (yych == 'h') goto yy1434; + if (yych == 'h') goto yy1448; goto yy87; -yy1383: +yy1397: yych = *++cursor_; - if (yych == 'n') goto yy1435; + if (yych == 'n') goto yy1449; goto yy87; -yy1384: +yy1398: yych = *++cursor_; - if (yych == '2') goto yy1436; + if (yych == '2') goto yy1450; goto yy87; -yy1385: +yy1399: yych = *++cursor_; - if (yych == '4') goto yy1438; + if (yych == '4') goto yy1452; goto yy87; -yy1386: +yy1400: yych = *++cursor_; - if (yych == 'u') goto yy1440; + if (yych == 'u') goto yy1454; goto yy87; -yy1387: +yy1401: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 448 "src/wast-lexer.cc" +#line 451 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicLoad, I32AtomicLoad8U); } -#line 7603 "src/prebuilt/wast-lexer-gen.cc" -yy1389: +#line 7663 "src/prebuilt/wast-lexer-gen.cc" +yy1403: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 460 "src/wast-lexer.cc" +#line 463 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmwAdd); } -#line 7611 "src/prebuilt/wast-lexer-gen.cc" -yy1391: +#line 7671 "src/prebuilt/wast-lexer-gen.cc" +yy1405: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 474 "src/wast-lexer.cc" +#line 477 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmwAnd); } -#line 7619 "src/prebuilt/wast-lexer-gen.cc" -yy1393: +#line 7679 "src/prebuilt/wast-lexer-gen.cc" +yy1407: yych = *++cursor_; - if (yych == 'x') goto yy1442; + if (yych == 'x') goto yy1456; goto yy87; -yy1394: +yy1408: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 467 "src/wast-lexer.cc" +#line 470 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmwSub); } -#line 7631 "src/prebuilt/wast-lexer-gen.cc" -yy1396: +#line 7691 "src/prebuilt/wast-lexer-gen.cc" +yy1410: yych = *++cursor_; - if (yych == 'g') goto yy1443; + if (yych == 'g') goto yy1457; goto yy87; -yy1397: +yy1411: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 488 "src/wast-lexer.cc" +#line 491 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmwXor); } -#line 7643 "src/prebuilt/wast-lexer-gen.cc" -yy1399: +#line 7703 "src/prebuilt/wast-lexer-gen.cc" +yy1413: yych = *++cursor_; - if (yych == '.') goto yy1445; + if (yych == '.') goto yy1459; goto yy87; -yy1400: +yy1414: yych = *++cursor_; switch (yych) { - case 'a': goto yy1446; - case 'c': goto yy1447; - case 'o': goto yy1448; - case 's': goto yy1449; - case 'x': goto yy1450; + case 'a': goto yy1460; + case 'c': goto yy1461; + case 'o': goto yy1462; + case 's': goto yy1463; + case 'x': goto yy1464; default: goto yy87; } -yy1401: +yy1415: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 456 "src/wast-lexer.cc" +#line 459 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicStore, I32AtomicStore16); } -#line 7665 "src/prebuilt/wast-lexer-gen.cc" -yy1403: +#line 7725 "src/prebuilt/wast-lexer-gen.cc" +yy1417: yych = *++cursor_; - if (yych == '2') goto yy1451; + if (yych == '2') goto yy1465; goto yy87; -yy1404: +yy1418: yych = *++cursor_; - if (yych == '2') goto yy1453; + if (yych == '2') goto yy1467; goto yy87; -yy1405: +yy1419: yych = *++cursor_; - if (yych == '4') goto yy1455; + if (yych == '4') goto yy1469; goto yy87; -yy1406: +yy1420: yych = *++cursor_; - if (yych == '2') goto yy1457; + if (yych == '2') goto yy1471; goto yy87; -yy1407: +yy1421: yych = *++cursor_; - if (yych == '4') goto yy1459; + if (yych == '4') goto yy1473; goto yy87; -yy1408: +yy1422: yych = *++cursor_; - if (yych == 'u') goto yy1461; + if (yych == 'u') goto yy1475; goto yy87; -yy1409: +yy1423: yych = *++cursor_; - if (yych == 'u') goto yy1463; + if (yych == 'u') goto yy1477; goto yy87; -yy1410: +yy1424: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 450 "src/wast-lexer.cc" +#line 453 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicLoad, I64AtomicLoad8U); } -#line 7701 "src/prebuilt/wast-lexer-gen.cc" -yy1412: +#line 7761 "src/prebuilt/wast-lexer-gen.cc" +yy1426: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 461 "src/wast-lexer.cc" +#line 464 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmwAdd); } -#line 7709 "src/prebuilt/wast-lexer-gen.cc" -yy1414: +#line 7769 "src/prebuilt/wast-lexer-gen.cc" +yy1428: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 475 "src/wast-lexer.cc" +#line 478 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmwAnd); } -#line 7717 "src/prebuilt/wast-lexer-gen.cc" -yy1416: +#line 7777 "src/prebuilt/wast-lexer-gen.cc" +yy1430: yych = *++cursor_; - if (yych == 'x') goto yy1465; + if (yych == 'x') goto yy1479; goto yy87; -yy1417: +yy1431: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 468 "src/wast-lexer.cc" +#line 471 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmwSub); } -#line 7729 "src/prebuilt/wast-lexer-gen.cc" -yy1419: +#line 7789 "src/prebuilt/wast-lexer-gen.cc" +yy1433: yych = *++cursor_; - if (yych == 'g') goto yy1466; + if (yych == 'g') goto yy1480; goto yy87; -yy1420: +yy1434: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 489 "src/wast-lexer.cc" +#line 492 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmwXor); } -#line 7741 "src/prebuilt/wast-lexer-gen.cc" -yy1422: +#line 7801 "src/prebuilt/wast-lexer-gen.cc" +yy1436: yych = *++cursor_; - if (yych == '.') goto yy1468; + if (yych == '.') goto yy1482; goto yy87; -yy1423: +yy1437: yych = *++cursor_; - if (yych == '.') goto yy1469; + if (yych == '.') goto yy1483; goto yy87; -yy1424: +yy1438: yych = *++cursor_; switch (yych) { - case 'a': goto yy1470; - case 'c': goto yy1471; - case 'o': goto yy1472; - case 's': goto yy1473; - case 'x': goto yy1474; + case 'a': goto yy1484; + case 'c': goto yy1485; + case 'o': goto yy1486; + case 's': goto yy1487; + case 'x': goto yy1488; default: goto yy87; } -yy1425: +yy1439: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 458 "src/wast-lexer.cc" +#line 461 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicStore, I64AtomicStore16); } -#line 7767 "src/prebuilt/wast-lexer-gen.cc" -yy1427: +#line 7827 "src/prebuilt/wast-lexer-gen.cc" +yy1441: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 459 "src/wast-lexer.cc" +#line 462 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicStore, I64AtomicStore32); } -#line 7775 "src/prebuilt/wast-lexer-gen.cc" -yy1429: +#line 7835 "src/prebuilt/wast-lexer-gen.cc" +yy1443: yych = *++cursor_; - if (yych == '4') goto yy1475; + if (yych == '4') goto yy1489; goto yy87; -yy1430: +yy1444: yych = *++cursor_; - if (yych == '2') goto yy1477; + if (yych == '2') goto yy1491; goto yy87; -yy1431: +yy1445: yych = *++cursor_; - if (yych == '4') goto yy1479; + if (yych == '4') goto yy1493; goto yy87; -yy1432: +yy1446: yych = *++cursor_; - if (yych == '2') goto yy1481; + if (yych == '2') goto yy1495; goto yy87; -yy1433: +yy1447: yych = *++cursor_; - if (yych == '4') goto yy1483; + if (yych == '4') goto yy1497; goto yy87; -yy1434: +yy1448: yych = *++cursor_; - if (yych == 'm') goto yy1485; + if (yych == 'm') goto yy1499; goto yy87; -yy1435: +yy1449: yych = *++cursor_; - if (yych == 'i') goto yy1486; + if (yych == 'i') goto yy1500; goto yy87; -yy1436: +yy1450: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 437 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, F32ReinterpretI32); } -#line 7811 "src/prebuilt/wast-lexer-gen.cc" -yy1438: +#line 7871 "src/prebuilt/wast-lexer-gen.cc" +yy1452: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 439 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, F64ReinterpretI64); } -#line 7819 "src/prebuilt/wast-lexer-gen.cc" -yy1440: +#line 7879 "src/prebuilt/wast-lexer-gen.cc" +yy1454: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 449 "src/wast-lexer.cc" +#line 452 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicLoad, I32AtomicLoad16U); } -#line 7827 "src/prebuilt/wast-lexer-gen.cc" -yy1442: +#line 7887 "src/prebuilt/wast-lexer-gen.cc" +yy1456: yych = *++cursor_; - if (yych == 'c') goto yy1487; + if (yych == 'c') goto yy1501; goto yy87; -yy1443: +yy1457: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 495 "src/wast-lexer.cc" +#line 498 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmwXchg); } -#line 7839 "src/prebuilt/wast-lexer-gen.cc" -yy1445: +#line 7899 "src/prebuilt/wast-lexer-gen.cc" +yy1459: yych = *++cursor_; switch (yych) { - case 'a': goto yy1488; - case 'c': goto yy1489; - case 'o': goto yy1490; - case 's': goto yy1491; - case 'x': goto yy1492; + case 'a': goto yy1502; + case 'c': goto yy1503; + case 'o': goto yy1504; + case 's': goto yy1505; + case 'x': goto yy1506; default: goto yy87; } -yy1446: +yy1460: yych = *++cursor_; - if (yych == 'd') goto yy1493; - if (yych == 'n') goto yy1494; + if (yych == 'd') goto yy1507; + if (yych == 'n') goto yy1508; goto yy87; -yy1447: +yy1461: yych = *++cursor_; - if (yych == 'm') goto yy1495; + if (yych == 'm') goto yy1509; goto yy87; -yy1448: +yy1462: yych = *++cursor_; - if (yych == 'r') goto yy1496; + if (yych == 'r') goto yy1510; goto yy87; -yy1449: +yy1463: yych = *++cursor_; - if (yych == 'u') goto yy1498; + if (yych == 'u') goto yy1512; goto yy87; -yy1450: +yy1464: yych = *++cursor_; - if (yych == 'c') goto yy1499; - if (yych == 'o') goto yy1500; + if (yych == 'c') goto yy1513; + if (yych == 'o') goto yy1514; goto yy87; -yy1451: +yy1465: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 438 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I32ReinterpretF32); } -#line 7879 "src/prebuilt/wast-lexer-gen.cc" -yy1453: +#line 7939 "src/prebuilt/wast-lexer-gen.cc" +yy1467: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 419 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I32TruncSSatF32); } -#line 7887 "src/prebuilt/wast-lexer-gen.cc" -yy1455: +#line 7947 "src/prebuilt/wast-lexer-gen.cc" +yy1469: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 421 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I32TruncSSatF64); } -#line 7895 "src/prebuilt/wast-lexer-gen.cc" -yy1457: +#line 7955 "src/prebuilt/wast-lexer-gen.cc" +yy1471: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 423 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I32TruncUSatF32); } -#line 7903 "src/prebuilt/wast-lexer-gen.cc" -yy1459: +#line 7963 "src/prebuilt/wast-lexer-gen.cc" +yy1473: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 425 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I32TruncUSatF64); } -#line 7911 "src/prebuilt/wast-lexer-gen.cc" -yy1461: +#line 7971 "src/prebuilt/wast-lexer-gen.cc" +yy1475: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 451 "src/wast-lexer.cc" +#line 454 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicLoad, I64AtomicLoad16U); } -#line 7919 "src/prebuilt/wast-lexer-gen.cc" -yy1463: +#line 7979 "src/prebuilt/wast-lexer-gen.cc" +yy1477: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 452 "src/wast-lexer.cc" +#line 455 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicLoad, I64AtomicLoad32U); } -#line 7927 "src/prebuilt/wast-lexer-gen.cc" -yy1465: +#line 7987 "src/prebuilt/wast-lexer-gen.cc" +yy1479: yych = *++cursor_; - if (yych == 'c') goto yy1501; + if (yych == 'c') goto yy1515; goto yy87; -yy1466: +yy1480: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 496 "src/wast-lexer.cc" +#line 499 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmwXchg); } -#line 7939 "src/prebuilt/wast-lexer-gen.cc" -yy1468: +#line 7999 "src/prebuilt/wast-lexer-gen.cc" +yy1482: yych = *++cursor_; switch (yych) { - case 'a': goto yy1502; - case 'c': goto yy1503; - case 'o': goto yy1504; - case 's': goto yy1505; - case 'x': goto yy1506; + case 'a': goto yy1516; + case 'c': goto yy1517; + case 'o': goto yy1518; + case 's': goto yy1519; + case 'x': goto yy1520; default: goto yy87; } -yy1469: +yy1483: yych = *++cursor_; switch (yych) { - case 'a': goto yy1507; - case 'c': goto yy1508; - case 'o': goto yy1509; - case 's': goto yy1510; - case 'x': goto yy1511; + case 'a': goto yy1521; + case 'c': goto yy1522; + case 'o': goto yy1523; + case 's': goto yy1524; + case 'x': goto yy1525; default: goto yy87; } -yy1470: +yy1484: yych = *++cursor_; - if (yych == 'd') goto yy1512; - if (yych == 'n') goto yy1513; + if (yych == 'd') goto yy1526; + if (yych == 'n') goto yy1527; goto yy87; -yy1471: +yy1485: yych = *++cursor_; - if (yych == 'm') goto yy1514; + if (yych == 'm') goto yy1528; goto yy87; -yy1472: +yy1486: yych = *++cursor_; - if (yych == 'r') goto yy1515; + if (yych == 'r') goto yy1529; goto yy87; -yy1473: +yy1487: yych = *++cursor_; - if (yych == 'u') goto yy1517; + if (yych == 'u') goto yy1531; goto yy87; -yy1474: +yy1488: yych = *++cursor_; - if (yych == 'c') goto yy1518; - if (yych == 'o') goto yy1519; + if (yych == 'c') goto yy1532; + if (yych == 'o') goto yy1533; goto yy87; -yy1475: +yy1489: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 440 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I64ReinterpretF64); } -#line 7989 "src/prebuilt/wast-lexer-gen.cc" -yy1477: +#line 8049 "src/prebuilt/wast-lexer-gen.cc" +yy1491: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 420 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I64TruncSSatF32); } -#line 7997 "src/prebuilt/wast-lexer-gen.cc" -yy1479: +#line 8057 "src/prebuilt/wast-lexer-gen.cc" +yy1493: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 422 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I64TruncSSatF64); } -#line 8005 "src/prebuilt/wast-lexer-gen.cc" -yy1481: +#line 8065 "src/prebuilt/wast-lexer-gen.cc" +yy1495: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 424 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I64TruncUSatF32); } -#line 8013 "src/prebuilt/wast-lexer-gen.cc" -yy1483: +#line 8073 "src/prebuilt/wast-lexer-gen.cc" +yy1497: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 426 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I64TruncUSatF64); } -#line 8021 "src/prebuilt/wast-lexer-gen.cc" -yy1485: +#line 8081 "src/prebuilt/wast-lexer-gen.cc" +yy1499: yych = *++cursor_; - if (yych == 'e') goto yy1520; + if (yych == 'e') goto yy1534; goto yy87; -yy1486: +yy1500: yych = *++cursor_; - if (yych == 'c') goto yy1521; + if (yych == 'c') goto yy1535; goto yy87; -yy1487: +yy1501: yych = *++cursor_; - if (yych == 'h') goto yy1522; + if (yych == 'h') goto yy1536; goto yy87; -yy1488: +yy1502: yych = *++cursor_; - if (yych == 'd') goto yy1523; - if (yych == 'n') goto yy1524; + if (yych == 'd') goto yy1537; + if (yych == 'n') goto yy1538; goto yy87; -yy1489: +yy1503: yych = *++cursor_; - if (yych == 'm') goto yy1525; + if (yych == 'm') goto yy1539; goto yy87; -yy1490: +yy1504: yych = *++cursor_; - if (yych == 'r') goto yy1526; + if (yych == 'r') goto yy1540; goto yy87; -yy1491: +yy1505: yych = *++cursor_; - if (yych == 'u') goto yy1528; + if (yych == 'u') goto yy1542; goto yy87; -yy1492: +yy1506: yych = *++cursor_; - if (yych == 'c') goto yy1529; - if (yych == 'o') goto yy1530; + if (yych == 'c') goto yy1543; + if (yych == 'o') goto yy1544; goto yy87; -yy1493: +yy1507: yych = *++cursor_; - if (yych == 'd') goto yy1531; + if (yych == 'd') goto yy1545; goto yy87; -yy1494: +yy1508: yych = *++cursor_; - if (yych == 'd') goto yy1533; + if (yych == 'd') goto yy1547; goto yy87; -yy1495: +yy1509: yych = *++cursor_; - if (yych == 'p') goto yy1535; + if (yych == 'p') goto yy1549; goto yy87; -yy1496: +yy1510: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 483 "src/wast-lexer.cc" +#line 486 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UOr); } -#line 8075 "src/prebuilt/wast-lexer-gen.cc" -yy1498: +#line 8135 "src/prebuilt/wast-lexer-gen.cc" +yy1512: yych = *++cursor_; - if (yych == 'b') goto yy1536; + if (yych == 'b') goto yy1550; goto yy87; -yy1499: +yy1513: yych = *++cursor_; - if (yych == 'h') goto yy1538; + if (yych == 'h') goto yy1552; goto yy87; -yy1500: +yy1514: yych = *++cursor_; - if (yych == 'r') goto yy1539; + if (yych == 'r') goto yy1553; goto yy87; -yy1501: +yy1515: yych = *++cursor_; - if (yych == 'h') goto yy1541; + if (yych == 'h') goto yy1555; goto yy87; -yy1502: +yy1516: yych = *++cursor_; - if (yych == 'd') goto yy1542; - if (yych == 'n') goto yy1543; + if (yych == 'd') goto yy1556; + if (yych == 'n') goto yy1557; goto yy87; -yy1503: +yy1517: yych = *++cursor_; - if (yych == 'm') goto yy1544; + if (yych == 'm') goto yy1558; goto yy87; -yy1504: +yy1518: yych = *++cursor_; - if (yych == 'r') goto yy1545; + if (yych == 'r') goto yy1559; goto yy87; -yy1505: +yy1519: yych = *++cursor_; - if (yych == 'u') goto yy1547; + if (yych == 'u') goto yy1561; goto yy87; -yy1506: +yy1520: yych = *++cursor_; - if (yych == 'c') goto yy1548; - if (yych == 'o') goto yy1549; + if (yych == 'c') goto yy1562; + if (yych == 'o') goto yy1563; goto yy87; -yy1507: +yy1521: yych = *++cursor_; - if (yych == 'd') goto yy1550; - if (yych == 'n') goto yy1551; + if (yych == 'd') goto yy1564; + if (yych == 'n') goto yy1565; goto yy87; -yy1508: +yy1522: yych = *++cursor_; - if (yych == 'm') goto yy1552; + if (yych == 'm') goto yy1566; goto yy87; -yy1509: +yy1523: yych = *++cursor_; - if (yych == 'r') goto yy1553; + if (yych == 'r') goto yy1567; goto yy87; -yy1510: +yy1524: yych = *++cursor_; - if (yych == 'u') goto yy1555; + if (yych == 'u') goto yy1569; goto yy87; -yy1511: +yy1525: yych = *++cursor_; - if (yych == 'c') goto yy1556; - if (yych == 'o') goto yy1557; + if (yych == 'c') goto yy1570; + if (yych == 'o') goto yy1571; goto yy87; -yy1512: +yy1526: yych = *++cursor_; - if (yych == 'd') goto yy1558; + if (yych == 'd') goto yy1572; goto yy87; -yy1513: +yy1527: yych = *++cursor_; - if (yych == 'd') goto yy1560; + if (yych == 'd') goto yy1574; goto yy87; -yy1514: +yy1528: yych = *++cursor_; - if (yych == 'p') goto yy1562; + if (yych == 'p') goto yy1576; goto yy87; -yy1515: +yy1529: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 485 "src/wast-lexer.cc" +#line 488 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UOr); } -#line 8155 "src/prebuilt/wast-lexer-gen.cc" -yy1517: +#line 8215 "src/prebuilt/wast-lexer-gen.cc" +yy1531: yych = *++cursor_; - if (yych == 'b') goto yy1563; + if (yych == 'b') goto yy1577; goto yy87; -yy1518: +yy1532: yych = *++cursor_; - if (yych == 'h') goto yy1565; + if (yych == 'h') goto yy1579; goto yy87; -yy1519: +yy1533: yych = *++cursor_; - if (yych == 'r') goto yy1566; + if (yych == 'r') goto yy1580; goto yy87; -yy1520: +yy1534: yych = *++cursor_; - if (yych == 't') goto yy1568; + if (yych == 't') goto yy1582; goto yy87; -yy1521: +yy1535: yych = *++cursor_; - if (yych == 'a') goto yy1569; + if (yych == 'a') goto yy1583; goto yy87; -yy1522: +yy1536: yych = *++cursor_; - if (yych == 'g') goto yy1570; + if (yych == 'g') goto yy1584; goto yy87; -yy1523: +yy1537: yych = *++cursor_; - if (yych == 'd') goto yy1572; + if (yych == 'd') goto yy1586; goto yy87; -yy1524: +yy1538: yych = *++cursor_; - if (yych == 'd') goto yy1574; + if (yych == 'd') goto yy1588; goto yy87; -yy1525: +yy1539: yych = *++cursor_; - if (yych == 'p') goto yy1576; + if (yych == 'p') goto yy1590; goto yy87; -yy1526: +yy1540: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 484 "src/wast-lexer.cc" +#line 487 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UOr); } -#line 8199 "src/prebuilt/wast-lexer-gen.cc" -yy1528: +#line 8259 "src/prebuilt/wast-lexer-gen.cc" +yy1542: yych = *++cursor_; - if (yych == 'b') goto yy1577; + if (yych == 'b') goto yy1591; goto yy87; -yy1529: +yy1543: yych = *++cursor_; - if (yych == 'h') goto yy1579; + if (yych == 'h') goto yy1593; goto yy87; -yy1530: +yy1544: yych = *++cursor_; - if (yych == 'r') goto yy1580; + if (yych == 'r') goto yy1594; goto yy87; -yy1531: +yy1545: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 462 "src/wast-lexer.cc" +#line 465 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UAdd); } -#line 8219 "src/prebuilt/wast-lexer-gen.cc" -yy1533: +#line 8279 "src/prebuilt/wast-lexer-gen.cc" +yy1547: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 476 "src/wast-lexer.cc" +#line 479 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UAnd); } -#line 8227 "src/prebuilt/wast-lexer-gen.cc" -yy1535: +#line 8287 "src/prebuilt/wast-lexer-gen.cc" +yy1549: yych = *++cursor_; - if (yych == 'x') goto yy1582; + if (yych == 'x') goto yy1596; goto yy87; -yy1536: +yy1550: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 469 "src/wast-lexer.cc" +#line 472 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8USub); } -#line 8239 "src/prebuilt/wast-lexer-gen.cc" -yy1538: +#line 8299 "src/prebuilt/wast-lexer-gen.cc" +yy1552: yych = *++cursor_; - if (yych == 'g') goto yy1583; + if (yych == 'g') goto yy1597; goto yy87; -yy1539: +yy1553: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 490 "src/wast-lexer.cc" +#line 493 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UXor); } -#line 8251 "src/prebuilt/wast-lexer-gen.cc" -yy1541: +#line 8311 "src/prebuilt/wast-lexer-gen.cc" +yy1555: yych = *++cursor_; - if (yych == 'g') goto yy1585; + if (yych == 'g') goto yy1599; goto yy87; -yy1542: +yy1556: yych = *++cursor_; - if (yych == 'd') goto yy1587; + if (yych == 'd') goto yy1601; goto yy87; -yy1543: +yy1557: yych = *++cursor_; - if (yych == 'd') goto yy1589; + if (yych == 'd') goto yy1603; goto yy87; -yy1544: +yy1558: yych = *++cursor_; - if (yych == 'p') goto yy1591; + if (yych == 'p') goto yy1605; goto yy87; -yy1545: +yy1559: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 486 "src/wast-lexer.cc" +#line 489 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UOr); } -#line 8275 "src/prebuilt/wast-lexer-gen.cc" -yy1547: +#line 8335 "src/prebuilt/wast-lexer-gen.cc" +yy1561: yych = *++cursor_; - if (yych == 'b') goto yy1592; + if (yych == 'b') goto yy1606; goto yy87; -yy1548: +yy1562: yych = *++cursor_; - if (yych == 'h') goto yy1594; + if (yych == 'h') goto yy1608; goto yy87; -yy1549: +yy1563: yych = *++cursor_; - if (yych == 'r') goto yy1595; + if (yych == 'r') goto yy1609; goto yy87; -yy1550: +yy1564: yych = *++cursor_; - if (yych == 'd') goto yy1597; + if (yych == 'd') goto yy1611; goto yy87; -yy1551: +yy1565: yych = *++cursor_; - if (yych == 'd') goto yy1599; + if (yych == 'd') goto yy1613; goto yy87; -yy1552: +yy1566: yych = *++cursor_; - if (yych == 'p') goto yy1601; + if (yych == 'p') goto yy1615; goto yy87; -yy1553: +yy1567: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 487 "src/wast-lexer.cc" +#line 490 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UOr); } -#line 8307 "src/prebuilt/wast-lexer-gen.cc" -yy1555: +#line 8367 "src/prebuilt/wast-lexer-gen.cc" +yy1569: yych = *++cursor_; - if (yych == 'b') goto yy1602; + if (yych == 'b') goto yy1616; goto yy87; -yy1556: +yy1570: yych = *++cursor_; - if (yych == 'h') goto yy1604; + if (yych == 'h') goto yy1618; goto yy87; -yy1557: +yy1571: yych = *++cursor_; - if (yych == 'r') goto yy1605; + if (yych == 'r') goto yy1619; goto yy87; -yy1558: +yy1572: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 464 "src/wast-lexer.cc" +#line 467 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UAdd); } -#line 8327 "src/prebuilt/wast-lexer-gen.cc" -yy1560: +#line 8387 "src/prebuilt/wast-lexer-gen.cc" +yy1574: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 478 "src/wast-lexer.cc" +#line 481 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UAnd); } -#line 8335 "src/prebuilt/wast-lexer-gen.cc" -yy1562: +#line 8395 "src/prebuilt/wast-lexer-gen.cc" +yy1576: yych = *++cursor_; - if (yych == 'x') goto yy1607; + if (yych == 'x') goto yy1621; goto yy87; -yy1563: +yy1577: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 471 "src/wast-lexer.cc" +#line 474 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8USub); } -#line 8347 "src/prebuilt/wast-lexer-gen.cc" -yy1565: +#line 8407 "src/prebuilt/wast-lexer-gen.cc" +yy1579: yych = *++cursor_; - if (yych == 'g') goto yy1608; + if (yych == 'g') goto yy1622; goto yy87; -yy1566: +yy1580: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 492 "src/wast-lexer.cc" +#line 495 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UXor); } -#line 8359 "src/prebuilt/wast-lexer-gen.cc" -yy1568: +#line 8419 "src/prebuilt/wast-lexer-gen.cc" +yy1582: yych = *++cursor_; - if (yych == 'i') goto yy1610; + if (yych == 'i') goto yy1624; goto yy87; -yy1569: +yy1583: yych = *++cursor_; - if (yych == 'l') goto yy1611; + if (yych == 'l') goto yy1625; goto yy87; -yy1570: +yy1584: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 502 "src/wast-lexer.cc" +#line 505 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmwCmpxchg); } -#line 8375 "src/prebuilt/wast-lexer-gen.cc" -yy1572: +#line 8435 "src/prebuilt/wast-lexer-gen.cc" +yy1586: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 463 "src/wast-lexer.cc" +#line 466 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UAdd); } -#line 8383 "src/prebuilt/wast-lexer-gen.cc" -yy1574: +#line 8443 "src/prebuilt/wast-lexer-gen.cc" +yy1588: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 477 "src/wast-lexer.cc" +#line 480 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UAnd); } -#line 8391 "src/prebuilt/wast-lexer-gen.cc" -yy1576: +#line 8451 "src/prebuilt/wast-lexer-gen.cc" +yy1590: yych = *++cursor_; - if (yych == 'x') goto yy1612; + if (yych == 'x') goto yy1626; goto yy87; -yy1577: +yy1591: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 470 "src/wast-lexer.cc" +#line 473 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16USub); } -#line 8403 "src/prebuilt/wast-lexer-gen.cc" -yy1579: +#line 8463 "src/prebuilt/wast-lexer-gen.cc" +yy1593: yych = *++cursor_; - if (yych == 'g') goto yy1613; + if (yych == 'g') goto yy1627; goto yy87; -yy1580: +yy1594: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 491 "src/wast-lexer.cc" +#line 494 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UXor); } -#line 8415 "src/prebuilt/wast-lexer-gen.cc" -yy1582: +#line 8475 "src/prebuilt/wast-lexer-gen.cc" +yy1596: yych = *++cursor_; - if (yych == 'c') goto yy1615; + if (yych == 'c') goto yy1629; goto yy87; -yy1583: +yy1597: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 497 "src/wast-lexer.cc" +#line 500 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UXchg); } -#line 8427 "src/prebuilt/wast-lexer-gen.cc" -yy1585: +#line 8487 "src/prebuilt/wast-lexer-gen.cc" +yy1599: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 503 "src/wast-lexer.cc" +#line 506 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmwCmpxchg); } -#line 8435 "src/prebuilt/wast-lexer-gen.cc" -yy1587: +#line 8495 "src/prebuilt/wast-lexer-gen.cc" +yy1601: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 465 "src/wast-lexer.cc" +#line 468 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UAdd); } -#line 8443 "src/prebuilt/wast-lexer-gen.cc" -yy1589: +#line 8503 "src/prebuilt/wast-lexer-gen.cc" +yy1603: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 479 "src/wast-lexer.cc" +#line 482 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UAnd); } -#line 8451 "src/prebuilt/wast-lexer-gen.cc" -yy1591: +#line 8511 "src/prebuilt/wast-lexer-gen.cc" +yy1605: yych = *++cursor_; - if (yych == 'x') goto yy1616; + if (yych == 'x') goto yy1630; goto yy87; -yy1592: +yy1606: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 472 "src/wast-lexer.cc" +#line 475 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16USub); } -#line 8463 "src/prebuilt/wast-lexer-gen.cc" -yy1594: +#line 8523 "src/prebuilt/wast-lexer-gen.cc" +yy1608: yych = *++cursor_; - if (yych == 'g') goto yy1617; + if (yych == 'g') goto yy1631; goto yy87; -yy1595: +yy1609: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 493 "src/wast-lexer.cc" +#line 496 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UXor); } -#line 8475 "src/prebuilt/wast-lexer-gen.cc" -yy1597: +#line 8535 "src/prebuilt/wast-lexer-gen.cc" +yy1611: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 466 "src/wast-lexer.cc" +#line 469 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UAdd); } -#line 8483 "src/prebuilt/wast-lexer-gen.cc" -yy1599: +#line 8543 "src/prebuilt/wast-lexer-gen.cc" +yy1613: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 480 "src/wast-lexer.cc" +#line 483 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UAnd); } -#line 8491 "src/prebuilt/wast-lexer-gen.cc" -yy1601: +#line 8551 "src/prebuilt/wast-lexer-gen.cc" +yy1615: yych = *++cursor_; - if (yych == 'x') goto yy1619; + if (yych == 'x') goto yy1633; goto yy87; -yy1602: +yy1616: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 473 "src/wast-lexer.cc" +#line 476 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32USub); } -#line 8503 "src/prebuilt/wast-lexer-gen.cc" -yy1604: +#line 8563 "src/prebuilt/wast-lexer-gen.cc" +yy1618: yych = *++cursor_; - if (yych == 'g') goto yy1620; + if (yych == 'g') goto yy1634; goto yy87; -yy1605: +yy1619: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 494 "src/wast-lexer.cc" +#line 497 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UXor); } -#line 8515 "src/prebuilt/wast-lexer-gen.cc" -yy1607: +#line 8575 "src/prebuilt/wast-lexer-gen.cc" +yy1621: yych = *++cursor_; - if (yych == 'c') goto yy1622; + if (yych == 'c') goto yy1636; goto yy87; -yy1608: +yy1622: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 499 "src/wast-lexer.cc" +#line 502 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UXchg); } -#line 8527 "src/prebuilt/wast-lexer-gen.cc" -yy1610: +#line 8587 "src/prebuilt/wast-lexer-gen.cc" +yy1624: yych = *++cursor_; - if (yych == 'c') goto yy1623; + if (yych == 'c') goto yy1637; goto yy87; -yy1611: +yy1625: yych = *++cursor_; - if (yych == '_') goto yy1624; + if (yych == '_') goto yy1638; goto yy87; -yy1612: +yy1626: yych = *++cursor_; - if (yych == 'c') goto yy1625; + if (yych == 'c') goto yy1639; goto yy87; -yy1613: +yy1627: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 498 "src/wast-lexer.cc" +#line 501 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UXchg); } -#line 8547 "src/prebuilt/wast-lexer-gen.cc" -yy1615: +#line 8607 "src/prebuilt/wast-lexer-gen.cc" +yy1629: yych = *++cursor_; - if (yych == 'h') goto yy1626; + if (yych == 'h') goto yy1640; goto yy87; -yy1616: +yy1630: yych = *++cursor_; - if (yych == 'c') goto yy1627; + if (yych == 'c') goto yy1641; goto yy87; -yy1617: +yy1631: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 500 "src/wast-lexer.cc" +#line 503 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UXchg); } -#line 8563 "src/prebuilt/wast-lexer-gen.cc" -yy1619: +#line 8623 "src/prebuilt/wast-lexer-gen.cc" +yy1633: yych = *++cursor_; - if (yych == 'c') goto yy1628; + if (yych == 'c') goto yy1642; goto yy87; -yy1620: +yy1634: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 501 "src/wast-lexer.cc" +#line 504 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UXchg); } -#line 8575 "src/prebuilt/wast-lexer-gen.cc" -yy1622: +#line 8635 "src/prebuilt/wast-lexer-gen.cc" +yy1636: yych = *++cursor_; - if (yych == 'h') goto yy1629; + if (yych == 'h') goto yy1643; goto yy87; -yy1623: +yy1637: yych = *++cursor_; - if (yych == '_') goto yy1630; + if (yych == '_') goto yy1644; goto yy87; -yy1624: +yy1638: yych = *++cursor_; - if (yych == 'n') goto yy1631; + if (yych == 'n') goto yy1645; goto yy87; -yy1625: +yy1639: yych = *++cursor_; - if (yych == 'h') goto yy1632; + if (yych == 'h') goto yy1646; goto yy87; -yy1626: +yy1640: yych = *++cursor_; - if (yych == 'g') goto yy1633; + if (yych == 'g') goto yy1647; goto yy87; -yy1627: +yy1641: yych = *++cursor_; - if (yych == 'h') goto yy1635; + if (yych == 'h') goto yy1649; goto yy87; -yy1628: +yy1642: yych = *++cursor_; - if (yych == 'h') goto yy1636; + if (yych == 'h') goto yy1650; goto yy87; -yy1629: +yy1643: yych = *++cursor_; - if (yych == 'g') goto yy1637; + if (yych == 'g') goto yy1651; goto yy87; -yy1630: +yy1644: yych = *++cursor_; - if (yych == 'n') goto yy1639; + if (yych == 'n') goto yy1653; goto yy87; -yy1631: +yy1645: yych = *++cursor_; - if (yych == 'a') goto yy1640; + if (yych == 'a') goto yy1654; goto yy87; -yy1632: +yy1646: yych = *++cursor_; - if (yych == 'g') goto yy1641; + if (yych == 'g') goto yy1655; goto yy87; -yy1633: +yy1647: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 504 "src/wast-lexer.cc" +#line 507 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmw8UCmpxchg); } -#line 8627 "src/prebuilt/wast-lexer-gen.cc" -yy1635: +#line 8687 "src/prebuilt/wast-lexer-gen.cc" +yy1649: yych = *++cursor_; - if (yych == 'g') goto yy1643; + if (yych == 'g') goto yy1657; goto yy87; -yy1636: +yy1650: yych = *++cursor_; - if (yych == 'g') goto yy1645; + if (yych == 'g') goto yy1659; goto yy87; -yy1637: +yy1651: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 506 "src/wast-lexer.cc" +#line 509 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw8UCmpxchg); } -#line 8643 "src/prebuilt/wast-lexer-gen.cc" -yy1639: +#line 8703 "src/prebuilt/wast-lexer-gen.cc" +yy1653: yych = *++cursor_; - if (yych == 'a') goto yy1647; + if (yych == 'a') goto yy1661; goto yy87; -yy1640: +yy1654: yych = *++cursor_; - if (yych == 'n') goto yy1648; + if (yych == 'n') goto yy1662; goto yy87; -yy1641: +yy1655: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 505 "src/wast-lexer.cc" +#line 508 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmw16UCmpxchg); } -#line 8659 "src/prebuilt/wast-lexer-gen.cc" -yy1643: +#line 8719 "src/prebuilt/wast-lexer-gen.cc" +yy1657: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 507 "src/wast-lexer.cc" +#line 510 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw16UCmpxchg); } -#line 8667 "src/prebuilt/wast-lexer-gen.cc" -yy1645: +#line 8727 "src/prebuilt/wast-lexer-gen.cc" +yy1659: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 508 "src/wast-lexer.cc" +#line 511 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw32UCmpxchg); } -#line 8675 "src/prebuilt/wast-lexer-gen.cc" -yy1647: +#line 8735 "src/prebuilt/wast-lexer-gen.cc" +yy1661: yych = *++cursor_; - if (yych == 'n') goto yy1650; + if (yych == 'n') goto yy1664; goto yy87; -yy1648: +yy1662: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 535 "src/wast-lexer.cc" +#line 538 "src/wast-lexer.cc" { RETURN(AssertReturnCanonicalNan); } -#line 8687 "src/prebuilt/wast-lexer-gen.cc" -yy1650: +#line 8747 "src/prebuilt/wast-lexer-gen.cc" +yy1664: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } -#line 536 "src/wast-lexer.cc" +#line 539 "src/wast-lexer.cc" { RETURN(AssertReturnArithmeticNan); } -#line 8695 "src/prebuilt/wast-lexer-gen.cc" +#line 8755 "src/prebuilt/wast-lexer-gen.cc" } } -#line 563 "src/wast-lexer.cc" +#line 566 "src/wast-lexer.cc" } } diff --git a/src/token.cc b/src/token.cc index 6c629e83..2ffc24cc 100644 --- a/src/token.cc +++ b/src/token.cc @@ -103,6 +103,8 @@ const char* GetTokenTypeName(TokenType token_type) { "try", "UNARY", "unreachable", + "WAIT", + "WAKE", // String. "align=", diff --git a/src/token.h b/src/token.h index 89f46204..c1525c8b 100644 --- a/src/token.h +++ b/src/token.h @@ -120,8 +120,10 @@ enum class TokenType { Try, Unary, Unreachable, + Wait, + Wake, First_Opcode = AtomicLoad, - Last_Opcode = Unreachable, + Last_Opcode = Wake, // Tokens with string data. AlignEqNat, diff --git a/src/type-checker.cc b/src/type-checker.cc index a54f53ba..87650cf6 100644 --- a/src/type-checker.cc +++ b/src/type-checker.cc @@ -567,6 +567,14 @@ Result TypeChecker::OnUnreachable() { return SetUnreachable(); } +Result TypeChecker::OnWait(Opcode opcode) { + return CheckOpcode3(opcode); +} + +Result TypeChecker::OnWake(Opcode opcode) { + return CheckOpcode2(opcode); +} + Result TypeChecker::EndFunction() { Result result = Result::Ok; Label* label; diff --git a/src/type-checker.h b/src/type-checker.h index 6f1257ce..1176f95d 100644 --- a/src/type-checker.h +++ b/src/type-checker.h @@ -91,6 +91,8 @@ class TypeChecker { Result OnTryBlock(const TypeVector* sig); Result OnUnary(Opcode); Result OnUnreachable(); + Result OnWait(Opcode); + Result OnWake(Opcode); Result EndFunction(); private: diff --git a/src/validator.cc b/src/validator.cc index 7f25a6e1..9ef679ec 100644 --- a/src/validator.cc +++ b/src/validator.cc @@ -112,6 +112,8 @@ class Validator { void CheckBlockSig(const Location* loc, Opcode opcode, const BlockSignature* sig); + template <typename T> + void CheckAtomicExpr(const T* expr, Result (TypeChecker::*func)(Opcode)); void CheckExpr(const Expr* expr); void CheckFuncSignature(const Location* loc, const Func* func); void CheckFunc(const Location* loc, const Func* func); @@ -422,45 +424,35 @@ void Validator::CheckBlockSig(const Location* loc, } } +template <typename T> +void Validator::CheckAtomicExpr(const T* expr, + Result (TypeChecker::*func)(Opcode)) { + CheckHasSharedMemory(&expr->loc, expr->opcode); + CheckAtomicAlign(&expr->loc, expr->align, + get_opcode_natural_alignment(expr->opcode)); + (typechecker_.*func)(expr->opcode); +} + void Validator::CheckExpr(const Expr* expr) { expr_loc_ = &expr->loc; switch (expr->type()) { - case ExprType::AtomicLoad: { - auto load_expr = cast<AtomicLoadExpr>(expr); - CheckHasSharedMemory(&load_expr->loc, load_expr->opcode); - CheckAtomicAlign(&load_expr->loc, load_expr->align, - get_opcode_natural_alignment(load_expr->opcode)); - typechecker_.OnAtomicLoad(load_expr->opcode); + case ExprType::AtomicLoad: + CheckAtomicExpr(cast<AtomicLoadExpr>(expr), &TypeChecker::OnAtomicLoad); break; - } - case ExprType::AtomicRmw: { - auto rmw_expr = cast<AtomicRmwExpr>(expr); - CheckHasSharedMemory(&rmw_expr->loc, rmw_expr->opcode); - CheckAtomicAlign(&rmw_expr->loc, rmw_expr->align, - get_opcode_natural_alignment(rmw_expr->opcode)); - typechecker_.OnAtomicRmw(rmw_expr->opcode); + case ExprType::AtomicRmw: + CheckAtomicExpr(cast<AtomicRmwExpr>(expr), &TypeChecker::OnAtomicRmw); break; - } - case ExprType::AtomicRmwCmpxchg: { - auto cmpxchg_expr = cast<AtomicRmwCmpxchgExpr>(expr); - CheckHasSharedMemory(&cmpxchg_expr->loc, cmpxchg_expr->opcode); - CheckAtomicAlign(&cmpxchg_expr->loc, cmpxchg_expr->align, - get_opcode_natural_alignment(cmpxchg_expr->opcode)); - typechecker_.OnAtomicRmwCmpxchg(cmpxchg_expr->opcode); + case ExprType::AtomicRmwCmpxchg: + CheckAtomicExpr(cast<AtomicRmwCmpxchgExpr>(expr), + &TypeChecker::OnAtomicRmwCmpxchg); break; - } - case ExprType::AtomicStore: { - auto store_expr = cast<AtomicStoreExpr>(expr); - CheckHasSharedMemory(&store_expr->loc, store_expr->opcode); - CheckAtomicAlign(&store_expr->loc, store_expr->align, - get_opcode_natural_alignment(store_expr->opcode)); - typechecker_.OnAtomicStore(store_expr->opcode); + case ExprType::AtomicStore: + CheckAtomicExpr(cast<AtomicStoreExpr>(expr), &TypeChecker::OnAtomicStore); break; - } case ExprType::Binary: typechecker_.OnBinary(cast<BinaryExpr>(expr)->opcode); @@ -664,6 +656,14 @@ void Validator::CheckExpr(const Expr* expr) { case ExprType::Unreachable: typechecker_.OnUnreachable(); break; + + case ExprType::Wait: + CheckAtomicExpr(cast<WaitExpr>(expr), &TypeChecker::OnWait); + break; + + case ExprType::Wake: + CheckAtomicExpr(cast<WakeExpr>(expr), &TypeChecker::OnWake); + break; } } diff --git a/src/wast-lexer.cc b/src/wast-lexer.cc index fa4a47c2..886b7097 100644 --- a/src/wast-lexer.cc +++ b/src/wast-lexer.cc @@ -443,6 +443,9 @@ Token WastLexer::GetToken(WastParser* parser) { <i> "current_memory" { RETURN_OPCODE0(CurrentMemory); } <i> "grow_memory" { RETURN_OPCODE0(GrowMemory); } + <i> "i32.wait" { RETURN_OPCODE(Wait, I32Wait); } + <i> "i64.wait" { RETURN_OPCODE(Wait, I64Wait); } + <i> "wake" { RETURN_OPCODE0(Wake); } <i> "i32.atomic.load" { RETURN_OPCODE(AtomicLoad, I32AtomicLoad); } <i> "i64.atomic.load" { RETURN_OPCODE(AtomicLoad, I64AtomicLoad); } <i> "i32.atomic.load8_u" { RETURN_OPCODE(AtomicLoad, I32AtomicLoad8U); } diff --git a/src/wast-parser.cc b/src/wast-parser.cc index 3682d743..eaa4a31e 100644 --- a/src/wast-parser.cc +++ b/src/wast-parser.cc @@ -163,6 +163,8 @@ bool IsPlainInstr(TokenType token_type) { case TokenType::GrowMemory: case TokenType::Throw: case TokenType::Rethrow: + case TokenType::Wake: + case TokenType::Wait: case TokenType::AtomicLoad: case TokenType::AtomicStore: case TokenType::AtomicRmw: @@ -1378,6 +1380,20 @@ Result WastParser::ParsePlainInstr(std::unique_ptr<Expr>* out_expr) { CHECK_RESULT(ParsePlainInstrVar<RethrowExpr>(loc, out_expr)); break; + case TokenType::Wake: { + Token token = Consume(); + ErrorUnlessOpcodeEnabled(token); + CHECK_RESULT(ParsePlainLoadStoreInstr<WakeExpr>(loc, token, out_expr)); + break; + } + + case TokenType::Wait: { + Token token = Consume(); + ErrorUnlessOpcodeEnabled(token); + CHECK_RESULT(ParsePlainLoadStoreInstr<WaitExpr>(loc, token, out_expr)); + break; + } + case TokenType::AtomicLoad: { Token token = Consume(); ErrorUnlessOpcodeEnabled(token); diff --git a/src/wat-writer.cc b/src/wat-writer.cc index 1a771e83..2fa6595b 100644 --- a/src/wat-writer.cc +++ b/src/wat-writer.cc @@ -656,6 +656,14 @@ void WatWriter::WriteExpr(const Expr* expr) { WritePutsNewline(Opcode::Unreachable_Opcode.GetName()); break; + case ExprType::Wait: + WriteLoadStoreExpr<WaitExpr>(expr); + break; + + case ExprType::Wake: + WriteLoadStoreExpr<WakeExpr>(expr); + break; + default: fprintf(stderr, "bad expr type: %s\n", GetExprTypeName(*expr)); assert(0); @@ -715,6 +723,7 @@ void WatWriter::WriteFoldedExpr(const Expr* expr) { case ExprType::AtomicRmw: case ExprType::Binary: case ExprType::Compare: + case ExprType::Wake: PushExpr(expr, 2, 1); break; @@ -800,6 +809,7 @@ void WatWriter::WriteFoldedExpr(const Expr* expr) { case ExprType::AtomicRmwCmpxchg: case ExprType::Select: + case ExprType::Wait: PushExpr(expr, 3, 1); break; diff --git a/test/dump/atomic.txt b/test/dump/atomic.txt index 7887dd84..9bb4a02d 100644 --- a/test/dump/atomic.txt +++ b/test/dump/atomic.txt @@ -4,6 +4,10 @@ (module (memory (shared 1 1)) (func + i32.const 0 i32.const 0 wake drop + i32.const 0 i32.const 0 i64.const 0 i32.wait drop + i32.const 0 i64.const 0 i64.const 0 i64.wait drop + i32.const 0 i32.atomic.load drop i32.const 0 i64.atomic.load drop i32.const 0 i32.atomic.load8_u drop @@ -85,249 +89,263 @@ Code Disassembly: 00001c func[0]: 00001f: 41 00 | i32.const 0 - 000022: fe 10 02 00 | i32.atomic.load 2 0 - 000025: 1a | drop - 000026: 41 00 | i32.const 0 - 000029: fe 11 03 00 | i64.atomic.load 3 0 - 00002c: 1a | drop - 00002d: 41 00 | i32.const 0 - 000030: fe 12 00 00 | i32.atomic.load8_u 0 0 - 000033: 1a | drop - 000034: 41 00 | i32.const 0 - 000037: fe 13 01 00 | i32.atomic.load16_u 1 0 - 00003a: 1a | drop - 00003b: 41 00 | i32.const 0 - 00003e: fe 14 00 00 | i64.atomic.load8_u 0 0 - 000041: 1a | drop - 000042: 41 00 | i32.const 0 - 000045: fe 15 01 00 | i64.atomic.load16_u 1 0 - 000048: 1a | drop - 000049: 41 00 | i32.const 0 - 00004c: fe 16 02 00 | i64.atomic.load32_u 2 0 - 00004f: 1a | drop - 000050: 41 00 | i32.const 0 - 000052: 41 00 | i32.const 0 - 000055: fe 17 02 00 | i32.atomic.store 2 0 - 000058: 41 00 | i32.const 0 - 00005a: 42 00 | i64.const 0 - 00005d: fe 18 03 00 | i64.atomic.store 3 0 - 000060: 41 00 | i32.const 0 - 000062: 41 00 | i32.const 0 - 000065: fe 19 00 00 | i32.atomic.store8 0 0 + 000021: 41 00 | i32.const 0 + 000024: fe 00 02 00 | wake 2 0 + 000027: 1a | drop + 000028: 41 00 | i32.const 0 + 00002a: 41 00 | i32.const 0 + 00002c: 42 00 | i64.const 0 + 00002f: fe 01 02 00 | i32.wait 2 0 + 000032: 1a | drop + 000033: 41 00 | i32.const 0 + 000035: 42 00 | i64.const 0 + 000037: 42 00 | i64.const 0 + 00003a: fe 02 03 00 | i64.wait 3 0 + 00003d: 1a | drop + 00003e: 41 00 | i32.const 0 + 000041: fe 10 02 00 | i32.atomic.load 2 0 + 000044: 1a | drop + 000045: 41 00 | i32.const 0 + 000048: fe 11 03 00 | i64.atomic.load 3 0 + 00004b: 1a | drop + 00004c: 41 00 | i32.const 0 + 00004f: fe 12 00 00 | i32.atomic.load8_u 0 0 + 000052: 1a | drop + 000053: 41 00 | i32.const 0 + 000056: fe 13 01 00 | i32.atomic.load16_u 1 0 + 000059: 1a | drop + 00005a: 41 00 | i32.const 0 + 00005d: fe 14 00 00 | i64.atomic.load8_u 0 0 + 000060: 1a | drop + 000061: 41 00 | i32.const 0 + 000064: fe 15 01 00 | i64.atomic.load16_u 1 0 + 000067: 1a | drop 000068: 41 00 | i32.const 0 - 00006a: 41 00 | i32.const 0 - 00006d: fe 1a 01 00 | i32.atomic.store16 1 0 - 000070: 41 00 | i32.const 0 - 000072: 42 00 | i64.const 0 - 000075: fe 1b 00 00 | i64.atomic.store8 0 0 - 000078: 41 00 | i32.const 0 - 00007a: 42 00 | i64.const 0 - 00007d: fe 1c 01 00 | i64.atomic.store16 1 0 - 000080: 41 00 | i32.const 0 - 000082: 42 00 | i64.const 0 - 000085: fe 1d 02 00 | i64.atomic.store32 2 0 - 000088: 41 00 | i32.const 0 - 00008a: 41 00 | i32.const 0 - 00008d: fe 1e 02 00 | i32.atomic.rmw.add 2 0 - 000090: 1a | drop - 000091: 41 00 | i32.const 0 - 000093: 42 00 | i64.const 0 - 000096: fe 1f 03 00 | i64.atomic.rmw.add 3 0 - 000099: 1a | drop - 00009a: 41 00 | i32.const 0 - 00009c: 41 00 | i32.const 0 - 00009f: fe 20 00 00 | i32.atomic.rmw8_u.add 0 0 - 0000a2: 1a | drop - 0000a3: 41 00 | i32.const 0 - 0000a5: 41 00 | i32.const 0 - 0000a8: fe 21 01 00 | i32.atomic.rmw16_u.add 1 0 - 0000ab: 1a | drop - 0000ac: 41 00 | i32.const 0 - 0000ae: 42 00 | i64.const 0 - 0000b1: fe 22 00 00 | i64.atomic.rmw8_u.add 0 0 - 0000b4: 1a | drop - 0000b5: 41 00 | i32.const 0 - 0000b7: 42 00 | i64.const 0 - 0000ba: fe 23 01 00 | i64.atomic.rmw16_u.add 1 0 - 0000bd: 1a | drop - 0000be: 41 00 | i32.const 0 - 0000c0: 42 00 | i64.const 0 - 0000c3: fe 24 02 00 | i64.atomic.rmw32_u.add 2 0 - 0000c6: 1a | drop - 0000c7: 41 00 | i32.const 0 - 0000c9: 41 00 | i32.const 0 - 0000cc: fe 25 02 00 | i32.atomic.rmw.sub 2 0 - 0000cf: 1a | drop - 0000d0: 41 00 | i32.const 0 - 0000d2: 42 00 | i64.const 0 - 0000d5: fe 26 03 00 | i64.atomic.rmw.sub 3 0 - 0000d8: 1a | drop - 0000d9: 41 00 | i32.const 0 - 0000db: 41 00 | i32.const 0 - 0000de: fe 27 00 00 | i32.atomic.rmw8_u.sub 0 0 - 0000e1: 1a | drop - 0000e2: 41 00 | i32.const 0 - 0000e4: 41 00 | i32.const 0 - 0000e7: fe 28 01 00 | i32.atomic.rmw16_u.sub 1 0 - 0000ea: 1a | drop - 0000eb: 41 00 | i32.const 0 - 0000ed: 42 00 | i64.const 0 - 0000f0: fe 29 00 00 | i64.atomic.rmw8_u.sub 0 0 - 0000f3: 1a | drop - 0000f4: 41 00 | i32.const 0 - 0000f6: 42 00 | i64.const 0 - 0000f9: fe 2a 01 00 | i64.atomic.rmw16_u.sub 1 0 - 0000fc: 1a | drop - 0000fd: 41 00 | i32.const 0 - 0000ff: 42 00 | i64.const 0 - 000102: fe 2b 02 00 | i64.atomic.rmw32_u.sub 2 0 - 000105: 1a | drop - 000106: 41 00 | i32.const 0 - 000108: 41 00 | i32.const 0 - 00010b: fe 2c 02 00 | i32.atomic.rmw.and 2 0 - 00010e: 1a | drop - 00010f: 41 00 | i32.const 0 - 000111: 42 00 | i64.const 0 - 000114: fe 2d 03 00 | i64.atomic.rmw.and 3 0 - 000117: 1a | drop - 000118: 41 00 | i32.const 0 - 00011a: 41 00 | i32.const 0 - 00011d: fe 2e 00 00 | i32.atomic.rmw8_u.and 0 0 - 000120: 1a | drop - 000121: 41 00 | i32.const 0 - 000123: 41 00 | i32.const 0 - 000126: fe 2f 01 00 | i32.atomic.rmw16_u.and 1 0 - 000129: 1a | drop - 00012a: 41 00 | i32.const 0 - 00012c: 42 00 | i64.const 0 - 00012f: fe 30 00 00 | i64.atomic.rmw8_u.and 0 0 - 000132: 1a | drop - 000133: 41 00 | i32.const 0 - 000135: 42 00 | i64.const 0 - 000138: fe 31 01 00 | i64.atomic.rmw16_u.and 1 0 - 00013b: 1a | drop - 00013c: 41 00 | i32.const 0 - 00013e: 42 00 | i64.const 0 - 000141: fe 32 02 00 | i64.atomic.rmw32_u.and 2 0 - 000144: 1a | drop - 000145: 41 00 | i32.const 0 - 000147: 41 00 | i32.const 0 - 00014a: fe 33 02 00 | i32.atomic.rmw.or 2 0 - 00014d: 1a | drop - 00014e: 41 00 | i32.const 0 - 000150: 42 00 | i64.const 0 - 000153: fe 34 03 00 | i64.atomic.rmw.or 3 0 - 000156: 1a | drop - 000157: 41 00 | i32.const 0 - 000159: 41 00 | i32.const 0 - 00015c: fe 35 00 00 | i32.atomic.rmw8_u.or 0 0 - 00015f: 1a | drop - 000160: 41 00 | i32.const 0 - 000162: 41 00 | i32.const 0 - 000165: fe 36 01 00 | i32.atomic.rmw16_u.or 1 0 - 000168: 1a | drop - 000169: 41 00 | i32.const 0 - 00016b: 42 00 | i64.const 0 - 00016e: fe 37 00 00 | i64.atomic.rmw8_u.or 0 0 - 000171: 1a | drop - 000172: 41 00 | i32.const 0 - 000174: 42 00 | i64.const 0 - 000177: fe 38 01 00 | i64.atomic.rmw16_u.or 1 0 - 00017a: 1a | drop - 00017b: 41 00 | i32.const 0 - 00017d: 42 00 | i64.const 0 - 000180: fe 39 02 00 | i64.atomic.rmw32_u.or 2 0 - 000183: 1a | drop - 000184: 41 00 | i32.const 0 - 000186: 41 00 | i32.const 0 - 000189: fe 3a 02 00 | i32.atomic.rmw.xor 2 0 - 00018c: 1a | drop - 00018d: 41 00 | i32.const 0 - 00018f: 42 00 | i64.const 0 - 000192: fe 3b 03 00 | i64.atomic.rmw.xor 3 0 - 000195: 1a | drop - 000196: 41 00 | i32.const 0 - 000198: 41 00 | i32.const 0 - 00019b: fe 3c 00 00 | i32.atomic.rmw8_u.xor 0 0 - 00019e: 1a | drop - 00019f: 41 00 | i32.const 0 - 0001a1: 41 00 | i32.const 0 - 0001a4: fe 3d 01 00 | i32.atomic.rmw16_u.xor 1 0 - 0001a7: 1a | drop - 0001a8: 41 00 | i32.const 0 - 0001aa: 42 00 | i64.const 0 - 0001ad: fe 3e 00 00 | i64.atomic.rmw8_u.xor 0 0 - 0001b0: 1a | drop - 0001b1: 41 00 | i32.const 0 - 0001b3: 42 00 | i64.const 0 - 0001b6: fe 3f 01 00 | i64.atomic.rmw16_u.xor 1 0 - 0001b9: 1a | drop - 0001ba: 41 00 | i32.const 0 - 0001bc: 42 00 | i64.const 0 - 0001bf: fe 40 02 00 | i64.atomic.rmw32_u.xor 2 0 - 0001c2: 1a | drop - 0001c3: 41 00 | i32.const 0 - 0001c5: 41 00 | i32.const 0 - 0001c8: fe 41 02 00 | i32.atomic.rmw.xchg 2 0 - 0001cb: 1a | drop - 0001cc: 41 00 | i32.const 0 - 0001ce: 42 00 | i64.const 0 - 0001d1: fe 42 03 00 | i64.atomic.rmw.xchg 3 0 - 0001d4: 1a | drop - 0001d5: 41 00 | i32.const 0 - 0001d7: 41 00 | i32.const 0 - 0001da: fe 43 00 00 | i32.atomic.rmw8_u.xchg 0 0 - 0001dd: 1a | drop - 0001de: 41 00 | i32.const 0 - 0001e0: 41 00 | i32.const 0 - 0001e3: fe 44 01 00 | i32.atomic.rmw16_u.xchg 1 0 - 0001e6: 1a | drop - 0001e7: 41 00 | i32.const 0 - 0001e9: 42 00 | i64.const 0 - 0001ec: fe 45 00 00 | i64.atomic.rmw8_u.xchg 0 0 - 0001ef: 1a | drop - 0001f0: 41 00 | i32.const 0 - 0001f2: 42 00 | i64.const 0 - 0001f5: fe 46 01 00 | i64.atomic.rmw16_u.xchg 1 0 - 0001f8: 1a | drop - 0001f9: 41 00 | i32.const 0 - 0001fb: 42 00 | i64.const 0 - 0001fe: fe 47 02 00 | i64.atomic.rmw32_u.xchg 2 0 - 000201: 1a | drop - 000202: 41 00 | i32.const 0 - 000204: 41 00 | i32.const 0 + 00006b: fe 16 02 00 | i64.atomic.load32_u 2 0 + 00006e: 1a | drop + 00006f: 41 00 | i32.const 0 + 000071: 41 00 | i32.const 0 + 000074: fe 17 02 00 | i32.atomic.store 2 0 + 000077: 41 00 | i32.const 0 + 000079: 42 00 | i64.const 0 + 00007c: fe 18 03 00 | i64.atomic.store 3 0 + 00007f: 41 00 | i32.const 0 + 000081: 41 00 | i32.const 0 + 000084: fe 19 00 00 | i32.atomic.store8 0 0 + 000087: 41 00 | i32.const 0 + 000089: 41 00 | i32.const 0 + 00008c: fe 1a 01 00 | i32.atomic.store16 1 0 + 00008f: 41 00 | i32.const 0 + 000091: 42 00 | i64.const 0 + 000094: fe 1b 00 00 | i64.atomic.store8 0 0 + 000097: 41 00 | i32.const 0 + 000099: 42 00 | i64.const 0 + 00009c: fe 1c 01 00 | i64.atomic.store16 1 0 + 00009f: 41 00 | i32.const 0 + 0000a1: 42 00 | i64.const 0 + 0000a4: fe 1d 02 00 | i64.atomic.store32 2 0 + 0000a7: 41 00 | i32.const 0 + 0000a9: 41 00 | i32.const 0 + 0000ac: fe 1e 02 00 | i32.atomic.rmw.add 2 0 + 0000af: 1a | drop + 0000b0: 41 00 | i32.const 0 + 0000b2: 42 00 | i64.const 0 + 0000b5: fe 1f 03 00 | i64.atomic.rmw.add 3 0 + 0000b8: 1a | drop + 0000b9: 41 00 | i32.const 0 + 0000bb: 41 00 | i32.const 0 + 0000be: fe 20 00 00 | i32.atomic.rmw8_u.add 0 0 + 0000c1: 1a | drop + 0000c2: 41 00 | i32.const 0 + 0000c4: 41 00 | i32.const 0 + 0000c7: fe 21 01 00 | i32.atomic.rmw16_u.add 1 0 + 0000ca: 1a | drop + 0000cb: 41 00 | i32.const 0 + 0000cd: 42 00 | i64.const 0 + 0000d0: fe 22 00 00 | i64.atomic.rmw8_u.add 0 0 + 0000d3: 1a | drop + 0000d4: 41 00 | i32.const 0 + 0000d6: 42 00 | i64.const 0 + 0000d9: fe 23 01 00 | i64.atomic.rmw16_u.add 1 0 + 0000dc: 1a | drop + 0000dd: 41 00 | i32.const 0 + 0000df: 42 00 | i64.const 0 + 0000e2: fe 24 02 00 | i64.atomic.rmw32_u.add 2 0 + 0000e5: 1a | drop + 0000e6: 41 00 | i32.const 0 + 0000e8: 41 00 | i32.const 0 + 0000eb: fe 25 02 00 | i32.atomic.rmw.sub 2 0 + 0000ee: 1a | drop + 0000ef: 41 00 | i32.const 0 + 0000f1: 42 00 | i64.const 0 + 0000f4: fe 26 03 00 | i64.atomic.rmw.sub 3 0 + 0000f7: 1a | drop + 0000f8: 41 00 | i32.const 0 + 0000fa: 41 00 | i32.const 0 + 0000fd: fe 27 00 00 | i32.atomic.rmw8_u.sub 0 0 + 000100: 1a | drop + 000101: 41 00 | i32.const 0 + 000103: 41 00 | i32.const 0 + 000106: fe 28 01 00 | i32.atomic.rmw16_u.sub 1 0 + 000109: 1a | drop + 00010a: 41 00 | i32.const 0 + 00010c: 42 00 | i64.const 0 + 00010f: fe 29 00 00 | i64.atomic.rmw8_u.sub 0 0 + 000112: 1a | drop + 000113: 41 00 | i32.const 0 + 000115: 42 00 | i64.const 0 + 000118: fe 2a 01 00 | i64.atomic.rmw16_u.sub 1 0 + 00011b: 1a | drop + 00011c: 41 00 | i32.const 0 + 00011e: 42 00 | i64.const 0 + 000121: fe 2b 02 00 | i64.atomic.rmw32_u.sub 2 0 + 000124: 1a | drop + 000125: 41 00 | i32.const 0 + 000127: 41 00 | i32.const 0 + 00012a: fe 2c 02 00 | i32.atomic.rmw.and 2 0 + 00012d: 1a | drop + 00012e: 41 00 | i32.const 0 + 000130: 42 00 | i64.const 0 + 000133: fe 2d 03 00 | i64.atomic.rmw.and 3 0 + 000136: 1a | drop + 000137: 41 00 | i32.const 0 + 000139: 41 00 | i32.const 0 + 00013c: fe 2e 00 00 | i32.atomic.rmw8_u.and 0 0 + 00013f: 1a | drop + 000140: 41 00 | i32.const 0 + 000142: 41 00 | i32.const 0 + 000145: fe 2f 01 00 | i32.atomic.rmw16_u.and 1 0 + 000148: 1a | drop + 000149: 41 00 | i32.const 0 + 00014b: 42 00 | i64.const 0 + 00014e: fe 30 00 00 | i64.atomic.rmw8_u.and 0 0 + 000151: 1a | drop + 000152: 41 00 | i32.const 0 + 000154: 42 00 | i64.const 0 + 000157: fe 31 01 00 | i64.atomic.rmw16_u.and 1 0 + 00015a: 1a | drop + 00015b: 41 00 | i32.const 0 + 00015d: 42 00 | i64.const 0 + 000160: fe 32 02 00 | i64.atomic.rmw32_u.and 2 0 + 000163: 1a | drop + 000164: 41 00 | i32.const 0 + 000166: 41 00 | i32.const 0 + 000169: fe 33 02 00 | i32.atomic.rmw.or 2 0 + 00016c: 1a | drop + 00016d: 41 00 | i32.const 0 + 00016f: 42 00 | i64.const 0 + 000172: fe 34 03 00 | i64.atomic.rmw.or 3 0 + 000175: 1a | drop + 000176: 41 00 | i32.const 0 + 000178: 41 00 | i32.const 0 + 00017b: fe 35 00 00 | i32.atomic.rmw8_u.or 0 0 + 00017e: 1a | drop + 00017f: 41 00 | i32.const 0 + 000181: 41 00 | i32.const 0 + 000184: fe 36 01 00 | i32.atomic.rmw16_u.or 1 0 + 000187: 1a | drop + 000188: 41 00 | i32.const 0 + 00018a: 42 00 | i64.const 0 + 00018d: fe 37 00 00 | i64.atomic.rmw8_u.or 0 0 + 000190: 1a | drop + 000191: 41 00 | i32.const 0 + 000193: 42 00 | i64.const 0 + 000196: fe 38 01 00 | i64.atomic.rmw16_u.or 1 0 + 000199: 1a | drop + 00019a: 41 00 | i32.const 0 + 00019c: 42 00 | i64.const 0 + 00019f: fe 39 02 00 | i64.atomic.rmw32_u.or 2 0 + 0001a2: 1a | drop + 0001a3: 41 00 | i32.const 0 + 0001a5: 41 00 | i32.const 0 + 0001a8: fe 3a 02 00 | i32.atomic.rmw.xor 2 0 + 0001ab: 1a | drop + 0001ac: 41 00 | i32.const 0 + 0001ae: 42 00 | i64.const 0 + 0001b1: fe 3b 03 00 | i64.atomic.rmw.xor 3 0 + 0001b4: 1a | drop + 0001b5: 41 00 | i32.const 0 + 0001b7: 41 00 | i32.const 0 + 0001ba: fe 3c 00 00 | i32.atomic.rmw8_u.xor 0 0 + 0001bd: 1a | drop + 0001be: 41 00 | i32.const 0 + 0001c0: 41 00 | i32.const 0 + 0001c3: fe 3d 01 00 | i32.atomic.rmw16_u.xor 1 0 + 0001c6: 1a | drop + 0001c7: 41 00 | i32.const 0 + 0001c9: 42 00 | i64.const 0 + 0001cc: fe 3e 00 00 | i64.atomic.rmw8_u.xor 0 0 + 0001cf: 1a | drop + 0001d0: 41 00 | i32.const 0 + 0001d2: 42 00 | i64.const 0 + 0001d5: fe 3f 01 00 | i64.atomic.rmw16_u.xor 1 0 + 0001d8: 1a | drop + 0001d9: 41 00 | i32.const 0 + 0001db: 42 00 | i64.const 0 + 0001de: fe 40 02 00 | i64.atomic.rmw32_u.xor 2 0 + 0001e1: 1a | drop + 0001e2: 41 00 | i32.const 0 + 0001e4: 41 00 | i32.const 0 + 0001e7: fe 41 02 00 | i32.atomic.rmw.xchg 2 0 + 0001ea: 1a | drop + 0001eb: 41 00 | i32.const 0 + 0001ed: 42 00 | i64.const 0 + 0001f0: fe 42 03 00 | i64.atomic.rmw.xchg 3 0 + 0001f3: 1a | drop + 0001f4: 41 00 | i32.const 0 + 0001f6: 41 00 | i32.const 0 + 0001f9: fe 43 00 00 | i32.atomic.rmw8_u.xchg 0 0 + 0001fc: 1a | drop + 0001fd: 41 00 | i32.const 0 + 0001ff: 41 00 | i32.const 0 + 000202: fe 44 01 00 | i32.atomic.rmw16_u.xchg 1 0 + 000205: 1a | drop 000206: 41 00 | i32.const 0 - 000209: fe 48 02 00 | i32.atomic.rmw.cmpxchg 2 0 - 00020c: 1a | drop - 00020d: 41 00 | i32.const 0 - 00020f: 42 00 | i64.const 0 + 000208: 42 00 | i64.const 0 + 00020b: fe 45 00 00 | i64.atomic.rmw8_u.xchg 0 0 + 00020e: 1a | drop + 00020f: 41 00 | i32.const 0 000211: 42 00 | i64.const 0 - 000214: fe 49 03 00 | i64.atomic.rmw.cmpxchg 3 0 + 000214: fe 46 01 00 | i64.atomic.rmw16_u.xchg 1 0 000217: 1a | drop 000218: 41 00 | i32.const 0 - 00021a: 41 00 | i32.const 0 - 00021c: 41 00 | i32.const 0 - 00021f: fe 4a 00 00 | i32.atomic.rmw8_u.cmpxchg 0 0 - 000222: 1a | drop + 00021a: 42 00 | i64.const 0 + 00021d: fe 47 02 00 | i64.atomic.rmw32_u.xchg 2 0 + 000220: 1a | drop + 000221: 41 00 | i32.const 0 000223: 41 00 | i32.const 0 000225: 41 00 | i32.const 0 - 000227: 41 00 | i32.const 0 - 00022a: fe 4b 01 00 | i32.atomic.rmw16_u.cmpxchg 1 0 - 00022d: 1a | drop - 00022e: 41 00 | i32.const 0 + 000228: fe 48 02 00 | i32.atomic.rmw.cmpxchg 2 0 + 00022b: 1a | drop + 00022c: 41 00 | i32.const 0 + 00022e: 42 00 | i64.const 0 000230: 42 00 | i64.const 0 - 000232: 42 00 | i64.const 0 - 000235: fe 4c 00 00 | i64.atomic.rmw8_u.cmpxchg 0 0 - 000238: 1a | drop + 000233: fe 49 03 00 | i64.atomic.rmw.cmpxchg 3 0 + 000236: 1a | drop + 000237: 41 00 | i32.const 0 000239: 41 00 | i32.const 0 - 00023b: 42 00 | i64.const 0 - 00023d: 42 00 | i64.const 0 - 000240: fe 4d 01 00 | i64.atomic.rmw16_u.cmpxchg 1 0 - 000243: 1a | drop + 00023b: 41 00 | i32.const 0 + 00023e: fe 4a 00 00 | i32.atomic.rmw8_u.cmpxchg 0 0 + 000241: 1a | drop + 000242: 41 00 | i32.const 0 000244: 41 00 | i32.const 0 - 000246: 42 00 | i64.const 0 - 000248: 42 00 | i64.const 0 - 00024b: fe 4e 02 00 | i64.atomic.rmw32_u.cmpxchg 2 0 - 00024e: 1a | drop - 00024f: 0b | end + 000246: 41 00 | i32.const 0 + 000249: fe 4b 01 00 | i32.atomic.rmw16_u.cmpxchg 1 0 + 00024c: 1a | drop + 00024d: 41 00 | i32.const 0 + 00024f: 42 00 | i64.const 0 + 000251: 42 00 | i64.const 0 + 000254: fe 4c 00 00 | i64.atomic.rmw8_u.cmpxchg 0 0 + 000257: 1a | drop + 000258: 41 00 | i32.const 0 + 00025a: 42 00 | i64.const 0 + 00025c: 42 00 | i64.const 0 + 00025f: fe 4d 01 00 | i64.atomic.rmw16_u.cmpxchg 1 0 + 000262: 1a | drop + 000263: 41 00 | i32.const 0 + 000265: 42 00 | i64.const 0 + 000267: 42 00 | i64.const 0 + 00026a: fe 4e 02 00 | i64.atomic.rmw32_u.cmpxchg 2 0 + 00026d: 1a | drop + 00026e: 0b | end ;;; STDOUT ;;) diff --git a/test/interp/logging-all-opcodes.txt b/test/interp/logging-all-opcodes.txt index bc173bfa..2756c42c 100644 --- a/test/interp/logging-all-opcodes.txt +++ b/test/interp/logging-all-opcodes.txt @@ -213,6 +213,9 @@ (; 0xfc 0x07 ;) (func (export "i64.trunc_u:sat/f64") f64.const 1 i64.trunc_u:sat/f64 drop) ;; --enable-threads + (; 0xfe 0x00 ;) (func (export "wake") i32.const 1 i32.const 2 wake offset=3 drop) + (; 0xfe 0x01 ;) (func (export "i32.wait") i32.const 1 i32.const 2 i64.const 3 i32.wait offset=3 drop) + (; 0xfe 0x02 ;) (func (export "i64.wait") i32.const 1 i64.const 2 i64.const 3 i64.wait offset=3 drop) (; 0xfe 0x10 ;) (func (export "i32.atomic.load") i32.const 1 i32.atomic.load offset=3 drop) (; 0xfe 0x11 ;) (func (export "i64.atomic.load") i32.const 1 i64.atomic.load offset=7 drop) (; 0xfe 0x12 ;) (func (export "i32.atomic.load8_u") i32.const 1 i32.atomic.load8_u offset=3 drop) @@ -311,7 +314,7 @@ ; section "Function" (3) 0000022: 03 ; section code 0000023: 00 ; section size (guess) -0000024: f701 ; num functions +0000024: fa01 ; num functions 0000026: 00 ; function 0 signature index 0000027: 00 ; function 1 signature index 0000028: 00 ; function 2 signature index @@ -559,3868 +562,3929 @@ 000011a: 00 ; function 244 signature index 000011b: 00 ; function 245 signature index 000011c: 00 ; function 246 signature index -; move data: [24, 11d) -> [25, 11e) -0000023: f901 ; FIXUP section size +000011d: 00 ; function 247 signature index +000011e: 00 ; function 248 signature index +000011f: 00 ; function 249 signature index +; move data: [24, 120) -> [25, 121) +0000023: fc01 ; FIXUP section size ; section "Table" (4) -000011e: 04 ; section code -000011f: 00 ; section size (guess) -0000120: 01 ; num tables +0000121: 04 ; section code +0000122: 00 ; section size (guess) +0000123: 01 ; num tables ; table 0 -0000121: 70 ; anyfunc -0000122: 01 ; limits: flags -0000123: 02 ; limits: initial -0000124: 02 ; limits: max -000011f: 05 ; FIXUP section size +0000124: 70 ; anyfunc +0000125: 01 ; limits: flags +0000126: 02 ; limits: initial +0000127: 02 ; limits: max +0000122: 05 ; FIXUP section size ; section "Memory" (5) -0000125: 05 ; section code -0000126: 00 ; section size (guess) -0000127: 01 ; num memories +0000128: 05 ; section code +0000129: 00 ; section size (guess) +000012a: 01 ; num memories ; memory 0 -0000128: 03 ; limits: flags -0000129: 01 ; limits: initial -000012a: 01 ; limits: max -0000126: 04 ; FIXUP section size +000012b: 03 ; limits: flags +000012c: 01 ; limits: initial +000012d: 01 ; limits: max +0000129: 04 ; FIXUP section size ; section "Global" (6) -000012b: 06 ; section code -000012c: 00 ; section size (guess) -000012d: 01 ; num globals -000012e: 7f ; i32 -000012f: 01 ; global mutability -0000130: 41 ; i32.const -0000131: 00 ; i32 literal -0000132: 0b ; end -000012c: 06 ; FIXUP section size +000012e: 06 ; section code +000012f: 00 ; section size (guess) +0000130: 01 ; num globals +0000131: 7f ; i32 +0000132: 01 ; global mutability +0000133: 41 ; i32.const +0000134: 00 ; i32 literal +0000135: 0b ; end +000012f: 06 ; FIXUP section size ; section "Export" (7) -0000133: 07 ; section code -0000134: 00 ; section size (guess) -0000135: f601 ; num exports -0000137: 0b ; string length -0000138: 756e 7265 6163 6861 626c 65 unreachable ; export name -0000143: 00 ; export kind -0000144: 02 ; export func index -0000145: 02 ; string length -0000146: 6272 br ; export name -0000148: 00 ; export kind -0000149: 03 ; export func index -000014a: 08 ; string length -000014b: 6272 5f74 6162 6c65 br_table ; export name -0000153: 00 ; export kind -0000154: 04 ; export func index -0000155: 06 ; string length -0000156: 7265 7475 726e return ; export name -000015c: 00 ; export kind -000015d: 05 ; export func index -000015e: 04 ; string length -000015f: 6361 6c6c call ; export name -0000163: 00 ; export kind -0000164: 06 ; export func index -0000165: 0d ; string length -0000166: 6361 6c6c 5f69 6e64 6972 6563 74 call_indirect ; export name -0000173: 00 ; export kind -0000174: 07 ; export func index -0000175: 04 ; string length -0000176: 6472 6f70 drop ; export name -000017a: 00 ; export kind -000017b: 08 ; export func index -000017c: 06 ; string length -000017d: 7365 6c65 6374 select ; export name -0000183: 00 ; export kind -0000184: 09 ; export func index -0000185: 09 ; string length -0000186: 6765 745f 6c6f 6361 6c get_local ; export name -000018f: 00 ; export kind -0000190: 0a ; export func index -0000191: 09 ; string length -0000192: 7365 745f 6c6f 6361 6c set_local ; export name -000019b: 00 ; export kind -000019c: 0b ; export func index -000019d: 09 ; string length -000019e: 7465 655f 6c6f 6361 6c tee_local ; export name -00001a7: 00 ; export kind -00001a8: 0c ; export func index -00001a9: 0a ; string length -00001aa: 6765 745f 676c 6f62 616c get_global ; export name -00001b4: 00 ; export kind -00001b5: 0d ; export func index -00001b6: 0a ; string length -00001b7: 7365 745f 676c 6f62 616c set_global ; export name -00001c1: 00 ; export kind -00001c2: 0e ; export func index -00001c3: 08 ; string length -00001c4: 6933 322e 6c6f 6164 i32.load ; export name -00001cc: 00 ; export kind -00001cd: 0f ; export func index -00001ce: 08 ; string length -00001cf: 6936 342e 6c6f 6164 i64.load ; export name -00001d7: 00 ; export kind -00001d8: 10 ; export func index -00001d9: 08 ; string length -00001da: 6633 322e 6c6f 6164 f32.load ; export name -00001e2: 00 ; export kind -00001e3: 11 ; export func index -00001e4: 08 ; string length -00001e5: 6636 342e 6c6f 6164 f64.load ; export name -00001ed: 00 ; export kind -00001ee: 12 ; export func index -00001ef: 0b ; string length -00001f0: 6933 322e 6c6f 6164 385f 73 i32.load8_s ; export name -00001fb: 00 ; export kind -00001fc: 13 ; export func index -00001fd: 0b ; string length -00001fe: 6933 322e 6c6f 6164 385f 75 i32.load8_u ; export name -0000209: 00 ; export kind -000020a: 14 ; export func index -000020b: 0c ; string length -000020c: 6933 322e 6c6f 6164 3136 5f73 i32.load16_s ; export name -0000218: 00 ; export kind -0000219: 15 ; export func index -000021a: 0c ; string length -000021b: 6933 322e 6c6f 6164 3136 5f75 i32.load16_u ; export name -0000227: 00 ; export kind -0000228: 16 ; export func index -0000229: 0b ; string length -000022a: 6936 342e 6c6f 6164 385f 73 i64.load8_s ; export name -0000235: 00 ; export kind -0000236: 17 ; export func index -0000237: 0b ; string length -0000238: 6936 342e 6c6f 6164 385f 75 i64.load8_u ; export name -0000243: 00 ; export kind -0000244: 18 ; export func index -0000245: 0c ; string length -0000246: 6936 342e 6c6f 6164 3136 5f73 i64.load16_s ; export name -0000252: 00 ; export kind -0000253: 19 ; export func index -0000254: 0c ; string length -0000255: 6936 342e 6c6f 6164 3136 5f75 i64.load16_u ; export name -0000261: 00 ; export kind -0000262: 1a ; export func index -0000263: 0c ; string length -0000264: 6936 342e 6c6f 6164 3332 5f73 i64.load32_s ; export name -0000270: 00 ; export kind -0000271: 1b ; export func index -0000272: 0c ; string length -0000273: 6936 342e 6c6f 6164 3332 5f75 i64.load32_u ; export name -000027f: 00 ; export kind -0000280: 1c ; export func index -0000281: 09 ; string length -0000282: 6933 322e 7374 6f72 65 i32.store ; export name -000028b: 00 ; export kind -000028c: 1d ; export func index -000028d: 09 ; string length -000028e: 6936 342e 7374 6f72 65 i64.store ; export name -0000297: 00 ; export kind -0000298: 1e ; export func index -0000299: 09 ; string length -000029a: 6633 322e 7374 6f72 65 f32.store ; export name -00002a3: 00 ; export kind -00002a4: 1f ; export func index -00002a5: 09 ; string length -00002a6: 6636 342e 7374 6f72 65 f64.store ; export name -00002af: 00 ; export kind -00002b0: 20 ; export func index -00002b1: 0a ; string length -00002b2: 6933 322e 7374 6f72 6538 i32.store8 ; export name -00002bc: 00 ; export kind -00002bd: 21 ; export func index -00002be: 0b ; string length -00002bf: 6933 322e 7374 6f72 6531 36 i32.store16 ; export name -00002ca: 00 ; export kind -00002cb: 22 ; export func index -00002cc: 0a ; string length -00002cd: 6936 342e 7374 6f72 6538 i64.store8 ; export name -00002d7: 00 ; export kind -00002d8: 23 ; export func index -00002d9: 0b ; string length -00002da: 6936 342e 7374 6f72 6531 36 i64.store16 ; export name -00002e5: 00 ; export kind -00002e6: 24 ; export func index -00002e7: 0b ; string length -00002e8: 6936 342e 7374 6f72 6533 32 i64.store32 ; export name -00002f3: 00 ; export kind -00002f4: 25 ; export func index -00002f5: 0e ; string length -00002f6: 6375 7272 656e 745f 6d65 6d6f 7279 current_memory ; export name -0000304: 00 ; export kind -0000305: 26 ; export func index -0000306: 0b ; string length -0000307: 6772 6f77 5f6d 656d 6f72 79 grow_memory ; export name -0000312: 00 ; export kind -0000313: 27 ; export func index -0000314: 09 ; string length -0000315: 6933 322e 636f 6e73 74 i32.const ; export name -000031e: 00 ; export kind -000031f: 28 ; export func index -0000320: 09 ; string length -0000321: 6936 342e 636f 6e73 74 i64.const ; export name -000032a: 00 ; export kind -000032b: 29 ; export func index -000032c: 09 ; string length -000032d: 6633 322e 636f 6e73 74 f32.const ; export name -0000336: 00 ; export kind -0000337: 2a ; export func index -0000338: 09 ; string length -0000339: 6636 342e 636f 6e73 74 f64.const ; export name -0000342: 00 ; export kind -0000343: 2b ; export func index -0000344: 07 ; string length -0000345: 6933 322e 6571 7a i32.eqz ; export name -000034c: 00 ; export kind -000034d: 2c ; export func index -000034e: 06 ; string length -000034f: 6933 322e 6571 i32.eq ; export name -0000355: 00 ; export kind -0000356: 2d ; export func index -0000357: 06 ; string length -0000358: 6933 322e 6e65 i32.ne ; export name -000035e: 00 ; export kind -000035f: 2e ; export func index -0000360: 08 ; string length -0000361: 6933 322e 6c74 5f73 i32.lt_s ; export name -0000369: 00 ; export kind -000036a: 2f ; export func index -000036b: 08 ; string length -000036c: 6933 322e 6c74 5f75 i32.lt_u ; export name -0000374: 00 ; export kind -0000375: 30 ; export func index -0000376: 08 ; string length -0000377: 6933 322e 6774 5f73 i32.gt_s ; export name -000037f: 00 ; export kind -0000380: 31 ; export func index -0000381: 08 ; string length -0000382: 6933 322e 6774 5f75 i32.gt_u ; export name -000038a: 00 ; export kind -000038b: 32 ; export func index -000038c: 08 ; string length -000038d: 6933 322e 6c65 5f73 i32.le_s ; export name -0000395: 00 ; export kind -0000396: 33 ; export func index -0000397: 08 ; string length -0000398: 6933 322e 6c65 5f75 i32.le_u ; export name -00003a0: 00 ; export kind -00003a1: 34 ; export func index -00003a2: 08 ; string length -00003a3: 6933 322e 6765 5f73 i32.ge_s ; export name -00003ab: 00 ; export kind -00003ac: 35 ; export func index -00003ad: 08 ; string length -00003ae: 6933 322e 6765 5f75 i32.ge_u ; export name -00003b6: 00 ; export kind -00003b7: 36 ; export func index -00003b8: 07 ; string length -00003b9: 6936 342e 6571 7a i64.eqz ; export name -00003c0: 00 ; export kind -00003c1: 37 ; export func index -00003c2: 06 ; string length -00003c3: 6936 342e 6571 i64.eq ; export name -00003c9: 00 ; export kind -00003ca: 38 ; export func index -00003cb: 06 ; string length -00003cc: 6936 342e 6e65 i64.ne ; export name -00003d2: 00 ; export kind -00003d3: 39 ; export func index -00003d4: 08 ; string length -00003d5: 6936 342e 6c74 5f73 i64.lt_s ; export name -00003dd: 00 ; export kind -00003de: 3a ; export func index -00003df: 08 ; string length -00003e0: 6936 342e 6c74 5f75 i64.lt_u ; export name -00003e8: 00 ; export kind -00003e9: 3b ; export func index -00003ea: 08 ; string length -00003eb: 6936 342e 6774 5f73 i64.gt_s ; export name -00003f3: 00 ; export kind -00003f4: 3c ; export func index -00003f5: 08 ; string length -00003f6: 6936 342e 6774 5f75 i64.gt_u ; export name -00003fe: 00 ; export kind -00003ff: 3d ; export func index -0000400: 08 ; string length -0000401: 6936 342e 6c65 5f73 i64.le_s ; export name -0000409: 00 ; export kind -000040a: 3e ; export func index -000040b: 08 ; string length -000040c: 6936 342e 6c65 5f75 i64.le_u ; export name -0000414: 00 ; export kind -0000415: 3f ; export func index -0000416: 08 ; string length -0000417: 6936 342e 6765 5f73 i64.ge_s ; export name -000041f: 00 ; export kind -0000420: 40 ; export func index -0000421: 08 ; string length -0000422: 6936 342e 6765 5f75 i64.ge_u ; export name -000042a: 00 ; export kind -000042b: 41 ; export func index -000042c: 06 ; string length -000042d: 6633 322e 6571 f32.eq ; export name -0000433: 00 ; export kind -0000434: 42 ; export func index -0000435: 06 ; string length -0000436: 6633 322e 6e65 f32.ne ; export name -000043c: 00 ; export kind -000043d: 43 ; export func index -000043e: 06 ; string length -000043f: 6633 322e 6c74 f32.lt ; export name -0000445: 00 ; export kind -0000446: 44 ; export func index -0000447: 06 ; string length -0000448: 6633 322e 6774 f32.gt ; export name -000044e: 00 ; export kind -000044f: 45 ; export func index -0000450: 06 ; string length -0000451: 6633 322e 6c65 f32.le ; export name -0000457: 00 ; export kind -0000458: 46 ; export func index -0000459: 06 ; string length -000045a: 6633 322e 6765 f32.ge ; export name -0000460: 00 ; export kind -0000461: 47 ; export func index -0000462: 06 ; string length -0000463: 6636 342e 6571 f64.eq ; export name -0000469: 00 ; export kind -000046a: 48 ; export func index -000046b: 06 ; string length -000046c: 6636 342e 6e65 f64.ne ; export name -0000472: 00 ; export kind -0000473: 49 ; export func index -0000474: 06 ; string length -0000475: 6636 342e 6c74 f64.lt ; export name -000047b: 00 ; export kind -000047c: 4a ; export func index -000047d: 06 ; string length -000047e: 6636 342e 6774 f64.gt ; export name -0000484: 00 ; export kind -0000485: 4b ; export func index -0000486: 06 ; string length -0000487: 6636 342e 6c65 f64.le ; export name -000048d: 00 ; export kind -000048e: 4c ; export func index -000048f: 06 ; string length -0000490: 6636 342e 6765 f64.ge ; export name -0000496: 00 ; export kind -0000497: 4d ; export func index -0000498: 07 ; string length -0000499: 6933 322e 636c 7a i32.clz ; export name -00004a0: 00 ; export kind -00004a1: 4e ; export func index -00004a2: 07 ; string length -00004a3: 6933 322e 6374 7a i32.ctz ; export name -00004aa: 00 ; export kind -00004ab: 4f ; export func index -00004ac: 0a ; string length -00004ad: 6933 322e 706f 7063 6e74 i32.popcnt ; export name -00004b7: 00 ; export kind -00004b8: 50 ; export func index -00004b9: 07 ; string length -00004ba: 6933 322e 6164 64 i32.add ; export name -00004c1: 00 ; export kind -00004c2: 51 ; export func index -00004c3: 07 ; string length -00004c4: 6933 322e 7375 62 i32.sub ; export name -00004cb: 00 ; export kind -00004cc: 52 ; export func index -00004cd: 07 ; string length -00004ce: 6933 322e 6d75 6c i32.mul ; export name -00004d5: 00 ; export kind -00004d6: 53 ; export func index -00004d7: 09 ; string length -00004d8: 6933 322e 6469 765f 73 i32.div_s ; export name -00004e1: 00 ; export kind -00004e2: 54 ; export func index -00004e3: 09 ; string length -00004e4: 6933 322e 6469 765f 75 i32.div_u ; export name -00004ed: 00 ; export kind -00004ee: 55 ; export func index -00004ef: 09 ; string length -00004f0: 6933 322e 7265 6d5f 73 i32.rem_s ; export name -00004f9: 00 ; export kind -00004fa: 56 ; export func index -00004fb: 09 ; string length -00004fc: 6933 322e 7265 6d5f 75 i32.rem_u ; export name -0000505: 00 ; export kind -0000506: 57 ; export func index -0000507: 07 ; string length -0000508: 6933 322e 616e 64 i32.and ; export name -000050f: 00 ; export kind -0000510: 58 ; export func index -0000511: 06 ; string length -0000512: 6933 322e 6f72 i32.or ; export name -0000518: 00 ; export kind -0000519: 59 ; export func index -000051a: 07 ; string length -000051b: 6933 322e 786f 72 i32.xor ; export name -0000522: 00 ; export kind -0000523: 5a ; export func index -0000524: 07 ; string length -0000525: 6933 322e 7368 6c i32.shl ; export name -000052c: 00 ; export kind -000052d: 5b ; export func index -000052e: 09 ; string length -000052f: 6933 322e 7368 725f 73 i32.shr_s ; export name -0000538: 00 ; export kind -0000539: 5c ; export func index -000053a: 09 ; string length -000053b: 6933 322e 7368 725f 75 i32.shr_u ; export name -0000544: 00 ; export kind -0000545: 5d ; export func index -0000546: 08 ; string length -0000547: 6933 322e 726f 746c i32.rotl ; export name -000054f: 00 ; export kind -0000550: 5e ; export func index -0000551: 08 ; string length -0000552: 6933 322e 726f 7472 i32.rotr ; export name -000055a: 00 ; export kind -000055b: 5f ; export func index -000055c: 07 ; string length -000055d: 6936 342e 636c 7a i64.clz ; export name -0000564: 00 ; export kind -0000565: 60 ; export func index -0000566: 07 ; string length -0000567: 6936 342e 6374 7a i64.ctz ; export name -000056e: 00 ; export kind -000056f: 61 ; export func index -0000570: 0a ; string length -0000571: 6936 342e 706f 7063 6e74 i64.popcnt ; export name -000057b: 00 ; export kind -000057c: 62 ; export func index -000057d: 07 ; string length -000057e: 6936 342e 6164 64 i64.add ; export name -0000585: 00 ; export kind -0000586: 63 ; export func index -0000587: 07 ; string length -0000588: 6936 342e 7375 62 i64.sub ; export name -000058f: 00 ; export kind -0000590: 64 ; export func index -0000591: 07 ; string length -0000592: 6936 342e 6d75 6c i64.mul ; export name -0000599: 00 ; export kind -000059a: 65 ; export func index -000059b: 09 ; string length -000059c: 6936 342e 6469 765f 73 i64.div_s ; export name -00005a5: 00 ; export kind -00005a6: 66 ; export func index -00005a7: 09 ; string length -00005a8: 6936 342e 6469 765f 75 i64.div_u ; export name -00005b1: 00 ; export kind -00005b2: 67 ; export func index -00005b3: 09 ; string length -00005b4: 6936 342e 7265 6d5f 73 i64.rem_s ; export name -00005bd: 00 ; export kind -00005be: 68 ; export func index -00005bf: 09 ; string length -00005c0: 6936 342e 7265 6d5f 75 i64.rem_u ; export name -00005c9: 00 ; export kind -00005ca: 69 ; export func index -00005cb: 07 ; string length -00005cc: 6936 342e 616e 64 i64.and ; export name -00005d3: 00 ; export kind -00005d4: 6a ; export func index -00005d5: 06 ; string length -00005d6: 6936 342e 6f72 i64.or ; export name -00005dc: 00 ; export kind -00005dd: 6b ; export func index -00005de: 07 ; string length -00005df: 6936 342e 786f 72 i64.xor ; export name -00005e6: 00 ; export kind -00005e7: 6c ; export func index -00005e8: 07 ; string length -00005e9: 6936 342e 7368 6c i64.shl ; export name -00005f0: 00 ; export kind -00005f1: 6d ; export func index -00005f2: 09 ; string length -00005f3: 6936 342e 7368 725f 73 i64.shr_s ; export name -00005fc: 00 ; export kind -00005fd: 6e ; export func index -00005fe: 09 ; string length -00005ff: 6936 342e 7368 725f 75 i64.shr_u ; export name -0000608: 00 ; export kind -0000609: 6f ; export func index -000060a: 08 ; string length -000060b: 6936 342e 726f 746c i64.rotl ; export name -0000613: 00 ; export kind -0000614: 70 ; export func index -0000615: 08 ; string length -0000616: 6936 342e 726f 7472 i64.rotr ; export name -000061e: 00 ; export kind -000061f: 71 ; export func index -0000620: 07 ; string length -0000621: 6633 322e 6162 73 f32.abs ; export name -0000628: 00 ; export kind -0000629: 72 ; export func index -000062a: 07 ; string length -000062b: 6633 322e 6e65 67 f32.neg ; export name -0000632: 00 ; export kind -0000633: 73 ; export func index -0000634: 08 ; string length -0000635: 6633 322e 6365 696c f32.ceil ; export name -000063d: 00 ; export kind -000063e: 74 ; export func index -000063f: 09 ; string length -0000640: 6633 322e 666c 6f6f 72 f32.floor ; export name -0000649: 00 ; export kind -000064a: 75 ; export func index -000064b: 09 ; string length -000064c: 6633 322e 7472 756e 63 f32.trunc ; export name -0000655: 00 ; export kind -0000656: 76 ; export func index -0000657: 0b ; string length -0000658: 6633 322e 6e65 6172 6573 74 f32.nearest ; export name -0000663: 00 ; export kind -0000664: 77 ; export func index -0000665: 08 ; string length -0000666: 6633 322e 7371 7274 f32.sqrt ; export name -000066e: 00 ; export kind -000066f: 78 ; export func index -0000670: 07 ; string length -0000671: 6633 322e 6164 64 f32.add ; export name -0000678: 00 ; export kind -0000679: 79 ; export func index -000067a: 07 ; string length -000067b: 6633 322e 7375 62 f32.sub ; export name -0000682: 00 ; export kind -0000683: 7a ; export func index -0000684: 07 ; string length -0000685: 6633 322e 6d75 6c f32.mul ; export name -000068c: 00 ; export kind -000068d: 7b ; export func index -000068e: 07 ; string length -000068f: 6633 322e 6469 76 f32.div ; export name -0000696: 00 ; export kind -0000697: 7c ; export func index -0000698: 07 ; string length -0000699: 6633 322e 6d69 6e f32.min ; export name -00006a0: 00 ; export kind -00006a1: 7d ; export func index -00006a2: 07 ; string length -00006a3: 6633 322e 6d61 78 f32.max ; export name -00006aa: 00 ; export kind -00006ab: 7e ; export func index -00006ac: 0c ; string length -00006ad: 6633 322e 636f 7079 7369 676e f32.copysign ; export name -00006b9: 00 ; export kind -00006ba: 7f ; export func index -00006bb: 07 ; string length -00006bc: 6636 342e 6162 73 f64.abs ; export name -00006c3: 00 ; export kind -00006c4: 8001 ; export func index -00006c6: 07 ; string length -00006c7: 6636 342e 6e65 67 f64.neg ; export name -00006ce: 00 ; export kind -00006cf: 8101 ; export func index -00006d1: 08 ; string length -00006d2: 6636 342e 6365 696c f64.ceil ; export name -00006da: 00 ; export kind -00006db: 8201 ; export func index -00006dd: 09 ; string length -00006de: 6636 342e 666c 6f6f 72 f64.floor ; export name -00006e7: 00 ; export kind -00006e8: 8301 ; export func index -00006ea: 09 ; string length -00006eb: 6636 342e 7472 756e 63 f64.trunc ; export name -00006f4: 00 ; export kind -00006f5: 8401 ; export func index -00006f7: 0b ; string length -00006f8: 6636 342e 6e65 6172 6573 74 f64.nearest ; export name -0000703: 00 ; export kind -0000704: 8501 ; export func index -0000706: 08 ; string length -0000707: 6636 342e 7371 7274 f64.sqrt ; export name -000070f: 00 ; export kind -0000710: 8601 ; export func index -0000712: 07 ; string length -0000713: 6636 342e 6164 64 f64.add ; export name -000071a: 00 ; export kind -000071b: 8701 ; export func index -000071d: 07 ; string length -000071e: 6636 342e 7375 62 f64.sub ; export name -0000725: 00 ; export kind -0000726: 8801 ; export func index -0000728: 07 ; string length -0000729: 6636 342e 6d75 6c f64.mul ; export name -0000730: 00 ; export kind -0000731: 8901 ; export func index -0000733: 07 ; string length -0000734: 6636 342e 6469 76 f64.div ; export name -000073b: 00 ; export kind -000073c: 8a01 ; export func index -000073e: 07 ; string length -000073f: 6636 342e 6d69 6e f64.min ; export name -0000746: 00 ; export kind -0000747: 8b01 ; export func index -0000749: 07 ; string length -000074a: 6636 342e 6d61 78 f64.max ; export name -0000751: 00 ; export kind -0000752: 8c01 ; export func index -0000754: 0c ; string length -0000755: 6636 342e 636f 7079 7369 676e f64.copysign ; export name -0000761: 00 ; export kind -0000762: 8d01 ; export func index -0000764: 0c ; string length -0000765: 6933 322e 7772 6170 2f69 3634 i32.wrap/i64 ; export name -0000771: 00 ; export kind -0000772: 8e01 ; export func index -0000774: 0f ; string length -0000775: 6933 322e 7472 756e 635f 732f 6633 32 i32.trunc_s/f32 ; export name -0000784: 00 ; export kind -0000785: 8f01 ; export func index -0000787: 0f ; string length -0000788: 6933 322e 7472 756e 635f 752f 6633 32 i32.trunc_u/f32 ; export name -0000797: 00 ; export kind -0000798: 9001 ; export func index -000079a: 0f ; string length -000079b: 6933 322e 7472 756e 635f 732f 6636 34 i32.trunc_s/f64 ; export name -00007aa: 00 ; export kind -00007ab: 9101 ; export func index -00007ad: 0f ; string length -00007ae: 6933 322e 7472 756e 635f 752f 6636 34 i32.trunc_u/f64 ; export name -00007bd: 00 ; export kind -00007be: 9201 ; export func index -00007c0: 10 ; string length -00007c1: 6936 342e 6578 7465 6e64 5f73 2f69 3332 i64.extend_s/i32 ; export name -00007d1: 00 ; export kind -00007d2: 9301 ; export func index -00007d4: 10 ; string length -00007d5: 6936 342e 6578 7465 6e64 5f75 2f69 3332 i64.extend_u/i32 ; export name -00007e5: 00 ; export kind -00007e6: 9401 ; export func index -00007e8: 0f ; string length -00007e9: 6936 342e 7472 756e 635f 732f 6633 32 i64.trunc_s/f32 ; export name -00007f8: 00 ; export kind -00007f9: 9501 ; export func index -00007fb: 0f ; string length -00007fc: 6936 342e 7472 756e 635f 752f 6633 32 i64.trunc_u/f32 ; export name -000080b: 00 ; export kind -000080c: 9601 ; export func index -000080e: 0f ; string length -000080f: 6936 342e 7472 756e 635f 732f 6636 34 i64.trunc_s/f64 ; export name -000081e: 00 ; export kind -000081f: 9701 ; export func index -0000821: 0f ; string length -0000822: 6936 342e 7472 756e 635f 752f 6636 34 i64.trunc_u/f64 ; export name -0000831: 00 ; export kind -0000832: 9801 ; export func index -0000834: 11 ; string length -0000835: 6633 322e 636f 6e76 6572 745f 732f 6933 f32.convert_s/i3 -0000845: 32 2 ; export name -0000846: 00 ; export kind -0000847: 9901 ; export func index -0000849: 11 ; string length -000084a: 6633 322e 636f 6e76 6572 745f 752f 6933 f32.convert_u/i3 -000085a: 32 2 ; export name -000085b: 00 ; export kind -000085c: 9a01 ; export func index -000085e: 11 ; string length -000085f: 6633 322e 636f 6e76 6572 745f 732f 6936 f32.convert_s/i6 -000086f: 34 4 ; export name -0000870: 00 ; export kind -0000871: 9b01 ; export func index -0000873: 11 ; string length -0000874: 6633 322e 636f 6e76 6572 745f 752f 6936 f32.convert_u/i6 -0000884: 34 4 ; export name -0000885: 00 ; export kind -0000886: 9c01 ; export func index -0000888: 0e ; string length -0000889: 6633 322e 6465 6d6f 7465 2f66 3634 f32.demote/f64 ; export name -0000897: 00 ; export kind -0000898: 9d01 ; export func index -000089a: 11 ; string length -000089b: 6636 342e 636f 6e76 6572 745f 732f 6933 f64.convert_s/i3 -00008ab: 32 2 ; export name -00008ac: 00 ; export kind -00008ad: 9e01 ; export func index -00008af: 11 ; string length -00008b0: 6636 342e 636f 6e76 6572 745f 752f 6933 f64.convert_u/i3 -00008c0: 32 2 ; export name -00008c1: 00 ; export kind -00008c2: 9f01 ; export func index -00008c4: 11 ; string length -00008c5: 6636 342e 636f 6e76 6572 745f 732f 6936 f64.convert_s/i6 -00008d5: 34 4 ; export name -00008d6: 00 ; export kind -00008d7: a001 ; export func index -00008d9: 11 ; string length -00008da: 6636 342e 636f 6e76 6572 745f 752f 6936 f64.convert_u/i6 -00008ea: 34 4 ; export name -00008eb: 00 ; export kind -00008ec: a101 ; export func index -00008ee: 0f ; string length -00008ef: 6636 342e 7072 6f6d 6f74 652f 6633 32 f64.promote/f32 ; export name -00008fe: 00 ; export kind -00008ff: a201 ; export func index -0000901: 13 ; string length -0000902: 6933 322e 7265 696e 7465 7270 7265 742f i32.reinterpret/ -0000912: 6633 32 f32 ; export name -0000915: 00 ; export kind -0000916: a301 ; export func index -0000918: 13 ; string length -0000919: 6633 322e 7265 696e 7465 7270 7265 742f f32.reinterpret/ -0000929: 6933 32 i32 ; export name -000092c: 00 ; export kind -000092d: a401 ; export func index -000092f: 13 ; string length -0000930: 6936 342e 7265 696e 7465 7270 7265 742f i64.reinterpret/ -0000940: 6636 34 f64 ; export name -0000943: 00 ; export kind -0000944: a501 ; export func index -0000946: 13 ; string length -0000947: 6636 342e 7265 696e 7465 7270 7265 742f f64.reinterpret/ -0000957: 6936 34 i64 ; export name -000095a: 00 ; export kind -000095b: a601 ; export func index -000095d: 0d ; string length -000095e: 6933 322e 6578 7465 6e64 385f 73 i32.extend8_s ; export name -000096b: 00 ; export kind -000096c: a701 ; export func index -000096e: 0e ; string length -000096f: 6933 322e 6578 7465 6e64 3136 5f73 i32.extend16_s ; export name -000097d: 00 ; export kind -000097e: a801 ; export func index -0000980: 0d ; string length -0000981: 6936 342e 6578 7465 6e64 385f 73 i64.extend8_s ; export name -000098e: 00 ; export kind -000098f: a901 ; export func index -0000991: 0e ; string length -0000992: 6936 342e 6578 7465 6e64 3136 5f73 i64.extend16_s ; export name -00009a0: 00 ; export kind -00009a1: aa01 ; export func index -00009a3: 0e ; string length -00009a4: 6936 342e 6578 7465 6e64 3332 5f73 i64.extend32_s ; export name -00009b2: 00 ; export kind -00009b3: ab01 ; export func index -00009b5: 06 ; string length -00009b6: 616c 6c6f 6361 alloca ; export name -00009bc: 00 ; export kind -00009bd: ac01 ; export func index -00009bf: 09 ; string length -00009c0: 6272 5f75 6e6c 6573 73 br_unless ; export name -00009c9: 00 ; export kind -00009ca: ad01 ; export func index -00009cc: 09 ; string length -00009cd: 6361 6c6c 5f68 6f73 74 call_host ; export name -00009d6: 00 ; export kind -00009d7: ae01 ; export func index -00009d9: 04 ; string length -00009da: 6461 7461 data ; export name -00009de: 00 ; export kind -00009df: af01 ; export func index -00009e1: 09 ; string length -00009e2: 6472 6f70 5f6b 6565 70 drop_keep ; export name -00009eb: 00 ; export kind -00009ec: b001 ; export func index -00009ee: 13 ; string length -00009ef: 6933 322e 7472 756e 635f 733a 7361 742f i32.trunc_s:sat/ -00009ff: 6633 32 f32 ; export name -0000a02: 00 ; export kind -0000a03: b101 ; export func index -0000a05: 13 ; string length -0000a06: 6933 322e 7472 756e 635f 753a 7361 742f i32.trunc_u:sat/ -0000a16: 6633 32 f32 ; export name -0000a19: 00 ; export kind -0000a1a: b201 ; export func index -0000a1c: 13 ; string length -0000a1d: 6933 322e 7472 756e 635f 733a 7361 742f i32.trunc_s:sat/ -0000a2d: 6636 34 f64 ; export name -0000a30: 00 ; export kind -0000a31: b301 ; export func index -0000a33: 13 ; string length -0000a34: 6933 322e 7472 756e 635f 753a 7361 742f i32.trunc_u:sat/ -0000a44: 6636 34 f64 ; export name -0000a47: 00 ; export kind -0000a48: b401 ; export func index -0000a4a: 13 ; string length -0000a4b: 6936 342e 7472 756e 635f 733a 7361 742f i64.trunc_s:sat/ -0000a5b: 6633 32 f32 ; export name -0000a5e: 00 ; export kind -0000a5f: b501 ; export func index -0000a61: 13 ; string length -0000a62: 6936 342e 7472 756e 635f 753a 7361 742f i64.trunc_u:sat/ -0000a72: 6633 32 f32 ; export name -0000a75: 00 ; export kind -0000a76: b601 ; export func index -0000a78: 13 ; string length -0000a79: 6936 342e 7472 756e 635f 733a 7361 742f i64.trunc_s:sat/ -0000a89: 6636 34 f64 ; export name -0000a8c: 00 ; export kind -0000a8d: b701 ; export func index -0000a8f: 13 ; string length -0000a90: 6936 342e 7472 756e 635f 753a 7361 742f i64.trunc_u:sat/ -0000aa0: 6636 34 f64 ; export name -0000aa3: 00 ; export kind -0000aa4: b801 ; export func index -0000aa6: 0f ; string length -0000aa7: 6933 322e 6174 6f6d 6963 2e6c 6f61 64 i32.atomic.load ; export name -0000ab6: 00 ; export kind -0000ab7: b901 ; export func index -0000ab9: 0f ; string length -0000aba: 6936 342e 6174 6f6d 6963 2e6c 6f61 64 i64.atomic.load ; export name -0000ac9: 00 ; export kind -0000aca: ba01 ; export func index -0000acc: 12 ; string length -0000acd: 6933 322e 6174 6f6d 6963 2e6c 6f61 6438 i32.atomic.load8 -0000add: 5f75 _u ; export name -0000adf: 00 ; export kind -0000ae0: bb01 ; export func index -0000ae2: 13 ; string length -0000ae3: 6933 322e 6174 6f6d 6963 2e6c 6f61 6431 i32.atomic.load1 -0000af3: 365f 75 6_u ; export name -0000af6: 00 ; export kind -0000af7: bc01 ; export func index -0000af9: 12 ; string length -0000afa: 6936 342e 6174 6f6d 6963 2e6c 6f61 6438 i64.atomic.load8 -0000b0a: 5f75 _u ; export name -0000b0c: 00 ; export kind -0000b0d: bd01 ; export func index -0000b0f: 13 ; string length -0000b10: 6936 342e 6174 6f6d 6963 2e6c 6f61 6431 i64.atomic.load1 -0000b20: 365f 75 6_u ; export name -0000b23: 00 ; export kind -0000b24: be01 ; export func index -0000b26: 13 ; string length -0000b27: 6936 342e 6174 6f6d 6963 2e6c 6f61 6433 i64.atomic.load3 -0000b37: 325f 75 2_u ; export name -0000b3a: 00 ; export kind -0000b3b: bf01 ; export func index -0000b3d: 10 ; string length -0000b3e: 6933 322e 6174 6f6d 6963 2e73 746f 7265 i32.atomic.store ; export name -0000b4e: 00 ; export kind -0000b4f: c001 ; export func index -0000b51: 10 ; string length -0000b52: 6936 342e 6174 6f6d 6963 2e73 746f 7265 i64.atomic.store ; export name -0000b62: 00 ; export kind -0000b63: c101 ; export func index -0000b65: 11 ; string length -0000b66: 6933 322e 6174 6f6d 6963 2e73 746f 7265 i32.atomic.store -0000b76: 38 8 ; export name -0000b77: 00 ; export kind -0000b78: c201 ; export func index -0000b7a: 12 ; string length -0000b7b: 6933 322e 6174 6f6d 6963 2e73 746f 7265 i32.atomic.store -0000b8b: 3136 16 ; export name -0000b8d: 00 ; export kind -0000b8e: c301 ; export func index -0000b90: 11 ; string length -0000b91: 6936 342e 6174 6f6d 6963 2e73 746f 7265 i64.atomic.store -0000ba1: 38 8 ; export name -0000ba2: 00 ; export kind -0000ba3: c401 ; export func index -0000ba5: 12 ; string length -0000ba6: 6936 342e 6174 6f6d 6963 2e73 746f 7265 i64.atomic.store -0000bb6: 3136 16 ; export name -0000bb8: 00 ; export kind -0000bb9: c501 ; export func index -0000bbb: 12 ; string length -0000bbc: 6936 342e 6174 6f6d 6963 2e73 746f 7265 i64.atomic.store -0000bcc: 3332 32 ; export name -0000bce: 00 ; export kind -0000bcf: c601 ; export func index -0000bd1: 12 ; string length -0000bd2: 6933 322e 6174 6f6d 6963 2e72 6d77 2e61 i32.atomic.rmw.a -0000be2: 6464 dd ; export name -0000be4: 00 ; export kind -0000be5: c701 ; export func index -0000be7: 12 ; string length -0000be8: 6936 342e 6174 6f6d 6963 2e72 6d77 2e61 i64.atomic.rmw.a -0000bf8: 6464 dd ; export name -0000bfa: 00 ; export kind -0000bfb: c801 ; export func index -0000bfd: 15 ; string length -0000bfe: 6933 322e 6174 6f6d 6963 2e72 6d77 385f i32.atomic.rmw8_ -0000c0e: 752e 6164 64 u.add ; export name -0000c13: 00 ; export kind -0000c14: c901 ; export func index -0000c16: 16 ; string length -0000c17: 6933 322e 6174 6f6d 6963 2e72 6d77 3136 i32.atomic.rmw16 -0000c27: 5f75 2e61 6464 _u.add ; export name -0000c2d: 00 ; export kind -0000c2e: ca01 ; export func index -0000c30: 15 ; string length -0000c31: 6936 342e 6174 6f6d 6963 2e72 6d77 385f i64.atomic.rmw8_ -0000c41: 752e 6164 64 u.add ; export name -0000c46: 00 ; export kind -0000c47: cb01 ; export func index -0000c49: 16 ; string length -0000c4a: 6936 342e 6174 6f6d 6963 2e72 6d77 3136 i64.atomic.rmw16 -0000c5a: 5f75 2e61 6464 _u.add ; export name -0000c60: 00 ; export kind -0000c61: cc01 ; export func index -0000c63: 16 ; string length -0000c64: 6936 342e 6174 6f6d 6963 2e72 6d77 3332 i64.atomic.rmw32 -0000c74: 5f75 2e61 6464 _u.add ; export name -0000c7a: 00 ; export kind -0000c7b: cd01 ; export func index -0000c7d: 12 ; string length -0000c7e: 6933 322e 6174 6f6d 6963 2e72 6d77 2e73 i32.atomic.rmw.s -0000c8e: 7562 ub ; export name -0000c90: 00 ; export kind -0000c91: ce01 ; export func index -0000c93: 12 ; string length -0000c94: 6936 342e 6174 6f6d 6963 2e72 6d77 2e73 i64.atomic.rmw.s -0000ca4: 7562 ub ; export name -0000ca6: 00 ; export kind -0000ca7: cf01 ; export func index -0000ca9: 15 ; string length -0000caa: 6933 322e 6174 6f6d 6963 2e72 6d77 385f i32.atomic.rmw8_ -0000cba: 752e 7375 62 u.sub ; export name -0000cbf: 00 ; export kind -0000cc0: d001 ; export func index -0000cc2: 16 ; string length -0000cc3: 6933 322e 6174 6f6d 6963 2e72 6d77 3136 i32.atomic.rmw16 -0000cd3: 5f75 2e73 7562 _u.sub ; export name -0000cd9: 00 ; export kind -0000cda: d101 ; export func index -0000cdc: 15 ; string length -0000cdd: 6936 342e 6174 6f6d 6963 2e72 6d77 385f i64.atomic.rmw8_ -0000ced: 752e 7375 62 u.sub ; export name -0000cf2: 00 ; export kind -0000cf3: d201 ; export func index -0000cf5: 16 ; string length -0000cf6: 6936 342e 6174 6f6d 6963 2e72 6d77 3136 i64.atomic.rmw16 -0000d06: 5f75 2e73 7562 _u.sub ; export name -0000d0c: 00 ; export kind -0000d0d: d301 ; export func index -0000d0f: 16 ; string length -0000d10: 6936 342e 6174 6f6d 6963 2e72 6d77 3332 i64.atomic.rmw32 -0000d20: 5f75 2e73 7562 _u.sub ; export name -0000d26: 00 ; export kind -0000d27: d401 ; export func index -0000d29: 12 ; string length -0000d2a: 6933 322e 6174 6f6d 6963 2e72 6d77 2e61 i32.atomic.rmw.a -0000d3a: 6e64 nd ; export name -0000d3c: 00 ; export kind -0000d3d: d501 ; export func index -0000d3f: 12 ; string length -0000d40: 6936 342e 6174 6f6d 6963 2e72 6d77 2e61 i64.atomic.rmw.a -0000d50: 6e64 nd ; export name -0000d52: 00 ; export kind -0000d53: d601 ; export func index -0000d55: 15 ; string length -0000d56: 6933 322e 6174 6f6d 6963 2e72 6d77 385f i32.atomic.rmw8_ -0000d66: 752e 616e 64 u.and ; export name -0000d6b: 00 ; export kind -0000d6c: d701 ; export func index -0000d6e: 16 ; string length -0000d6f: 6933 322e 6174 6f6d 6963 2e72 6d77 3136 i32.atomic.rmw16 -0000d7f: 5f75 2e61 6e64 _u.and ; export name -0000d85: 00 ; export kind -0000d86: d801 ; export func index -0000d88: 15 ; string length -0000d89: 6936 342e 6174 6f6d 6963 2e72 6d77 385f i64.atomic.rmw8_ -0000d99: 752e 616e 64 u.and ; export name -0000d9e: 00 ; export kind -0000d9f: d901 ; export func index -0000da1: 16 ; string length -0000da2: 6936 342e 6174 6f6d 6963 2e72 6d77 3136 i64.atomic.rmw16 -0000db2: 5f75 2e61 6e64 _u.and ; export name -0000db8: 00 ; export kind -0000db9: da01 ; export func index -0000dbb: 16 ; string length -0000dbc: 6936 342e 6174 6f6d 6963 2e72 6d77 3332 i64.atomic.rmw32 -0000dcc: 5f75 2e61 6e64 _u.and ; export name -0000dd2: 00 ; export kind -0000dd3: db01 ; export func index -0000dd5: 11 ; string length -0000dd6: 6933 322e 6174 6f6d 6963 2e72 6d77 2e6f i32.atomic.rmw.o -0000de6: 72 r ; export name -0000de7: 00 ; export kind -0000de8: dc01 ; export func index -0000dea: 11 ; string length -0000deb: 6936 342e 6174 6f6d 6963 2e72 6d77 2e6f i64.atomic.rmw.o -0000dfb: 72 r ; export name -0000dfc: 00 ; export kind -0000dfd: dd01 ; export func index -0000dff: 14 ; string length -0000e00: 6933 322e 6174 6f6d 6963 2e72 6d77 385f i32.atomic.rmw8_ -0000e10: 752e 6f72 u.or ; export name -0000e14: 00 ; export kind -0000e15: de01 ; export func index -0000e17: 15 ; string length -0000e18: 6933 322e 6174 6f6d 6963 2e72 6d77 3136 i32.atomic.rmw16 -0000e28: 5f75 2e6f 72 _u.or ; export name -0000e2d: 00 ; export kind -0000e2e: df01 ; export func index -0000e30: 14 ; string length -0000e31: 6936 342e 6174 6f6d 6963 2e72 6d77 385f i64.atomic.rmw8_ -0000e41: 752e 6f72 u.or ; export name -0000e45: 00 ; export kind -0000e46: e001 ; export func index -0000e48: 15 ; string length -0000e49: 6936 342e 6174 6f6d 6963 2e72 6d77 3136 i64.atomic.rmw16 -0000e59: 5f75 2e6f 72 _u.or ; export name -0000e5e: 00 ; export kind -0000e5f: e101 ; export func index -0000e61: 15 ; string length -0000e62: 6936 342e 6174 6f6d 6963 2e72 6d77 3332 i64.atomic.rmw32 -0000e72: 5f75 2e6f 72 _u.or ; export name -0000e77: 00 ; export kind -0000e78: e201 ; export func index -0000e7a: 12 ; string length -0000e7b: 6933 322e 6174 6f6d 6963 2e72 6d77 2e78 i32.atomic.rmw.x -0000e8b: 6f72 or ; export name -0000e8d: 00 ; export kind -0000e8e: e301 ; export func index -0000e90: 12 ; string length -0000e91: 6936 342e 6174 6f6d 6963 2e72 6d77 2e78 i64.atomic.rmw.x -0000ea1: 6f72 or ; export name -0000ea3: 00 ; export kind -0000ea4: e401 ; export func index -0000ea6: 15 ; string length -0000ea7: 6933 322e 6174 6f6d 6963 2e72 6d77 385f i32.atomic.rmw8_ -0000eb7: 752e 786f 72 u.xor ; export name -0000ebc: 00 ; export kind -0000ebd: e501 ; export func index -0000ebf: 16 ; string length -0000ec0: 6933 322e 6174 6f6d 6963 2e72 6d77 3136 i32.atomic.rmw16 -0000ed0: 5f75 2e78 6f72 _u.xor ; export name -0000ed6: 00 ; export kind -0000ed7: e601 ; export func index -0000ed9: 15 ; string length -0000eda: 6936 342e 6174 6f6d 6963 2e72 6d77 385f i64.atomic.rmw8_ -0000eea: 752e 786f 72 u.xor ; export name -0000eef: 00 ; export kind -0000ef0: e701 ; export func index -0000ef2: 16 ; string length -0000ef3: 6936 342e 6174 6f6d 6963 2e72 6d77 3136 i64.atomic.rmw16 -0000f03: 5f75 2e78 6f72 _u.xor ; export name -0000f09: 00 ; export kind -0000f0a: e801 ; export func index -0000f0c: 16 ; string length -0000f0d: 6936 342e 6174 6f6d 6963 2e72 6d77 3332 i64.atomic.rmw32 -0000f1d: 5f75 2e78 6f72 _u.xor ; export name -0000f23: 00 ; export kind -0000f24: e901 ; export func index -0000f26: 13 ; string length -0000f27: 6933 322e 6174 6f6d 6963 2e72 6d77 2e78 i32.atomic.rmw.x -0000f37: 6368 67 chg ; export name -0000f3a: 00 ; export kind -0000f3b: ea01 ; export func index -0000f3d: 13 ; string length -0000f3e: 6936 342e 6174 6f6d 6963 2e72 6d77 2e78 i64.atomic.rmw.x -0000f4e: 6368 67 chg ; export name -0000f51: 00 ; export kind -0000f52: eb01 ; export func index -0000f54: 16 ; string length -0000f55: 6933 322e 6174 6f6d 6963 2e72 6d77 385f i32.atomic.rmw8_ -0000f65: 752e 7863 6867 u.xchg ; export name -0000f6b: 00 ; export kind -0000f6c: ec01 ; export func index -0000f6e: 17 ; string length -0000f6f: 6933 322e 6174 6f6d 6963 2e72 6d77 3136 i32.atomic.rmw16 -0000f7f: 5f75 2e78 6368 67 _u.xchg ; export name -0000f86: 00 ; export kind -0000f87: ed01 ; export func index -0000f89: 16 ; string length -0000f8a: 6936 342e 6174 6f6d 6963 2e72 6d77 385f i64.atomic.rmw8_ -0000f9a: 752e 7863 6867 u.xchg ; export name -0000fa0: 00 ; export kind -0000fa1: ee01 ; export func index -0000fa3: 17 ; string length -0000fa4: 6936 342e 6174 6f6d 6963 2e72 6d77 3136 i64.atomic.rmw16 -0000fb4: 5f75 2e78 6368 67 _u.xchg ; export name -0000fbb: 00 ; export kind -0000fbc: ef01 ; export func index -0000fbe: 17 ; string length -0000fbf: 6936 342e 6174 6f6d 6963 2e72 6d77 3332 i64.atomic.rmw32 -0000fcf: 5f75 2e78 6368 67 _u.xchg ; export name -0000fd6: 00 ; export kind -0000fd7: f001 ; export func index -0000fd9: 16 ; string length -0000fda: 6933 322e 6174 6f6d 6963 2e72 6d77 2e63 i32.atomic.rmw.c -0000fea: 6d70 7863 6867 mpxchg ; export name -0000ff0: 00 ; export kind -0000ff1: f101 ; export func index -0000ff3: 16 ; string length -0000ff4: 6936 342e 6174 6f6d 6963 2e72 6d77 2e63 i64.atomic.rmw.c -0001004: 6d70 7863 6867 mpxchg ; export name -000100a: 00 ; export kind -000100b: f201 ; export func index -000100d: 19 ; string length -000100e: 6933 322e 6174 6f6d 6963 2e72 6d77 385f i32.atomic.rmw8_ -000101e: 752e 636d 7078 6368 67 u.cmpxchg ; export name -0001027: 00 ; export kind -0001028: f301 ; export func index -000102a: 1a ; string length -000102b: 6933 322e 6174 6f6d 6963 2e72 6d77 3136 i32.atomic.rmw16 -000103b: 5f75 2e63 6d70 7863 6867 _u.cmpxchg ; export name -0001045: 00 ; export kind -0001046: f401 ; export func index -0001048: 19 ; string length -0001049: 6936 342e 6174 6f6d 6963 2e72 6d77 385f i64.atomic.rmw8_ -0001059: 752e 636d 7078 6368 67 u.cmpxchg ; export name -0001062: 00 ; export kind -0001063: f501 ; export func index -0001065: 1a ; string length -0001066: 6936 342e 6174 6f6d 6963 2e72 6d77 3136 i64.atomic.rmw16 -0001076: 5f75 2e63 6d70 7863 6867 _u.cmpxchg ; export name -0001080: 00 ; export kind -0001081: f601 ; export func index -0001083: 1a ; string length -0001084: 6936 342e 6174 6f6d 6963 2e72 6d77 3332 i64.atomic.rmw32 -0001094: 5f75 2e63 6d70 7863 6867 _u.cmpxchg ; export name -000109e: 00 ; export kind -000109f: f701 ; export func index -; move data: [135, 10a1) -> [136, 10a2) -0000134: ec1e ; FIXUP section size +0000136: 07 ; section code +0000137: 00 ; section size (guess) +0000138: f901 ; num exports +000013a: 0b ; string length +000013b: 756e 7265 6163 6861 626c 65 unreachable ; export name +0000146: 00 ; export kind +0000147: 02 ; export func index +0000148: 02 ; string length +0000149: 6272 br ; export name +000014b: 00 ; export kind +000014c: 03 ; export func index +000014d: 08 ; string length +000014e: 6272 5f74 6162 6c65 br_table ; export name +0000156: 00 ; export kind +0000157: 04 ; export func index +0000158: 06 ; string length +0000159: 7265 7475 726e return ; export name +000015f: 00 ; export kind +0000160: 05 ; export func index +0000161: 04 ; string length +0000162: 6361 6c6c call ; export name +0000166: 00 ; export kind +0000167: 06 ; export func index +0000168: 0d ; string length +0000169: 6361 6c6c 5f69 6e64 6972 6563 74 call_indirect ; export name +0000176: 00 ; export kind +0000177: 07 ; export func index +0000178: 04 ; string length +0000179: 6472 6f70 drop ; export name +000017d: 00 ; export kind +000017e: 08 ; export func index +000017f: 06 ; string length +0000180: 7365 6c65 6374 select ; export name +0000186: 00 ; export kind +0000187: 09 ; export func index +0000188: 09 ; string length +0000189: 6765 745f 6c6f 6361 6c get_local ; export name +0000192: 00 ; export kind +0000193: 0a ; export func index +0000194: 09 ; string length +0000195: 7365 745f 6c6f 6361 6c set_local ; export name +000019e: 00 ; export kind +000019f: 0b ; export func index +00001a0: 09 ; string length +00001a1: 7465 655f 6c6f 6361 6c tee_local ; export name +00001aa: 00 ; export kind +00001ab: 0c ; export func index +00001ac: 0a ; string length +00001ad: 6765 745f 676c 6f62 616c get_global ; export name +00001b7: 00 ; export kind +00001b8: 0d ; export func index +00001b9: 0a ; string length +00001ba: 7365 745f 676c 6f62 616c set_global ; export name +00001c4: 00 ; export kind +00001c5: 0e ; export func index +00001c6: 08 ; string length +00001c7: 6933 322e 6c6f 6164 i32.load ; export name +00001cf: 00 ; export kind +00001d0: 0f ; export func index +00001d1: 08 ; string length +00001d2: 6936 342e 6c6f 6164 i64.load ; export name +00001da: 00 ; export kind +00001db: 10 ; export func index +00001dc: 08 ; string length +00001dd: 6633 322e 6c6f 6164 f32.load ; export name +00001e5: 00 ; export kind +00001e6: 11 ; export func index +00001e7: 08 ; string length +00001e8: 6636 342e 6c6f 6164 f64.load ; export name +00001f0: 00 ; export kind +00001f1: 12 ; export func index +00001f2: 0b ; string length +00001f3: 6933 322e 6c6f 6164 385f 73 i32.load8_s ; export name +00001fe: 00 ; export kind +00001ff: 13 ; export func index +0000200: 0b ; string length +0000201: 6933 322e 6c6f 6164 385f 75 i32.load8_u ; export name +000020c: 00 ; export kind +000020d: 14 ; export func index +000020e: 0c ; string length +000020f: 6933 322e 6c6f 6164 3136 5f73 i32.load16_s ; export name +000021b: 00 ; export kind +000021c: 15 ; export func index +000021d: 0c ; string length +000021e: 6933 322e 6c6f 6164 3136 5f75 i32.load16_u ; export name +000022a: 00 ; export kind +000022b: 16 ; export func index +000022c: 0b ; string length +000022d: 6936 342e 6c6f 6164 385f 73 i64.load8_s ; export name +0000238: 00 ; export kind +0000239: 17 ; export func index +000023a: 0b ; string length +000023b: 6936 342e 6c6f 6164 385f 75 i64.load8_u ; export name +0000246: 00 ; export kind +0000247: 18 ; export func index +0000248: 0c ; string length +0000249: 6936 342e 6c6f 6164 3136 5f73 i64.load16_s ; export name +0000255: 00 ; export kind +0000256: 19 ; export func index +0000257: 0c ; string length +0000258: 6936 342e 6c6f 6164 3136 5f75 i64.load16_u ; export name +0000264: 00 ; export kind +0000265: 1a ; export func index +0000266: 0c ; string length +0000267: 6936 342e 6c6f 6164 3332 5f73 i64.load32_s ; export name +0000273: 00 ; export kind +0000274: 1b ; export func index +0000275: 0c ; string length +0000276: 6936 342e 6c6f 6164 3332 5f75 i64.load32_u ; export name +0000282: 00 ; export kind +0000283: 1c ; export func index +0000284: 09 ; string length +0000285: 6933 322e 7374 6f72 65 i32.store ; export name +000028e: 00 ; export kind +000028f: 1d ; export func index +0000290: 09 ; string length +0000291: 6936 342e 7374 6f72 65 i64.store ; export name +000029a: 00 ; export kind +000029b: 1e ; export func index +000029c: 09 ; string length +000029d: 6633 322e 7374 6f72 65 f32.store ; export name +00002a6: 00 ; export kind +00002a7: 1f ; export func index +00002a8: 09 ; string length +00002a9: 6636 342e 7374 6f72 65 f64.store ; export name +00002b2: 00 ; export kind +00002b3: 20 ; export func index +00002b4: 0a ; string length +00002b5: 6933 322e 7374 6f72 6538 i32.store8 ; export name +00002bf: 00 ; export kind +00002c0: 21 ; export func index +00002c1: 0b ; string length +00002c2: 6933 322e 7374 6f72 6531 36 i32.store16 ; export name +00002cd: 00 ; export kind +00002ce: 22 ; export func index +00002cf: 0a ; string length +00002d0: 6936 342e 7374 6f72 6538 i64.store8 ; export name +00002da: 00 ; export kind +00002db: 23 ; export func index +00002dc: 0b ; string length +00002dd: 6936 342e 7374 6f72 6531 36 i64.store16 ; export name +00002e8: 00 ; export kind +00002e9: 24 ; export func index +00002ea: 0b ; string length +00002eb: 6936 342e 7374 6f72 6533 32 i64.store32 ; export name +00002f6: 00 ; export kind +00002f7: 25 ; export func index +00002f8: 0e ; string length +00002f9: 6375 7272 656e 745f 6d65 6d6f 7279 current_memory ; export name +0000307: 00 ; export kind +0000308: 26 ; export func index +0000309: 0b ; string length +000030a: 6772 6f77 5f6d 656d 6f72 79 grow_memory ; export name +0000315: 00 ; export kind +0000316: 27 ; export func index +0000317: 09 ; string length +0000318: 6933 322e 636f 6e73 74 i32.const ; export name +0000321: 00 ; export kind +0000322: 28 ; export func index +0000323: 09 ; string length +0000324: 6936 342e 636f 6e73 74 i64.const ; export name +000032d: 00 ; export kind +000032e: 29 ; export func index +000032f: 09 ; string length +0000330: 6633 322e 636f 6e73 74 f32.const ; export name +0000339: 00 ; export kind +000033a: 2a ; export func index +000033b: 09 ; string length +000033c: 6636 342e 636f 6e73 74 f64.const ; export name +0000345: 00 ; export kind +0000346: 2b ; export func index +0000347: 07 ; string length +0000348: 6933 322e 6571 7a i32.eqz ; export name +000034f: 00 ; export kind +0000350: 2c ; export func index +0000351: 06 ; string length +0000352: 6933 322e 6571 i32.eq ; export name +0000358: 00 ; export kind +0000359: 2d ; export func index +000035a: 06 ; string length +000035b: 6933 322e 6e65 i32.ne ; export name +0000361: 00 ; export kind +0000362: 2e ; export func index +0000363: 08 ; string length +0000364: 6933 322e 6c74 5f73 i32.lt_s ; export name +000036c: 00 ; export kind +000036d: 2f ; export func index +000036e: 08 ; string length +000036f: 6933 322e 6c74 5f75 i32.lt_u ; export name +0000377: 00 ; export kind +0000378: 30 ; export func index +0000379: 08 ; string length +000037a: 6933 322e 6774 5f73 i32.gt_s ; export name +0000382: 00 ; export kind +0000383: 31 ; export func index +0000384: 08 ; string length +0000385: 6933 322e 6774 5f75 i32.gt_u ; export name +000038d: 00 ; export kind +000038e: 32 ; export func index +000038f: 08 ; string length +0000390: 6933 322e 6c65 5f73 i32.le_s ; export name +0000398: 00 ; export kind +0000399: 33 ; export func index +000039a: 08 ; string length +000039b: 6933 322e 6c65 5f75 i32.le_u ; export name +00003a3: 00 ; export kind +00003a4: 34 ; export func index +00003a5: 08 ; string length +00003a6: 6933 322e 6765 5f73 i32.ge_s ; export name +00003ae: 00 ; export kind +00003af: 35 ; export func index +00003b0: 08 ; string length +00003b1: 6933 322e 6765 5f75 i32.ge_u ; export name +00003b9: 00 ; export kind +00003ba: 36 ; export func index +00003bb: 07 ; string length +00003bc: 6936 342e 6571 7a i64.eqz ; export name +00003c3: 00 ; export kind +00003c4: 37 ; export func index +00003c5: 06 ; string length +00003c6: 6936 342e 6571 i64.eq ; export name +00003cc: 00 ; export kind +00003cd: 38 ; export func index +00003ce: 06 ; string length +00003cf: 6936 342e 6e65 i64.ne ; export name +00003d5: 00 ; export kind +00003d6: 39 ; export func index +00003d7: 08 ; string length +00003d8: 6936 342e 6c74 5f73 i64.lt_s ; export name +00003e0: 00 ; export kind +00003e1: 3a ; export func index +00003e2: 08 ; string length +00003e3: 6936 342e 6c74 5f75 i64.lt_u ; export name +00003eb: 00 ; export kind +00003ec: 3b ; export func index +00003ed: 08 ; string length +00003ee: 6936 342e 6774 5f73 i64.gt_s ; export name +00003f6: 00 ; export kind +00003f7: 3c ; export func index +00003f8: 08 ; string length +00003f9: 6936 342e 6774 5f75 i64.gt_u ; export name +0000401: 00 ; export kind +0000402: 3d ; export func index +0000403: 08 ; string length +0000404: 6936 342e 6c65 5f73 i64.le_s ; export name +000040c: 00 ; export kind +000040d: 3e ; export func index +000040e: 08 ; string length +000040f: 6936 342e 6c65 5f75 i64.le_u ; export name +0000417: 00 ; export kind +0000418: 3f ; export func index +0000419: 08 ; string length +000041a: 6936 342e 6765 5f73 i64.ge_s ; export name +0000422: 00 ; export kind +0000423: 40 ; export func index +0000424: 08 ; string length +0000425: 6936 342e 6765 5f75 i64.ge_u ; export name +000042d: 00 ; export kind +000042e: 41 ; export func index +000042f: 06 ; string length +0000430: 6633 322e 6571 f32.eq ; export name +0000436: 00 ; export kind +0000437: 42 ; export func index +0000438: 06 ; string length +0000439: 6633 322e 6e65 f32.ne ; export name +000043f: 00 ; export kind +0000440: 43 ; export func index +0000441: 06 ; string length +0000442: 6633 322e 6c74 f32.lt ; export name +0000448: 00 ; export kind +0000449: 44 ; export func index +000044a: 06 ; string length +000044b: 6633 322e 6774 f32.gt ; export name +0000451: 00 ; export kind +0000452: 45 ; export func index +0000453: 06 ; string length +0000454: 6633 322e 6c65 f32.le ; export name +000045a: 00 ; export kind +000045b: 46 ; export func index +000045c: 06 ; string length +000045d: 6633 322e 6765 f32.ge ; export name +0000463: 00 ; export kind +0000464: 47 ; export func index +0000465: 06 ; string length +0000466: 6636 342e 6571 f64.eq ; export name +000046c: 00 ; export kind +000046d: 48 ; export func index +000046e: 06 ; string length +000046f: 6636 342e 6e65 f64.ne ; export name +0000475: 00 ; export kind +0000476: 49 ; export func index +0000477: 06 ; string length +0000478: 6636 342e 6c74 f64.lt ; export name +000047e: 00 ; export kind +000047f: 4a ; export func index +0000480: 06 ; string length +0000481: 6636 342e 6774 f64.gt ; export name +0000487: 00 ; export kind +0000488: 4b ; export func index +0000489: 06 ; string length +000048a: 6636 342e 6c65 f64.le ; export name +0000490: 00 ; export kind +0000491: 4c ; export func index +0000492: 06 ; string length +0000493: 6636 342e 6765 f64.ge ; export name +0000499: 00 ; export kind +000049a: 4d ; export func index +000049b: 07 ; string length +000049c: 6933 322e 636c 7a i32.clz ; export name +00004a3: 00 ; export kind +00004a4: 4e ; export func index +00004a5: 07 ; string length +00004a6: 6933 322e 6374 7a i32.ctz ; export name +00004ad: 00 ; export kind +00004ae: 4f ; export func index +00004af: 0a ; string length +00004b0: 6933 322e 706f 7063 6e74 i32.popcnt ; export name +00004ba: 00 ; export kind +00004bb: 50 ; export func index +00004bc: 07 ; string length +00004bd: 6933 322e 6164 64 i32.add ; export name +00004c4: 00 ; export kind +00004c5: 51 ; export func index +00004c6: 07 ; string length +00004c7: 6933 322e 7375 62 i32.sub ; export name +00004ce: 00 ; export kind +00004cf: 52 ; export func index +00004d0: 07 ; string length +00004d1: 6933 322e 6d75 6c i32.mul ; export name +00004d8: 00 ; export kind +00004d9: 53 ; export func index +00004da: 09 ; string length +00004db: 6933 322e 6469 765f 73 i32.div_s ; export name +00004e4: 00 ; export kind +00004e5: 54 ; export func index +00004e6: 09 ; string length +00004e7: 6933 322e 6469 765f 75 i32.div_u ; export name +00004f0: 00 ; export kind +00004f1: 55 ; export func index +00004f2: 09 ; string length +00004f3: 6933 322e 7265 6d5f 73 i32.rem_s ; export name +00004fc: 00 ; export kind +00004fd: 56 ; export func index +00004fe: 09 ; string length +00004ff: 6933 322e 7265 6d5f 75 i32.rem_u ; export name +0000508: 00 ; export kind +0000509: 57 ; export func index +000050a: 07 ; string length +000050b: 6933 322e 616e 64 i32.and ; export name +0000512: 00 ; export kind +0000513: 58 ; export func index +0000514: 06 ; string length +0000515: 6933 322e 6f72 i32.or ; export name +000051b: 00 ; export kind +000051c: 59 ; export func index +000051d: 07 ; string length +000051e: 6933 322e 786f 72 i32.xor ; export name +0000525: 00 ; export kind +0000526: 5a ; export func index +0000527: 07 ; string length +0000528: 6933 322e 7368 6c i32.shl ; export name +000052f: 00 ; export kind +0000530: 5b ; export func index +0000531: 09 ; string length +0000532: 6933 322e 7368 725f 73 i32.shr_s ; export name +000053b: 00 ; export kind +000053c: 5c ; export func index +000053d: 09 ; string length +000053e: 6933 322e 7368 725f 75 i32.shr_u ; export name +0000547: 00 ; export kind +0000548: 5d ; export func index +0000549: 08 ; string length +000054a: 6933 322e 726f 746c i32.rotl ; export name +0000552: 00 ; export kind +0000553: 5e ; export func index +0000554: 08 ; string length +0000555: 6933 322e 726f 7472 i32.rotr ; export name +000055d: 00 ; export kind +000055e: 5f ; export func index +000055f: 07 ; string length +0000560: 6936 342e 636c 7a i64.clz ; export name +0000567: 00 ; export kind +0000568: 60 ; export func index +0000569: 07 ; string length +000056a: 6936 342e 6374 7a i64.ctz ; export name +0000571: 00 ; export kind +0000572: 61 ; export func index +0000573: 0a ; string length +0000574: 6936 342e 706f 7063 6e74 i64.popcnt ; export name +000057e: 00 ; export kind +000057f: 62 ; export func index +0000580: 07 ; string length +0000581: 6936 342e 6164 64 i64.add ; export name +0000588: 00 ; export kind +0000589: 63 ; export func index +000058a: 07 ; string length +000058b: 6936 342e 7375 62 i64.sub ; export name +0000592: 00 ; export kind +0000593: 64 ; export func index +0000594: 07 ; string length +0000595: 6936 342e 6d75 6c i64.mul ; export name +000059c: 00 ; export kind +000059d: 65 ; export func index +000059e: 09 ; string length +000059f: 6936 342e 6469 765f 73 i64.div_s ; export name +00005a8: 00 ; export kind +00005a9: 66 ; export func index +00005aa: 09 ; string length +00005ab: 6936 342e 6469 765f 75 i64.div_u ; export name +00005b4: 00 ; export kind +00005b5: 67 ; export func index +00005b6: 09 ; string length +00005b7: 6936 342e 7265 6d5f 73 i64.rem_s ; export name +00005c0: 00 ; export kind +00005c1: 68 ; export func index +00005c2: 09 ; string length +00005c3: 6936 342e 7265 6d5f 75 i64.rem_u ; export name +00005cc: 00 ; export kind +00005cd: 69 ; export func index +00005ce: 07 ; string length +00005cf: 6936 342e 616e 64 i64.and ; export name +00005d6: 00 ; export kind +00005d7: 6a ; export func index +00005d8: 06 ; string length +00005d9: 6936 342e 6f72 i64.or ; export name +00005df: 00 ; export kind +00005e0: 6b ; export func index +00005e1: 07 ; string length +00005e2: 6936 342e 786f 72 i64.xor ; export name +00005e9: 00 ; export kind +00005ea: 6c ; export func index +00005eb: 07 ; string length +00005ec: 6936 342e 7368 6c i64.shl ; export name +00005f3: 00 ; export kind +00005f4: 6d ; export func index +00005f5: 09 ; string length +00005f6: 6936 342e 7368 725f 73 i64.shr_s ; export name +00005ff: 00 ; export kind +0000600: 6e ; export func index +0000601: 09 ; string length +0000602: 6936 342e 7368 725f 75 i64.shr_u ; export name +000060b: 00 ; export kind +000060c: 6f ; export func index +000060d: 08 ; string length +000060e: 6936 342e 726f 746c i64.rotl ; export name +0000616: 00 ; export kind +0000617: 70 ; export func index +0000618: 08 ; string length +0000619: 6936 342e 726f 7472 i64.rotr ; export name +0000621: 00 ; export kind +0000622: 71 ; export func index +0000623: 07 ; string length +0000624: 6633 322e 6162 73 f32.abs ; export name +000062b: 00 ; export kind +000062c: 72 ; export func index +000062d: 07 ; string length +000062e: 6633 322e 6e65 67 f32.neg ; export name +0000635: 00 ; export kind +0000636: 73 ; export func index +0000637: 08 ; string length +0000638: 6633 322e 6365 696c f32.ceil ; export name +0000640: 00 ; export kind +0000641: 74 ; export func index +0000642: 09 ; string length +0000643: 6633 322e 666c 6f6f 72 f32.floor ; export name +000064c: 00 ; export kind +000064d: 75 ; export func index +000064e: 09 ; string length +000064f: 6633 322e 7472 756e 63 f32.trunc ; export name +0000658: 00 ; export kind +0000659: 76 ; export func index +000065a: 0b ; string length +000065b: 6633 322e 6e65 6172 6573 74 f32.nearest ; export name +0000666: 00 ; export kind +0000667: 77 ; export func index +0000668: 08 ; string length +0000669: 6633 322e 7371 7274 f32.sqrt ; export name +0000671: 00 ; export kind +0000672: 78 ; export func index +0000673: 07 ; string length +0000674: 6633 322e 6164 64 f32.add ; export name +000067b: 00 ; export kind +000067c: 79 ; export func index +000067d: 07 ; string length +000067e: 6633 322e 7375 62 f32.sub ; export name +0000685: 00 ; export kind +0000686: 7a ; export func index +0000687: 07 ; string length +0000688: 6633 322e 6d75 6c f32.mul ; export name +000068f: 00 ; export kind +0000690: 7b ; export func index +0000691: 07 ; string length +0000692: 6633 322e 6469 76 f32.div ; export name +0000699: 00 ; export kind +000069a: 7c ; export func index +000069b: 07 ; string length +000069c: 6633 322e 6d69 6e f32.min ; export name +00006a3: 00 ; export kind +00006a4: 7d ; export func index +00006a5: 07 ; string length +00006a6: 6633 322e 6d61 78 f32.max ; export name +00006ad: 00 ; export kind +00006ae: 7e ; export func index +00006af: 0c ; string length +00006b0: 6633 322e 636f 7079 7369 676e f32.copysign ; export name +00006bc: 00 ; export kind +00006bd: 7f ; export func index +00006be: 07 ; string length +00006bf: 6636 342e 6162 73 f64.abs ; export name +00006c6: 00 ; export kind +00006c7: 8001 ; export func index +00006c9: 07 ; string length +00006ca: 6636 342e 6e65 67 f64.neg ; export name +00006d1: 00 ; export kind +00006d2: 8101 ; export func index +00006d4: 08 ; string length +00006d5: 6636 342e 6365 696c f64.ceil ; export name +00006dd: 00 ; export kind +00006de: 8201 ; export func index +00006e0: 09 ; string length +00006e1: 6636 342e 666c 6f6f 72 f64.floor ; export name +00006ea: 00 ; export kind +00006eb: 8301 ; export func index +00006ed: 09 ; string length +00006ee: 6636 342e 7472 756e 63 f64.trunc ; export name +00006f7: 00 ; export kind +00006f8: 8401 ; export func index +00006fa: 0b ; string length +00006fb: 6636 342e 6e65 6172 6573 74 f64.nearest ; export name +0000706: 00 ; export kind +0000707: 8501 ; export func index +0000709: 08 ; string length +000070a: 6636 342e 7371 7274 f64.sqrt ; export name +0000712: 00 ; export kind +0000713: 8601 ; export func index +0000715: 07 ; string length +0000716: 6636 342e 6164 64 f64.add ; export name +000071d: 00 ; export kind +000071e: 8701 ; export func index +0000720: 07 ; string length +0000721: 6636 342e 7375 62 f64.sub ; export name +0000728: 00 ; export kind +0000729: 8801 ; export func index +000072b: 07 ; string length +000072c: 6636 342e 6d75 6c f64.mul ; export name +0000733: 00 ; export kind +0000734: 8901 ; export func index +0000736: 07 ; string length +0000737: 6636 342e 6469 76 f64.div ; export name +000073e: 00 ; export kind +000073f: 8a01 ; export func index +0000741: 07 ; string length +0000742: 6636 342e 6d69 6e f64.min ; export name +0000749: 00 ; export kind +000074a: 8b01 ; export func index +000074c: 07 ; string length +000074d: 6636 342e 6d61 78 f64.max ; export name +0000754: 00 ; export kind +0000755: 8c01 ; export func index +0000757: 0c ; string length +0000758: 6636 342e 636f 7079 7369 676e f64.copysign ; export name +0000764: 00 ; export kind +0000765: 8d01 ; export func index +0000767: 0c ; string length +0000768: 6933 322e 7772 6170 2f69 3634 i32.wrap/i64 ; export name +0000774: 00 ; export kind +0000775: 8e01 ; export func index +0000777: 0f ; string length +0000778: 6933 322e 7472 756e 635f 732f 6633 32 i32.trunc_s/f32 ; export name +0000787: 00 ; export kind +0000788: 8f01 ; export func index +000078a: 0f ; string length +000078b: 6933 322e 7472 756e 635f 752f 6633 32 i32.trunc_u/f32 ; export name +000079a: 00 ; export kind +000079b: 9001 ; export func index +000079d: 0f ; string length +000079e: 6933 322e 7472 756e 635f 732f 6636 34 i32.trunc_s/f64 ; export name +00007ad: 00 ; export kind +00007ae: 9101 ; export func index +00007b0: 0f ; string length +00007b1: 6933 322e 7472 756e 635f 752f 6636 34 i32.trunc_u/f64 ; export name +00007c0: 00 ; export kind +00007c1: 9201 ; export func index +00007c3: 10 ; string length +00007c4: 6936 342e 6578 7465 6e64 5f73 2f69 3332 i64.extend_s/i32 ; export name +00007d4: 00 ; export kind +00007d5: 9301 ; export func index +00007d7: 10 ; string length +00007d8: 6936 342e 6578 7465 6e64 5f75 2f69 3332 i64.extend_u/i32 ; export name +00007e8: 00 ; export kind +00007e9: 9401 ; export func index +00007eb: 0f ; string length +00007ec: 6936 342e 7472 756e 635f 732f 6633 32 i64.trunc_s/f32 ; export name +00007fb: 00 ; export kind +00007fc: 9501 ; export func index +00007fe: 0f ; string length +00007ff: 6936 342e 7472 756e 635f 752f 6633 32 i64.trunc_u/f32 ; export name +000080e: 00 ; export kind +000080f: 9601 ; export func index +0000811: 0f ; string length +0000812: 6936 342e 7472 756e 635f 732f 6636 34 i64.trunc_s/f64 ; export name +0000821: 00 ; export kind +0000822: 9701 ; export func index +0000824: 0f ; string length +0000825: 6936 342e 7472 756e 635f 752f 6636 34 i64.trunc_u/f64 ; export name +0000834: 00 ; export kind +0000835: 9801 ; export func index +0000837: 11 ; string length +0000838: 6633 322e 636f 6e76 6572 745f 732f 6933 f32.convert_s/i3 +0000848: 32 2 ; export name +0000849: 00 ; export kind +000084a: 9901 ; export func index +000084c: 11 ; string length +000084d: 6633 322e 636f 6e76 6572 745f 752f 6933 f32.convert_u/i3 +000085d: 32 2 ; export name +000085e: 00 ; export kind +000085f: 9a01 ; export func index +0000861: 11 ; string length +0000862: 6633 322e 636f 6e76 6572 745f 732f 6936 f32.convert_s/i6 +0000872: 34 4 ; export name +0000873: 00 ; export kind +0000874: 9b01 ; export func index +0000876: 11 ; string length +0000877: 6633 322e 636f 6e76 6572 745f 752f 6936 f32.convert_u/i6 +0000887: 34 4 ; export name +0000888: 00 ; export kind +0000889: 9c01 ; export func index +000088b: 0e ; string length +000088c: 6633 322e 6465 6d6f 7465 2f66 3634 f32.demote/f64 ; export name +000089a: 00 ; export kind +000089b: 9d01 ; export func index +000089d: 11 ; string length +000089e: 6636 342e 636f 6e76 6572 745f 732f 6933 f64.convert_s/i3 +00008ae: 32 2 ; export name +00008af: 00 ; export kind +00008b0: 9e01 ; export func index +00008b2: 11 ; string length +00008b3: 6636 342e 636f 6e76 6572 745f 752f 6933 f64.convert_u/i3 +00008c3: 32 2 ; export name +00008c4: 00 ; export kind +00008c5: 9f01 ; export func index +00008c7: 11 ; string length +00008c8: 6636 342e 636f 6e76 6572 745f 732f 6936 f64.convert_s/i6 +00008d8: 34 4 ; export name +00008d9: 00 ; export kind +00008da: a001 ; export func index +00008dc: 11 ; string length +00008dd: 6636 342e 636f 6e76 6572 745f 752f 6936 f64.convert_u/i6 +00008ed: 34 4 ; export name +00008ee: 00 ; export kind +00008ef: a101 ; export func index +00008f1: 0f ; string length +00008f2: 6636 342e 7072 6f6d 6f74 652f 6633 32 f64.promote/f32 ; export name +0000901: 00 ; export kind +0000902: a201 ; export func index +0000904: 13 ; string length +0000905: 6933 322e 7265 696e 7465 7270 7265 742f i32.reinterpret/ +0000915: 6633 32 f32 ; export name +0000918: 00 ; export kind +0000919: a301 ; export func index +000091b: 13 ; string length +000091c: 6633 322e 7265 696e 7465 7270 7265 742f f32.reinterpret/ +000092c: 6933 32 i32 ; export name +000092f: 00 ; export kind +0000930: a401 ; export func index +0000932: 13 ; string length +0000933: 6936 342e 7265 696e 7465 7270 7265 742f i64.reinterpret/ +0000943: 6636 34 f64 ; export name +0000946: 00 ; export kind +0000947: a501 ; export func index +0000949: 13 ; string length +000094a: 6636 342e 7265 696e 7465 7270 7265 742f f64.reinterpret/ +000095a: 6936 34 i64 ; export name +000095d: 00 ; export kind +000095e: a601 ; export func index +0000960: 0d ; string length +0000961: 6933 322e 6578 7465 6e64 385f 73 i32.extend8_s ; export name +000096e: 00 ; export kind +000096f: a701 ; export func index +0000971: 0e ; string length +0000972: 6933 322e 6578 7465 6e64 3136 5f73 i32.extend16_s ; export name +0000980: 00 ; export kind +0000981: a801 ; export func index +0000983: 0d ; string length +0000984: 6936 342e 6578 7465 6e64 385f 73 i64.extend8_s ; export name +0000991: 00 ; export kind +0000992: a901 ; export func index +0000994: 0e ; string length +0000995: 6936 342e 6578 7465 6e64 3136 5f73 i64.extend16_s ; export name +00009a3: 00 ; export kind +00009a4: aa01 ; export func index +00009a6: 0e ; string length +00009a7: 6936 342e 6578 7465 6e64 3332 5f73 i64.extend32_s ; export name +00009b5: 00 ; export kind +00009b6: ab01 ; export func index +00009b8: 06 ; string length +00009b9: 616c 6c6f 6361 alloca ; export name +00009bf: 00 ; export kind +00009c0: ac01 ; export func index +00009c2: 09 ; string length +00009c3: 6272 5f75 6e6c 6573 73 br_unless ; export name +00009cc: 00 ; export kind +00009cd: ad01 ; export func index +00009cf: 09 ; string length +00009d0: 6361 6c6c 5f68 6f73 74 call_host ; export name +00009d9: 00 ; export kind +00009da: ae01 ; export func index +00009dc: 04 ; string length +00009dd: 6461 7461 data ; export name +00009e1: 00 ; export kind +00009e2: af01 ; export func index +00009e4: 09 ; string length +00009e5: 6472 6f70 5f6b 6565 70 drop_keep ; export name +00009ee: 00 ; export kind +00009ef: b001 ; export func index +00009f1: 13 ; string length +00009f2: 6933 322e 7472 756e 635f 733a 7361 742f i32.trunc_s:sat/ +0000a02: 6633 32 f32 ; export name +0000a05: 00 ; export kind +0000a06: b101 ; export func index +0000a08: 13 ; string length +0000a09: 6933 322e 7472 756e 635f 753a 7361 742f i32.trunc_u:sat/ +0000a19: 6633 32 f32 ; export name +0000a1c: 00 ; export kind +0000a1d: b201 ; export func index +0000a1f: 13 ; string length +0000a20: 6933 322e 7472 756e 635f 733a 7361 742f i32.trunc_s:sat/ +0000a30: 6636 34 f64 ; export name +0000a33: 00 ; export kind +0000a34: b301 ; export func index +0000a36: 13 ; string length +0000a37: 6933 322e 7472 756e 635f 753a 7361 742f i32.trunc_u:sat/ +0000a47: 6636 34 f64 ; export name +0000a4a: 00 ; export kind +0000a4b: b401 ; export func index +0000a4d: 13 ; string length +0000a4e: 6936 342e 7472 756e 635f 733a 7361 742f i64.trunc_s:sat/ +0000a5e: 6633 32 f32 ; export name +0000a61: 00 ; export kind +0000a62: b501 ; export func index +0000a64: 13 ; string length +0000a65: 6936 342e 7472 756e 635f 753a 7361 742f i64.trunc_u:sat/ +0000a75: 6633 32 f32 ; export name +0000a78: 00 ; export kind +0000a79: b601 ; export func index +0000a7b: 13 ; string length +0000a7c: 6936 342e 7472 756e 635f 733a 7361 742f i64.trunc_s:sat/ +0000a8c: 6636 34 f64 ; export name +0000a8f: 00 ; export kind +0000a90: b701 ; export func index +0000a92: 13 ; string length +0000a93: 6936 342e 7472 756e 635f 753a 7361 742f i64.trunc_u:sat/ +0000aa3: 6636 34 f64 ; export name +0000aa6: 00 ; export kind +0000aa7: b801 ; export func index +0000aa9: 04 ; string length +0000aaa: 7761 6b65 wake ; export name +0000aae: 00 ; export kind +0000aaf: b901 ; export func index +0000ab1: 08 ; string length +0000ab2: 6933 322e 7761 6974 i32.wait ; export name +0000aba: 00 ; export kind +0000abb: ba01 ; export func index +0000abd: 08 ; string length +0000abe: 6936 342e 7761 6974 i64.wait ; export name +0000ac6: 00 ; export kind +0000ac7: bb01 ; export func index +0000ac9: 0f ; string length +0000aca: 6933 322e 6174 6f6d 6963 2e6c 6f61 64 i32.atomic.load ; export name +0000ad9: 00 ; export kind +0000ada: bc01 ; export func index +0000adc: 0f ; string length +0000add: 6936 342e 6174 6f6d 6963 2e6c 6f61 64 i64.atomic.load ; export name +0000aec: 00 ; export kind +0000aed: bd01 ; export func index +0000aef: 12 ; string length +0000af0: 6933 322e 6174 6f6d 6963 2e6c 6f61 6438 i32.atomic.load8 +0000b00: 5f75 _u ; export name +0000b02: 00 ; export kind +0000b03: be01 ; export func index +0000b05: 13 ; string length +0000b06: 6933 322e 6174 6f6d 6963 2e6c 6f61 6431 i32.atomic.load1 +0000b16: 365f 75 6_u ; export name +0000b19: 00 ; export kind +0000b1a: bf01 ; export func index +0000b1c: 12 ; string length +0000b1d: 6936 342e 6174 6f6d 6963 2e6c 6f61 6438 i64.atomic.load8 +0000b2d: 5f75 _u ; export name +0000b2f: 00 ; export kind +0000b30: c001 ; export func index +0000b32: 13 ; string length +0000b33: 6936 342e 6174 6f6d 6963 2e6c 6f61 6431 i64.atomic.load1 +0000b43: 365f 75 6_u ; export name +0000b46: 00 ; export kind +0000b47: c101 ; export func index +0000b49: 13 ; string length +0000b4a: 6936 342e 6174 6f6d 6963 2e6c 6f61 6433 i64.atomic.load3 +0000b5a: 325f 75 2_u ; export name +0000b5d: 00 ; export kind +0000b5e: c201 ; export func index +0000b60: 10 ; string length +0000b61: 6933 322e 6174 6f6d 6963 2e73 746f 7265 i32.atomic.store ; export name +0000b71: 00 ; export kind +0000b72: c301 ; export func index +0000b74: 10 ; string length +0000b75: 6936 342e 6174 6f6d 6963 2e73 746f 7265 i64.atomic.store ; export name +0000b85: 00 ; export kind +0000b86: c401 ; export func index +0000b88: 11 ; string length +0000b89: 6933 322e 6174 6f6d 6963 2e73 746f 7265 i32.atomic.store +0000b99: 38 8 ; export name +0000b9a: 00 ; export kind +0000b9b: c501 ; export func index +0000b9d: 12 ; string length +0000b9e: 6933 322e 6174 6f6d 6963 2e73 746f 7265 i32.atomic.store +0000bae: 3136 16 ; export name +0000bb0: 00 ; export kind +0000bb1: c601 ; export func index +0000bb3: 11 ; string length +0000bb4: 6936 342e 6174 6f6d 6963 2e73 746f 7265 i64.atomic.store +0000bc4: 38 8 ; export name +0000bc5: 00 ; export kind +0000bc6: c701 ; export func index +0000bc8: 12 ; string length +0000bc9: 6936 342e 6174 6f6d 6963 2e73 746f 7265 i64.atomic.store +0000bd9: 3136 16 ; export name +0000bdb: 00 ; export kind +0000bdc: c801 ; export func index +0000bde: 12 ; string length +0000bdf: 6936 342e 6174 6f6d 6963 2e73 746f 7265 i64.atomic.store +0000bef: 3332 32 ; export name +0000bf1: 00 ; export kind +0000bf2: c901 ; export func index +0000bf4: 12 ; string length +0000bf5: 6933 322e 6174 6f6d 6963 2e72 6d77 2e61 i32.atomic.rmw.a +0000c05: 6464 dd ; export name +0000c07: 00 ; export kind +0000c08: ca01 ; export func index +0000c0a: 12 ; string length +0000c0b: 6936 342e 6174 6f6d 6963 2e72 6d77 2e61 i64.atomic.rmw.a +0000c1b: 6464 dd ; export name +0000c1d: 00 ; export kind +0000c1e: cb01 ; export func index +0000c20: 15 ; string length +0000c21: 6933 322e 6174 6f6d 6963 2e72 6d77 385f i32.atomic.rmw8_ +0000c31: 752e 6164 64 u.add ; export name +0000c36: 00 ; export kind +0000c37: cc01 ; export func index +0000c39: 16 ; string length +0000c3a: 6933 322e 6174 6f6d 6963 2e72 6d77 3136 i32.atomic.rmw16 +0000c4a: 5f75 2e61 6464 _u.add ; export name +0000c50: 00 ; export kind +0000c51: cd01 ; export func index +0000c53: 15 ; string length +0000c54: 6936 342e 6174 6f6d 6963 2e72 6d77 385f i64.atomic.rmw8_ +0000c64: 752e 6164 64 u.add ; export name +0000c69: 00 ; export kind +0000c6a: ce01 ; export func index +0000c6c: 16 ; string length +0000c6d: 6936 342e 6174 6f6d 6963 2e72 6d77 3136 i64.atomic.rmw16 +0000c7d: 5f75 2e61 6464 _u.add ; export name +0000c83: 00 ; export kind +0000c84: cf01 ; export func index +0000c86: 16 ; string length +0000c87: 6936 342e 6174 6f6d 6963 2e72 6d77 3332 i64.atomic.rmw32 +0000c97: 5f75 2e61 6464 _u.add ; export name +0000c9d: 00 ; export kind +0000c9e: d001 ; export func index +0000ca0: 12 ; string length +0000ca1: 6933 322e 6174 6f6d 6963 2e72 6d77 2e73 i32.atomic.rmw.s +0000cb1: 7562 ub ; export name +0000cb3: 00 ; export kind +0000cb4: d101 ; export func index +0000cb6: 12 ; string length +0000cb7: 6936 342e 6174 6f6d 6963 2e72 6d77 2e73 i64.atomic.rmw.s +0000cc7: 7562 ub ; export name +0000cc9: 00 ; export kind +0000cca: d201 ; export func index +0000ccc: 15 ; string length +0000ccd: 6933 322e 6174 6f6d 6963 2e72 6d77 385f i32.atomic.rmw8_ +0000cdd: 752e 7375 62 u.sub ; export name +0000ce2: 00 ; export kind +0000ce3: d301 ; export func index +0000ce5: 16 ; string length +0000ce6: 6933 322e 6174 6f6d 6963 2e72 6d77 3136 i32.atomic.rmw16 +0000cf6: 5f75 2e73 7562 _u.sub ; export name +0000cfc: 00 ; export kind +0000cfd: d401 ; export func index +0000cff: 15 ; string length +0000d00: 6936 342e 6174 6f6d 6963 2e72 6d77 385f i64.atomic.rmw8_ +0000d10: 752e 7375 62 u.sub ; export name +0000d15: 00 ; export kind +0000d16: d501 ; export func index +0000d18: 16 ; string length +0000d19: 6936 342e 6174 6f6d 6963 2e72 6d77 3136 i64.atomic.rmw16 +0000d29: 5f75 2e73 7562 _u.sub ; export name +0000d2f: 00 ; export kind +0000d30: d601 ; export func index +0000d32: 16 ; string length +0000d33: 6936 342e 6174 6f6d 6963 2e72 6d77 3332 i64.atomic.rmw32 +0000d43: 5f75 2e73 7562 _u.sub ; export name +0000d49: 00 ; export kind +0000d4a: d701 ; export func index +0000d4c: 12 ; string length +0000d4d: 6933 322e 6174 6f6d 6963 2e72 6d77 2e61 i32.atomic.rmw.a +0000d5d: 6e64 nd ; export name +0000d5f: 00 ; export kind +0000d60: d801 ; export func index +0000d62: 12 ; string length +0000d63: 6936 342e 6174 6f6d 6963 2e72 6d77 2e61 i64.atomic.rmw.a +0000d73: 6e64 nd ; export name +0000d75: 00 ; export kind +0000d76: d901 ; export func index +0000d78: 15 ; string length +0000d79: 6933 322e 6174 6f6d 6963 2e72 6d77 385f i32.atomic.rmw8_ +0000d89: 752e 616e 64 u.and ; export name +0000d8e: 00 ; export kind +0000d8f: da01 ; export func index +0000d91: 16 ; string length +0000d92: 6933 322e 6174 6f6d 6963 2e72 6d77 3136 i32.atomic.rmw16 +0000da2: 5f75 2e61 6e64 _u.and ; export name +0000da8: 00 ; export kind +0000da9: db01 ; export func index +0000dab: 15 ; string length +0000dac: 6936 342e 6174 6f6d 6963 2e72 6d77 385f i64.atomic.rmw8_ +0000dbc: 752e 616e 64 u.and ; export name +0000dc1: 00 ; export kind +0000dc2: dc01 ; export func index +0000dc4: 16 ; string length +0000dc5: 6936 342e 6174 6f6d 6963 2e72 6d77 3136 i64.atomic.rmw16 +0000dd5: 5f75 2e61 6e64 _u.and ; export name +0000ddb: 00 ; export kind +0000ddc: dd01 ; export func index +0000dde: 16 ; string length +0000ddf: 6936 342e 6174 6f6d 6963 2e72 6d77 3332 i64.atomic.rmw32 +0000def: 5f75 2e61 6e64 _u.and ; export name +0000df5: 00 ; export kind +0000df6: de01 ; export func index +0000df8: 11 ; string length +0000df9: 6933 322e 6174 6f6d 6963 2e72 6d77 2e6f i32.atomic.rmw.o +0000e09: 72 r ; export name +0000e0a: 00 ; export kind +0000e0b: df01 ; export func index +0000e0d: 11 ; string length +0000e0e: 6936 342e 6174 6f6d 6963 2e72 6d77 2e6f i64.atomic.rmw.o +0000e1e: 72 r ; export name +0000e1f: 00 ; export kind +0000e20: e001 ; export func index +0000e22: 14 ; string length +0000e23: 6933 322e 6174 6f6d 6963 2e72 6d77 385f i32.atomic.rmw8_ +0000e33: 752e 6f72 u.or ; export name +0000e37: 00 ; export kind +0000e38: e101 ; export func index +0000e3a: 15 ; string length +0000e3b: 6933 322e 6174 6f6d 6963 2e72 6d77 3136 i32.atomic.rmw16 +0000e4b: 5f75 2e6f 72 _u.or ; export name +0000e50: 00 ; export kind +0000e51: e201 ; export func index +0000e53: 14 ; string length +0000e54: 6936 342e 6174 6f6d 6963 2e72 6d77 385f i64.atomic.rmw8_ +0000e64: 752e 6f72 u.or ; export name +0000e68: 00 ; export kind +0000e69: e301 ; export func index +0000e6b: 15 ; string length +0000e6c: 6936 342e 6174 6f6d 6963 2e72 6d77 3136 i64.atomic.rmw16 +0000e7c: 5f75 2e6f 72 _u.or ; export name +0000e81: 00 ; export kind +0000e82: e401 ; export func index +0000e84: 15 ; string length +0000e85: 6936 342e 6174 6f6d 6963 2e72 6d77 3332 i64.atomic.rmw32 +0000e95: 5f75 2e6f 72 _u.or ; export name +0000e9a: 00 ; export kind +0000e9b: e501 ; export func index +0000e9d: 12 ; string length +0000e9e: 6933 322e 6174 6f6d 6963 2e72 6d77 2e78 i32.atomic.rmw.x +0000eae: 6f72 or ; export name +0000eb0: 00 ; export kind +0000eb1: e601 ; export func index +0000eb3: 12 ; string length +0000eb4: 6936 342e 6174 6f6d 6963 2e72 6d77 2e78 i64.atomic.rmw.x +0000ec4: 6f72 or ; export name +0000ec6: 00 ; export kind +0000ec7: e701 ; export func index +0000ec9: 15 ; string length +0000eca: 6933 322e 6174 6f6d 6963 2e72 6d77 385f i32.atomic.rmw8_ +0000eda: 752e 786f 72 u.xor ; export name +0000edf: 00 ; export kind +0000ee0: e801 ; export func index +0000ee2: 16 ; string length +0000ee3: 6933 322e 6174 6f6d 6963 2e72 6d77 3136 i32.atomic.rmw16 +0000ef3: 5f75 2e78 6f72 _u.xor ; export name +0000ef9: 00 ; export kind +0000efa: e901 ; export func index +0000efc: 15 ; string length +0000efd: 6936 342e 6174 6f6d 6963 2e72 6d77 385f i64.atomic.rmw8_ +0000f0d: 752e 786f 72 u.xor ; export name +0000f12: 00 ; export kind +0000f13: ea01 ; export func index +0000f15: 16 ; string length +0000f16: 6936 342e 6174 6f6d 6963 2e72 6d77 3136 i64.atomic.rmw16 +0000f26: 5f75 2e78 6f72 _u.xor ; export name +0000f2c: 00 ; export kind +0000f2d: eb01 ; export func index +0000f2f: 16 ; string length +0000f30: 6936 342e 6174 6f6d 6963 2e72 6d77 3332 i64.atomic.rmw32 +0000f40: 5f75 2e78 6f72 _u.xor ; export name +0000f46: 00 ; export kind +0000f47: ec01 ; export func index +0000f49: 13 ; string length +0000f4a: 6933 322e 6174 6f6d 6963 2e72 6d77 2e78 i32.atomic.rmw.x +0000f5a: 6368 67 chg ; export name +0000f5d: 00 ; export kind +0000f5e: ed01 ; export func index +0000f60: 13 ; string length +0000f61: 6936 342e 6174 6f6d 6963 2e72 6d77 2e78 i64.atomic.rmw.x +0000f71: 6368 67 chg ; export name +0000f74: 00 ; export kind +0000f75: ee01 ; export func index +0000f77: 16 ; string length +0000f78: 6933 322e 6174 6f6d 6963 2e72 6d77 385f i32.atomic.rmw8_ +0000f88: 752e 7863 6867 u.xchg ; export name +0000f8e: 00 ; export kind +0000f8f: ef01 ; export func index +0000f91: 17 ; string length +0000f92: 6933 322e 6174 6f6d 6963 2e72 6d77 3136 i32.atomic.rmw16 +0000fa2: 5f75 2e78 6368 67 _u.xchg ; export name +0000fa9: 00 ; export kind +0000faa: f001 ; export func index +0000fac: 16 ; string length +0000fad: 6936 342e 6174 6f6d 6963 2e72 6d77 385f i64.atomic.rmw8_ +0000fbd: 752e 7863 6867 u.xchg ; export name +0000fc3: 00 ; export kind +0000fc4: f101 ; export func index +0000fc6: 17 ; string length +0000fc7: 6936 342e 6174 6f6d 6963 2e72 6d77 3136 i64.atomic.rmw16 +0000fd7: 5f75 2e78 6368 67 _u.xchg ; export name +0000fde: 00 ; export kind +0000fdf: f201 ; export func index +0000fe1: 17 ; string length +0000fe2: 6936 342e 6174 6f6d 6963 2e72 6d77 3332 i64.atomic.rmw32 +0000ff2: 5f75 2e78 6368 67 _u.xchg ; export name +0000ff9: 00 ; export kind +0000ffa: f301 ; export func index +0000ffc: 16 ; string length +0000ffd: 6933 322e 6174 6f6d 6963 2e72 6d77 2e63 i32.atomic.rmw.c +000100d: 6d70 7863 6867 mpxchg ; export name +0001013: 00 ; export kind +0001014: f401 ; export func index +0001016: 16 ; string length +0001017: 6936 342e 6174 6f6d 6963 2e72 6d77 2e63 i64.atomic.rmw.c +0001027: 6d70 7863 6867 mpxchg ; export name +000102d: 00 ; export kind +000102e: f501 ; export func index +0001030: 19 ; string length +0001031: 6933 322e 6174 6f6d 6963 2e72 6d77 385f i32.atomic.rmw8_ +0001041: 752e 636d 7078 6368 67 u.cmpxchg ; export name +000104a: 00 ; export kind +000104b: f601 ; export func index +000104d: 1a ; string length +000104e: 6933 322e 6174 6f6d 6963 2e72 6d77 3136 i32.atomic.rmw16 +000105e: 5f75 2e63 6d70 7863 6867 _u.cmpxchg ; export name +0001068: 00 ; export kind +0001069: f701 ; export func index +000106b: 19 ; string length +000106c: 6936 342e 6174 6f6d 6963 2e72 6d77 385f i64.atomic.rmw8_ +000107c: 752e 636d 7078 6368 67 u.cmpxchg ; export name +0001085: 00 ; export kind +0001086: f801 ; export func index +0001088: 1a ; string length +0001089: 6936 342e 6174 6f6d 6963 2e72 6d77 3136 i64.atomic.rmw16 +0001099: 5f75 2e63 6d70 7863 6867 _u.cmpxchg ; export name +00010a3: 00 ; export kind +00010a4: f901 ; export func index +00010a6: 1a ; string length +00010a7: 6936 342e 6174 6f6d 6963 2e72 6d77 3332 i64.atomic.rmw32 +00010b7: 5f75 2e63 6d70 7863 6867 _u.cmpxchg ; export name +00010c1: 00 ; export kind +00010c2: fa01 ; export func index +; move data: [138, 10c4) -> [139, 10c5) +0000137: 8c1f ; FIXUP section size ; section "Elem" (9) -00010a2: 09 ; section code -00010a3: 00 ; section size (guess) -00010a4: 01 ; num elem segments +00010c5: 09 ; section code +00010c6: 00 ; section size (guess) +00010c7: 01 ; num elem segments ; elem segment header 0 -00010a5: 00 ; table index -00010a6: 41 ; i32.const -00010a7: 00 ; i32 literal -00010a8: 0b ; end -00010a9: 02 ; num function indices -00010aa: 01 ; function index -00010ab: 01 ; function index -00010a3: 08 ; FIXUP section size +00010c8: 00 ; table index +00010c9: 41 ; i32.const +00010ca: 00 ; i32 literal +00010cb: 0b ; end +00010cc: 02 ; num function indices +00010cd: 01 ; function index +00010ce: 01 ; function index +00010c6: 08 ; FIXUP section size ; section "Code" (10) -00010ac: 0a ; section code -00010ad: 00 ; section size (guess) -00010ae: f701 ; num functions +00010cf: 0a ; section code +00010d0: 00 ; section size (guess) +00010d1: fa01 ; num functions ; function body 0 -00010b0: 00 ; func body size (guess) -00010b1: 00 ; local decl count -00010b2: 0b ; end -00010b0: 02 ; FIXUP func body size +00010d3: 00 ; func body size (guess) +00010d4: 00 ; local decl count +00010d5: 0b ; end +00010d3: 02 ; FIXUP func body size ; function body 1 -00010b3: 00 ; func body size (guess) -00010b4: 00 ; local decl count -00010b5: 00 ; unreachable -00010b6: 0b ; end -00010b3: 03 ; FIXUP func body size +00010d6: 00 ; func body size (guess) +00010d7: 00 ; local decl count +00010d8: 00 ; unreachable +00010d9: 0b ; end +00010d6: 03 ; FIXUP func body size ; function body 2 -00010b7: 00 ; func body size (guess) -00010b8: 00 ; local decl count -00010b9: 0c ; br -00010ba: 00 ; break depth -00010bb: 0b ; end -00010b7: 04 ; FIXUP func body size +00010da: 00 ; func body size (guess) +00010db: 00 ; local decl count +00010dc: 0c ; br +00010dd: 00 ; break depth +00010de: 0b ; end +00010da: 04 ; FIXUP func body size ; function body 3 -00010bc: 00 ; func body size (guess) -00010bd: 00 ; local decl count -00010be: 41 ; i32.const -00010bf: 01 ; i32 literal -00010c0: 0e ; br_table -00010c1: 00 ; num targets -00010c2: 00 ; break depth for default -00010c3: 0b ; end -00010bc: 07 ; FIXUP func body size +00010df: 00 ; func body size (guess) +00010e0: 00 ; local decl count +00010e1: 41 ; i32.const +00010e2: 01 ; i32 literal +00010e3: 0e ; br_table +00010e4: 00 ; num targets +00010e5: 00 ; break depth for default +00010e6: 0b ; end +00010df: 07 ; FIXUP func body size ; function body 4 -00010c4: 00 ; func body size (guess) -00010c5: 00 ; local decl count -00010c6: 0f ; return -00010c7: 0b ; end -00010c4: 03 ; FIXUP func body size +00010e7: 00 ; func body size (guess) +00010e8: 00 ; local decl count +00010e9: 0f ; return +00010ea: 0b ; end +00010e7: 03 ; FIXUP func body size ; function body 5 -00010c8: 00 ; func body size (guess) -00010c9: 00 ; local decl count -00010ca: 10 ; call -00010cb: 01 ; function index -00010cc: 0b ; end -00010c8: 04 ; FIXUP func body size +00010eb: 00 ; func body size (guess) +00010ec: 00 ; local decl count +00010ed: 10 ; call +00010ee: 01 ; function index +00010ef: 0b ; end +00010eb: 04 ; FIXUP func body size ; function body 6 -00010cd: 00 ; func body size (guess) -00010ce: 00 ; local decl count -00010cf: 41 ; i32.const -00010d0: 01 ; i32 literal -00010d1: 11 ; call_indirect -00010d2: 00 ; signature index -00010d3: 00 ; call_indirect reserved -00010d4: 0b ; end -00010cd: 07 ; FIXUP func body size +00010f0: 00 ; func body size (guess) +00010f1: 00 ; local decl count +00010f2: 41 ; i32.const +00010f3: 01 ; i32 literal +00010f4: 11 ; call_indirect +00010f5: 00 ; signature index +00010f6: 00 ; call_indirect reserved +00010f7: 0b ; end +00010f0: 07 ; FIXUP func body size ; function body 7 -00010d5: 00 ; func body size (guess) -00010d6: 00 ; local decl count -00010d7: 41 ; i32.const -00010d8: 01 ; i32 literal -00010d9: 1a ; drop -00010da: 0b ; end -00010d5: 05 ; FIXUP func body size +00010f8: 00 ; func body size (guess) +00010f9: 00 ; local decl count +00010fa: 41 ; i32.const +00010fb: 01 ; i32 literal +00010fc: 1a ; drop +00010fd: 0b ; end +00010f8: 05 ; FIXUP func body size ; function body 8 -00010db: 00 ; func body size (guess) -00010dc: 00 ; local decl count -00010dd: 41 ; i32.const -00010de: 01 ; i32 literal -00010df: 41 ; i32.const -00010e0: 02 ; i32 literal -00010e1: 41 ; i32.const -00010e2: 03 ; i32 literal -00010e3: 1b ; select -00010e4: 1a ; drop -00010e5: 0b ; end -00010db: 0a ; FIXUP func body size +00010fe: 00 ; func body size (guess) +00010ff: 00 ; local decl count +0001100: 41 ; i32.const +0001101: 01 ; i32 literal +0001102: 41 ; i32.const +0001103: 02 ; i32 literal +0001104: 41 ; i32.const +0001105: 03 ; i32 literal +0001106: 1b ; select +0001107: 1a ; drop +0001108: 0b ; end +00010fe: 0a ; FIXUP func body size ; function body 9 -00010e6: 00 ; func body size (guess) -00010e7: 01 ; local decl count -00010e8: 01 ; local type count -00010e9: 7f ; i32 -00010ea: 20 ; get_local -00010eb: 00 ; local index -00010ec: 1a ; drop -00010ed: 0b ; end -00010e6: 07 ; FIXUP func body size +0001109: 00 ; func body size (guess) +000110a: 01 ; local decl count +000110b: 01 ; local type count +000110c: 7f ; i32 +000110d: 20 ; get_local +000110e: 00 ; local index +000110f: 1a ; drop +0001110: 0b ; end +0001109: 07 ; FIXUP func body size ; function body 10 -00010ee: 00 ; func body size (guess) -00010ef: 01 ; local decl count -00010f0: 01 ; local type count -00010f1: 7f ; i32 -00010f2: 41 ; i32.const -00010f3: 01 ; i32 literal -00010f4: 21 ; set_local -00010f5: 00 ; local index -00010f6: 0b ; end -00010ee: 08 ; FIXUP func body size +0001111: 00 ; func body size (guess) +0001112: 01 ; local decl count +0001113: 01 ; local type count +0001114: 7f ; i32 +0001115: 41 ; i32.const +0001116: 01 ; i32 literal +0001117: 21 ; set_local +0001118: 00 ; local index +0001119: 0b ; end +0001111: 08 ; FIXUP func body size ; function body 11 -00010f7: 00 ; func body size (guess) -00010f8: 01 ; local decl count -00010f9: 01 ; local type count -00010fa: 7f ; i32 -00010fb: 41 ; i32.const -00010fc: 01 ; i32 literal -00010fd: 22 ; tee_local -00010fe: 00 ; local index -00010ff: 1a ; drop -0001100: 0b ; end -00010f7: 09 ; FIXUP func body size +000111a: 00 ; func body size (guess) +000111b: 01 ; local decl count +000111c: 01 ; local type count +000111d: 7f ; i32 +000111e: 41 ; i32.const +000111f: 01 ; i32 literal +0001120: 22 ; tee_local +0001121: 00 ; local index +0001122: 1a ; drop +0001123: 0b ; end +000111a: 09 ; FIXUP func body size ; function body 12 -0001101: 00 ; func body size (guess) -0001102: 00 ; local decl count -0001103: 23 ; get_global -0001104: 00 ; global index -0001105: 1a ; drop -0001106: 0b ; end -0001101: 05 ; FIXUP func body size +0001124: 00 ; func body size (guess) +0001125: 00 ; local decl count +0001126: 23 ; get_global +0001127: 00 ; global index +0001128: 1a ; drop +0001129: 0b ; end +0001124: 05 ; FIXUP func body size ; function body 13 -0001107: 00 ; func body size (guess) -0001108: 00 ; local decl count -0001109: 41 ; i32.const -000110a: 01 ; i32 literal -000110b: 24 ; set_global -000110c: 00 ; global index -000110d: 0b ; end -0001107: 06 ; FIXUP func body size +000112a: 00 ; func body size (guess) +000112b: 00 ; local decl count +000112c: 41 ; i32.const +000112d: 01 ; i32 literal +000112e: 24 ; set_global +000112f: 00 ; global index +0001130: 0b ; end +000112a: 06 ; FIXUP func body size ; function body 14 -000110e: 00 ; func body size (guess) -000110f: 00 ; local decl count -0001110: 41 ; i32.const -0001111: 01 ; i32 literal -0001112: 28 ; i32.load -0001113: 02 ; alignment -0001114: 02 ; load offset -0001115: 1a ; drop -0001116: 0b ; end -000110e: 08 ; FIXUP func body size +0001131: 00 ; func body size (guess) +0001132: 00 ; local decl count +0001133: 41 ; i32.const +0001134: 01 ; i32 literal +0001135: 28 ; i32.load +0001136: 02 ; alignment +0001137: 02 ; load offset +0001138: 1a ; drop +0001139: 0b ; end +0001131: 08 ; FIXUP func body size ; function body 15 -0001117: 00 ; func body size (guess) -0001118: 00 ; local decl count -0001119: 41 ; i32.const -000111a: 01 ; i32 literal -000111b: 29 ; i64.load -000111c: 03 ; alignment -000111d: 02 ; load offset -000111e: 1a ; drop -000111f: 0b ; end -0001117: 08 ; FIXUP func body size +000113a: 00 ; func body size (guess) +000113b: 00 ; local decl count +000113c: 41 ; i32.const +000113d: 01 ; i32 literal +000113e: 29 ; i64.load +000113f: 03 ; alignment +0001140: 02 ; load offset +0001141: 1a ; drop +0001142: 0b ; end +000113a: 08 ; FIXUP func body size ; function body 16 -0001120: 00 ; func body size (guess) -0001121: 00 ; local decl count -0001122: 41 ; i32.const -0001123: 01 ; i32 literal -0001124: 2a ; f32.load -0001125: 02 ; alignment -0001126: 02 ; load offset -0001127: 1a ; drop -0001128: 0b ; end -0001120: 08 ; FIXUP func body size +0001143: 00 ; func body size (guess) +0001144: 00 ; local decl count +0001145: 41 ; i32.const +0001146: 01 ; i32 literal +0001147: 2a ; f32.load +0001148: 02 ; alignment +0001149: 02 ; load offset +000114a: 1a ; drop +000114b: 0b ; end +0001143: 08 ; FIXUP func body size ; function body 17 -0001129: 00 ; func body size (guess) -000112a: 00 ; local decl count -000112b: 41 ; i32.const -000112c: 01 ; i32 literal -000112d: 2b ; f64.load -000112e: 03 ; alignment -000112f: 02 ; load offset -0001130: 1a ; drop -0001131: 0b ; end -0001129: 08 ; FIXUP func body size +000114c: 00 ; func body size (guess) +000114d: 00 ; local decl count +000114e: 41 ; i32.const +000114f: 01 ; i32 literal +0001150: 2b ; f64.load +0001151: 03 ; alignment +0001152: 02 ; load offset +0001153: 1a ; drop +0001154: 0b ; end +000114c: 08 ; FIXUP func body size ; function body 18 -0001132: 00 ; func body size (guess) -0001133: 00 ; local decl count -0001134: 41 ; i32.const -0001135: 01 ; i32 literal -0001136: 2c ; i32.load8_s -0001137: 00 ; alignment -0001138: 02 ; load offset -0001139: 1a ; drop -000113a: 0b ; end -0001132: 08 ; FIXUP func body size +0001155: 00 ; func body size (guess) +0001156: 00 ; local decl count +0001157: 41 ; i32.const +0001158: 01 ; i32 literal +0001159: 2c ; i32.load8_s +000115a: 00 ; alignment +000115b: 02 ; load offset +000115c: 1a ; drop +000115d: 0b ; end +0001155: 08 ; FIXUP func body size ; function body 19 -000113b: 00 ; func body size (guess) -000113c: 00 ; local decl count -000113d: 41 ; i32.const -000113e: 01 ; i32 literal -000113f: 2d ; i32.load8_u -0001140: 00 ; alignment -0001141: 02 ; load offset -0001142: 1a ; drop -0001143: 0b ; end -000113b: 08 ; FIXUP func body size +000115e: 00 ; func body size (guess) +000115f: 00 ; local decl count +0001160: 41 ; i32.const +0001161: 01 ; i32 literal +0001162: 2d ; i32.load8_u +0001163: 00 ; alignment +0001164: 02 ; load offset +0001165: 1a ; drop +0001166: 0b ; end +000115e: 08 ; FIXUP func body size ; function body 20 -0001144: 00 ; func body size (guess) -0001145: 00 ; local decl count -0001146: 41 ; i32.const -0001147: 01 ; i32 literal -0001148: 2e ; i32.load16_s -0001149: 01 ; alignment -000114a: 02 ; load offset -000114b: 1a ; drop -000114c: 0b ; end -0001144: 08 ; FIXUP func body size +0001167: 00 ; func body size (guess) +0001168: 00 ; local decl count +0001169: 41 ; i32.const +000116a: 01 ; i32 literal +000116b: 2e ; i32.load16_s +000116c: 01 ; alignment +000116d: 02 ; load offset +000116e: 1a ; drop +000116f: 0b ; end +0001167: 08 ; FIXUP func body size ; function body 21 -000114d: 00 ; func body size (guess) -000114e: 00 ; local decl count -000114f: 41 ; i32.const -0001150: 01 ; i32 literal -0001151: 2f ; i32.load16_u -0001152: 01 ; alignment -0001153: 02 ; load offset -0001154: 1a ; drop -0001155: 0b ; end -000114d: 08 ; FIXUP func body size +0001170: 00 ; func body size (guess) +0001171: 00 ; local decl count +0001172: 41 ; i32.const +0001173: 01 ; i32 literal +0001174: 2f ; i32.load16_u +0001175: 01 ; alignment +0001176: 02 ; load offset +0001177: 1a ; drop +0001178: 0b ; end +0001170: 08 ; FIXUP func body size ; function body 22 -0001156: 00 ; func body size (guess) -0001157: 00 ; local decl count -0001158: 41 ; i32.const -0001159: 01 ; i32 literal -000115a: 30 ; i64.load8_s -000115b: 00 ; alignment -000115c: 02 ; load offset -000115d: 1a ; drop -000115e: 0b ; end -0001156: 08 ; FIXUP func body size +0001179: 00 ; func body size (guess) +000117a: 00 ; local decl count +000117b: 41 ; i32.const +000117c: 01 ; i32 literal +000117d: 30 ; i64.load8_s +000117e: 00 ; alignment +000117f: 02 ; load offset +0001180: 1a ; drop +0001181: 0b ; end +0001179: 08 ; FIXUP func body size ; function body 23 -000115f: 00 ; func body size (guess) -0001160: 00 ; local decl count -0001161: 41 ; i32.const -0001162: 01 ; i32 literal -0001163: 31 ; i64.load8_u -0001164: 00 ; alignment -0001165: 02 ; load offset -0001166: 1a ; drop -0001167: 0b ; end -000115f: 08 ; FIXUP func body size +0001182: 00 ; func body size (guess) +0001183: 00 ; local decl count +0001184: 41 ; i32.const +0001185: 01 ; i32 literal +0001186: 31 ; i64.load8_u +0001187: 00 ; alignment +0001188: 02 ; load offset +0001189: 1a ; drop +000118a: 0b ; end +0001182: 08 ; FIXUP func body size ; function body 24 -0001168: 00 ; func body size (guess) -0001169: 00 ; local decl count -000116a: 41 ; i32.const -000116b: 01 ; i32 literal -000116c: 32 ; i64.load16_s -000116d: 01 ; alignment -000116e: 02 ; load offset -000116f: 1a ; drop -0001170: 0b ; end -0001168: 08 ; FIXUP func body size +000118b: 00 ; func body size (guess) +000118c: 00 ; local decl count +000118d: 41 ; i32.const +000118e: 01 ; i32 literal +000118f: 32 ; i64.load16_s +0001190: 01 ; alignment +0001191: 02 ; load offset +0001192: 1a ; drop +0001193: 0b ; end +000118b: 08 ; FIXUP func body size ; function body 25 -0001171: 00 ; func body size (guess) -0001172: 00 ; local decl count -0001173: 41 ; i32.const -0001174: 01 ; i32 literal -0001175: 33 ; i64.load16_u -0001176: 01 ; alignment -0001177: 02 ; load offset -0001178: 1a ; drop -0001179: 0b ; end -0001171: 08 ; FIXUP func body size +0001194: 00 ; func body size (guess) +0001195: 00 ; local decl count +0001196: 41 ; i32.const +0001197: 01 ; i32 literal +0001198: 33 ; i64.load16_u +0001199: 01 ; alignment +000119a: 02 ; load offset +000119b: 1a ; drop +000119c: 0b ; end +0001194: 08 ; FIXUP func body size ; function body 26 -000117a: 00 ; func body size (guess) -000117b: 00 ; local decl count -000117c: 41 ; i32.const -000117d: 01 ; i32 literal -000117e: 34 ; i64.load32_s -000117f: 02 ; alignment -0001180: 02 ; load offset -0001181: 1a ; drop -0001182: 0b ; end -000117a: 08 ; FIXUP func body size +000119d: 00 ; func body size (guess) +000119e: 00 ; local decl count +000119f: 41 ; i32.const +00011a0: 01 ; i32 literal +00011a1: 34 ; i64.load32_s +00011a2: 02 ; alignment +00011a3: 02 ; load offset +00011a4: 1a ; drop +00011a5: 0b ; end +000119d: 08 ; FIXUP func body size ; function body 27 -0001183: 00 ; func body size (guess) -0001184: 00 ; local decl count -0001185: 41 ; i32.const -0001186: 01 ; i32 literal -0001187: 35 ; i64.load32_u -0001188: 02 ; alignment -0001189: 02 ; load offset -000118a: 1a ; drop -000118b: 0b ; end -0001183: 08 ; FIXUP func body size +00011a6: 00 ; func body size (guess) +00011a7: 00 ; local decl count +00011a8: 41 ; i32.const +00011a9: 01 ; i32 literal +00011aa: 35 ; i64.load32_u +00011ab: 02 ; alignment +00011ac: 02 ; load offset +00011ad: 1a ; drop +00011ae: 0b ; end +00011a6: 08 ; FIXUP func body size ; function body 28 -000118c: 00 ; func body size (guess) -000118d: 00 ; local decl count -000118e: 41 ; i32.const -000118f: 01 ; i32 literal -0001190: 41 ; i32.const -0001191: 02 ; i32 literal -0001192: 36 ; i32.store -0001193: 02 ; alignment -0001194: 02 ; store offset -0001195: 0b ; end -000118c: 09 ; FIXUP func body size +00011af: 00 ; func body size (guess) +00011b0: 00 ; local decl count +00011b1: 41 ; i32.const +00011b2: 01 ; i32 literal +00011b3: 41 ; i32.const +00011b4: 02 ; i32 literal +00011b5: 36 ; i32.store +00011b6: 02 ; alignment +00011b7: 02 ; store offset +00011b8: 0b ; end +00011af: 09 ; FIXUP func body size ; function body 29 -0001196: 00 ; func body size (guess) -0001197: 00 ; local decl count -0001198: 41 ; i32.const -0001199: 01 ; i32 literal -000119a: 42 ; i64.const -000119b: 02 ; i64 literal -000119c: 37 ; i64.store -000119d: 03 ; alignment -000119e: 02 ; store offset -000119f: 0b ; end -0001196: 09 ; FIXUP func body size +00011b9: 00 ; func body size (guess) +00011ba: 00 ; local decl count +00011bb: 41 ; i32.const +00011bc: 01 ; i32 literal +00011bd: 42 ; i64.const +00011be: 02 ; i64 literal +00011bf: 37 ; i64.store +00011c0: 03 ; alignment +00011c1: 02 ; store offset +00011c2: 0b ; end +00011b9: 09 ; FIXUP func body size ; function body 30 -00011a0: 00 ; func body size (guess) -00011a1: 00 ; local decl count -00011a2: 41 ; i32.const -00011a3: 01 ; i32 literal -00011a4: 43 ; f32.const -00011a5: 0000 0040 ; f32 literal -00011a9: 38 ; f32.store -00011aa: 02 ; alignment -00011ab: 02 ; store offset -00011ac: 0b ; end -00011a0: 0c ; FIXUP func body size +00011c3: 00 ; func body size (guess) +00011c4: 00 ; local decl count +00011c5: 41 ; i32.const +00011c6: 01 ; i32 literal +00011c7: 43 ; f32.const +00011c8: 0000 0040 ; f32 literal +00011cc: 38 ; f32.store +00011cd: 02 ; alignment +00011ce: 02 ; store offset +00011cf: 0b ; end +00011c3: 0c ; FIXUP func body size ; function body 31 -00011ad: 00 ; func body size (guess) -00011ae: 00 ; local decl count -00011af: 41 ; i32.const -00011b0: 01 ; i32 literal -00011b1: 44 ; f64.const -00011b2: 0000 0000 0000 0040 ; f64 literal -00011ba: 39 ; f64.store -00011bb: 03 ; alignment -00011bc: 02 ; store offset -00011bd: 0b ; end -00011ad: 10 ; FIXUP func body size +00011d0: 00 ; func body size (guess) +00011d1: 00 ; local decl count +00011d2: 41 ; i32.const +00011d3: 01 ; i32 literal +00011d4: 44 ; f64.const +00011d5: 0000 0000 0000 0040 ; f64 literal +00011dd: 39 ; f64.store +00011de: 03 ; alignment +00011df: 02 ; store offset +00011e0: 0b ; end +00011d0: 10 ; FIXUP func body size ; function body 32 -00011be: 00 ; func body size (guess) -00011bf: 00 ; local decl count -00011c0: 41 ; i32.const -00011c1: 01 ; i32 literal -00011c2: 41 ; i32.const -00011c3: 02 ; i32 literal -00011c4: 3a ; i32.store8 -00011c5: 00 ; alignment -00011c6: 02 ; store offset -00011c7: 0b ; end -00011be: 09 ; FIXUP func body size +00011e1: 00 ; func body size (guess) +00011e2: 00 ; local decl count +00011e3: 41 ; i32.const +00011e4: 01 ; i32 literal +00011e5: 41 ; i32.const +00011e6: 02 ; i32 literal +00011e7: 3a ; i32.store8 +00011e8: 00 ; alignment +00011e9: 02 ; store offset +00011ea: 0b ; end +00011e1: 09 ; FIXUP func body size ; function body 33 -00011c8: 00 ; func body size (guess) -00011c9: 00 ; local decl count -00011ca: 41 ; i32.const -00011cb: 01 ; i32 literal -00011cc: 41 ; i32.const -00011cd: 02 ; i32 literal -00011ce: 3b ; i32.store16 -00011cf: 01 ; alignment -00011d0: 02 ; store offset -00011d1: 0b ; end -00011c8: 09 ; FIXUP func body size +00011eb: 00 ; func body size (guess) +00011ec: 00 ; local decl count +00011ed: 41 ; i32.const +00011ee: 01 ; i32 literal +00011ef: 41 ; i32.const +00011f0: 02 ; i32 literal +00011f1: 3b ; i32.store16 +00011f2: 01 ; alignment +00011f3: 02 ; store offset +00011f4: 0b ; end +00011eb: 09 ; FIXUP func body size ; function body 34 -00011d2: 00 ; func body size (guess) -00011d3: 00 ; local decl count -00011d4: 41 ; i32.const -00011d5: 01 ; i32 literal -00011d6: 42 ; i64.const -00011d7: 02 ; i64 literal -00011d8: 3c ; i64.store8 -00011d9: 00 ; alignment -00011da: 02 ; store offset -00011db: 0b ; end -00011d2: 09 ; FIXUP func body size +00011f5: 00 ; func body size (guess) +00011f6: 00 ; local decl count +00011f7: 41 ; i32.const +00011f8: 01 ; i32 literal +00011f9: 42 ; i64.const +00011fa: 02 ; i64 literal +00011fb: 3c ; i64.store8 +00011fc: 00 ; alignment +00011fd: 02 ; store offset +00011fe: 0b ; end +00011f5: 09 ; FIXUP func body size ; function body 35 -00011dc: 00 ; func body size (guess) -00011dd: 00 ; local decl count -00011de: 41 ; i32.const -00011df: 01 ; i32 literal -00011e0: 42 ; i64.const -00011e1: 02 ; i64 literal -00011e2: 3d ; i64.store16 -00011e3: 01 ; alignment -00011e4: 02 ; store offset -00011e5: 0b ; end -00011dc: 09 ; FIXUP func body size +00011ff: 00 ; func body size (guess) +0001200: 00 ; local decl count +0001201: 41 ; i32.const +0001202: 01 ; i32 literal +0001203: 42 ; i64.const +0001204: 02 ; i64 literal +0001205: 3d ; i64.store16 +0001206: 01 ; alignment +0001207: 02 ; store offset +0001208: 0b ; end +00011ff: 09 ; FIXUP func body size ; function body 36 -00011e6: 00 ; func body size (guess) -00011e7: 00 ; local decl count -00011e8: 41 ; i32.const -00011e9: 01 ; i32 literal -00011ea: 42 ; i64.const -00011eb: 02 ; i64 literal -00011ec: 3e ; i64.store32 -00011ed: 02 ; alignment -00011ee: 02 ; store offset -00011ef: 0b ; end -00011e6: 09 ; FIXUP func body size +0001209: 00 ; func body size (guess) +000120a: 00 ; local decl count +000120b: 41 ; i32.const +000120c: 01 ; i32 literal +000120d: 42 ; i64.const +000120e: 02 ; i64 literal +000120f: 3e ; i64.store32 +0001210: 02 ; alignment +0001211: 02 ; store offset +0001212: 0b ; end +0001209: 09 ; FIXUP func body size ; function body 37 -00011f0: 00 ; func body size (guess) -00011f1: 00 ; local decl count -00011f2: 3f ; current_memory -00011f3: 00 ; current_memory reserved -00011f4: 1a ; drop -00011f5: 0b ; end -00011f0: 05 ; FIXUP func body size +0001213: 00 ; func body size (guess) +0001214: 00 ; local decl count +0001215: 3f ; current_memory +0001216: 00 ; current_memory reserved +0001217: 1a ; drop +0001218: 0b ; end +0001213: 05 ; FIXUP func body size ; function body 38 -00011f6: 00 ; func body size (guess) -00011f7: 00 ; local decl count -00011f8: 41 ; i32.const -00011f9: 01 ; i32 literal -00011fa: 40 ; grow_memory -00011fb: 00 ; grow_memory reserved -00011fc: 1a ; drop -00011fd: 0b ; end -00011f6: 07 ; FIXUP func body size +0001219: 00 ; func body size (guess) +000121a: 00 ; local decl count +000121b: 41 ; i32.const +000121c: 01 ; i32 literal +000121d: 40 ; grow_memory +000121e: 00 ; grow_memory reserved +000121f: 1a ; drop +0001220: 0b ; end +0001219: 07 ; FIXUP func body size ; function body 39 -00011fe: 00 ; func body size (guess) -00011ff: 00 ; local decl count -0001200: 41 ; i32.const -0001201: 01 ; i32 literal -0001202: 1a ; drop -0001203: 0b ; end -00011fe: 05 ; FIXUP func body size +0001221: 00 ; func body size (guess) +0001222: 00 ; local decl count +0001223: 41 ; i32.const +0001224: 01 ; i32 literal +0001225: 1a ; drop +0001226: 0b ; end +0001221: 05 ; FIXUP func body size ; function body 40 -0001204: 00 ; func body size (guess) -0001205: 00 ; local decl count -0001206: 42 ; i64.const -0001207: 01 ; i64 literal -0001208: 1a ; drop -0001209: 0b ; end -0001204: 05 ; FIXUP func body size +0001227: 00 ; func body size (guess) +0001228: 00 ; local decl count +0001229: 42 ; i64.const +000122a: 01 ; i64 literal +000122b: 1a ; drop +000122c: 0b ; end +0001227: 05 ; FIXUP func body size ; function body 41 -000120a: 00 ; func body size (guess) -000120b: 00 ; local decl count -000120c: 43 ; f32.const -000120d: 0000 803f ; f32 literal -0001211: 1a ; drop -0001212: 0b ; end -000120a: 08 ; FIXUP func body size +000122d: 00 ; func body size (guess) +000122e: 00 ; local decl count +000122f: 43 ; f32.const +0001230: 0000 803f ; f32 literal +0001234: 1a ; drop +0001235: 0b ; end +000122d: 08 ; FIXUP func body size ; function body 42 -0001213: 00 ; func body size (guess) -0001214: 00 ; local decl count -0001215: 44 ; f64.const -0001216: 0000 0000 0000 f03f ; f64 literal -000121e: 1a ; drop -000121f: 0b ; end -0001213: 0c ; FIXUP func body size +0001236: 00 ; func body size (guess) +0001237: 00 ; local decl count +0001238: 44 ; f64.const +0001239: 0000 0000 0000 f03f ; f64 literal +0001241: 1a ; drop +0001242: 0b ; end +0001236: 0c ; FIXUP func body size ; function body 43 -0001220: 00 ; func body size (guess) -0001221: 00 ; local decl count -0001222: 41 ; i32.const -0001223: 01 ; i32 literal -0001224: 45 ; i32.eqz -0001225: 1a ; drop -0001226: 0b ; end -0001220: 06 ; FIXUP func body size +0001243: 00 ; func body size (guess) +0001244: 00 ; local decl count +0001245: 41 ; i32.const +0001246: 01 ; i32 literal +0001247: 45 ; i32.eqz +0001248: 1a ; drop +0001249: 0b ; end +0001243: 06 ; FIXUP func body size ; function body 44 -0001227: 00 ; func body size (guess) -0001228: 00 ; local decl count -0001229: 41 ; i32.const -000122a: 01 ; i32 literal -000122b: 41 ; i32.const -000122c: 02 ; i32 literal -000122d: 46 ; i32.eq -000122e: 1a ; drop -000122f: 0b ; end -0001227: 08 ; FIXUP func body size +000124a: 00 ; func body size (guess) +000124b: 00 ; local decl count +000124c: 41 ; i32.const +000124d: 01 ; i32 literal +000124e: 41 ; i32.const +000124f: 02 ; i32 literal +0001250: 46 ; i32.eq +0001251: 1a ; drop +0001252: 0b ; end +000124a: 08 ; FIXUP func body size ; function body 45 -0001230: 00 ; func body size (guess) -0001231: 00 ; local decl count -0001232: 41 ; i32.const -0001233: 01 ; i32 literal -0001234: 41 ; i32.const -0001235: 02 ; i32 literal -0001236: 47 ; i32.ne -0001237: 1a ; drop -0001238: 0b ; end -0001230: 08 ; FIXUP func body size +0001253: 00 ; func body size (guess) +0001254: 00 ; local decl count +0001255: 41 ; i32.const +0001256: 01 ; i32 literal +0001257: 41 ; i32.const +0001258: 02 ; i32 literal +0001259: 47 ; i32.ne +000125a: 1a ; drop +000125b: 0b ; end +0001253: 08 ; FIXUP func body size ; function body 46 -0001239: 00 ; func body size (guess) -000123a: 00 ; local decl count -000123b: 41 ; i32.const -000123c: 01 ; i32 literal -000123d: 41 ; i32.const -000123e: 02 ; i32 literal -000123f: 48 ; i32.lt_s -0001240: 1a ; drop -0001241: 0b ; end -0001239: 08 ; FIXUP func body size +000125c: 00 ; func body size (guess) +000125d: 00 ; local decl count +000125e: 41 ; i32.const +000125f: 01 ; i32 literal +0001260: 41 ; i32.const +0001261: 02 ; i32 literal +0001262: 48 ; i32.lt_s +0001263: 1a ; drop +0001264: 0b ; end +000125c: 08 ; FIXUP func body size ; function body 47 -0001242: 00 ; func body size (guess) -0001243: 00 ; local decl count -0001244: 41 ; i32.const -0001245: 01 ; i32 literal -0001246: 41 ; i32.const -0001247: 02 ; i32 literal -0001248: 49 ; i32.lt_u -0001249: 1a ; drop -000124a: 0b ; end -0001242: 08 ; FIXUP func body size +0001265: 00 ; func body size (guess) +0001266: 00 ; local decl count +0001267: 41 ; i32.const +0001268: 01 ; i32 literal +0001269: 41 ; i32.const +000126a: 02 ; i32 literal +000126b: 49 ; i32.lt_u +000126c: 1a ; drop +000126d: 0b ; end +0001265: 08 ; FIXUP func body size ; function body 48 -000124b: 00 ; func body size (guess) -000124c: 00 ; local decl count -000124d: 41 ; i32.const -000124e: 01 ; i32 literal -000124f: 41 ; i32.const -0001250: 02 ; i32 literal -0001251: 4a ; i32.gt_s -0001252: 1a ; drop -0001253: 0b ; end -000124b: 08 ; FIXUP func body size +000126e: 00 ; func body size (guess) +000126f: 00 ; local decl count +0001270: 41 ; i32.const +0001271: 01 ; i32 literal +0001272: 41 ; i32.const +0001273: 02 ; i32 literal +0001274: 4a ; i32.gt_s +0001275: 1a ; drop +0001276: 0b ; end +000126e: 08 ; FIXUP func body size ; function body 49 -0001254: 00 ; func body size (guess) -0001255: 00 ; local decl count -0001256: 41 ; i32.const -0001257: 01 ; i32 literal -0001258: 41 ; i32.const -0001259: 02 ; i32 literal -000125a: 4b ; i32.gt_u -000125b: 1a ; drop -000125c: 0b ; end -0001254: 08 ; FIXUP func body size +0001277: 00 ; func body size (guess) +0001278: 00 ; local decl count +0001279: 41 ; i32.const +000127a: 01 ; i32 literal +000127b: 41 ; i32.const +000127c: 02 ; i32 literal +000127d: 4b ; i32.gt_u +000127e: 1a ; drop +000127f: 0b ; end +0001277: 08 ; FIXUP func body size ; function body 50 -000125d: 00 ; func body size (guess) -000125e: 00 ; local decl count -000125f: 41 ; i32.const -0001260: 01 ; i32 literal -0001261: 41 ; i32.const -0001262: 02 ; i32 literal -0001263: 4c ; i32.le_s -0001264: 1a ; drop -0001265: 0b ; end -000125d: 08 ; FIXUP func body size +0001280: 00 ; func body size (guess) +0001281: 00 ; local decl count +0001282: 41 ; i32.const +0001283: 01 ; i32 literal +0001284: 41 ; i32.const +0001285: 02 ; i32 literal +0001286: 4c ; i32.le_s +0001287: 1a ; drop +0001288: 0b ; end +0001280: 08 ; FIXUP func body size ; function body 51 -0001266: 00 ; func body size (guess) -0001267: 00 ; local decl count -0001268: 41 ; i32.const -0001269: 01 ; i32 literal -000126a: 41 ; i32.const -000126b: 02 ; i32 literal -000126c: 4d ; i32.le_u -000126d: 1a ; drop -000126e: 0b ; end -0001266: 08 ; FIXUP func body size +0001289: 00 ; func body size (guess) +000128a: 00 ; local decl count +000128b: 41 ; i32.const +000128c: 01 ; i32 literal +000128d: 41 ; i32.const +000128e: 02 ; i32 literal +000128f: 4d ; i32.le_u +0001290: 1a ; drop +0001291: 0b ; end +0001289: 08 ; FIXUP func body size ; function body 52 -000126f: 00 ; func body size (guess) -0001270: 00 ; local decl count -0001271: 41 ; i32.const -0001272: 01 ; i32 literal -0001273: 41 ; i32.const -0001274: 02 ; i32 literal -0001275: 4e ; i32.ge_s -0001276: 1a ; drop -0001277: 0b ; end -000126f: 08 ; FIXUP func body size +0001292: 00 ; func body size (guess) +0001293: 00 ; local decl count +0001294: 41 ; i32.const +0001295: 01 ; i32 literal +0001296: 41 ; i32.const +0001297: 02 ; i32 literal +0001298: 4e ; i32.ge_s +0001299: 1a ; drop +000129a: 0b ; end +0001292: 08 ; FIXUP func body size ; function body 53 -0001278: 00 ; func body size (guess) -0001279: 00 ; local decl count -000127a: 41 ; i32.const -000127b: 01 ; i32 literal -000127c: 41 ; i32.const -000127d: 02 ; i32 literal -000127e: 4f ; i32.ge_u -000127f: 1a ; drop -0001280: 0b ; end -0001278: 08 ; FIXUP func body size +000129b: 00 ; func body size (guess) +000129c: 00 ; local decl count +000129d: 41 ; i32.const +000129e: 01 ; i32 literal +000129f: 41 ; i32.const +00012a0: 02 ; i32 literal +00012a1: 4f ; i32.ge_u +00012a2: 1a ; drop +00012a3: 0b ; end +000129b: 08 ; FIXUP func body size ; function body 54 -0001281: 00 ; func body size (guess) -0001282: 00 ; local decl count -0001283: 42 ; i64.const -0001284: 01 ; i64 literal -0001285: 50 ; i64.eqz -0001286: 1a ; drop -0001287: 0b ; end -0001281: 06 ; FIXUP func body size +00012a4: 00 ; func body size (guess) +00012a5: 00 ; local decl count +00012a6: 42 ; i64.const +00012a7: 01 ; i64 literal +00012a8: 50 ; i64.eqz +00012a9: 1a ; drop +00012aa: 0b ; end +00012a4: 06 ; FIXUP func body size ; function body 55 -0001288: 00 ; func body size (guess) -0001289: 00 ; local decl count -000128a: 42 ; i64.const -000128b: 01 ; i64 literal -000128c: 42 ; i64.const -000128d: 02 ; i64 literal -000128e: 51 ; i64.eq -000128f: 1a ; drop -0001290: 0b ; end -0001288: 08 ; FIXUP func body size +00012ab: 00 ; func body size (guess) +00012ac: 00 ; local decl count +00012ad: 42 ; i64.const +00012ae: 01 ; i64 literal +00012af: 42 ; i64.const +00012b0: 02 ; i64 literal +00012b1: 51 ; i64.eq +00012b2: 1a ; drop +00012b3: 0b ; end +00012ab: 08 ; FIXUP func body size ; function body 56 -0001291: 00 ; func body size (guess) -0001292: 00 ; local decl count -0001293: 42 ; i64.const -0001294: 01 ; i64 literal -0001295: 42 ; i64.const -0001296: 02 ; i64 literal -0001297: 52 ; i64.ne -0001298: 1a ; drop -0001299: 0b ; end -0001291: 08 ; FIXUP func body size +00012b4: 00 ; func body size (guess) +00012b5: 00 ; local decl count +00012b6: 42 ; i64.const +00012b7: 01 ; i64 literal +00012b8: 42 ; i64.const +00012b9: 02 ; i64 literal +00012ba: 52 ; i64.ne +00012bb: 1a ; drop +00012bc: 0b ; end +00012b4: 08 ; FIXUP func body size ; function body 57 -000129a: 00 ; func body size (guess) -000129b: 00 ; local decl count -000129c: 42 ; i64.const -000129d: 01 ; i64 literal -000129e: 42 ; i64.const -000129f: 02 ; i64 literal -00012a0: 53 ; i64.lt_s -00012a1: 1a ; drop -00012a2: 0b ; end -000129a: 08 ; FIXUP func body size +00012bd: 00 ; func body size (guess) +00012be: 00 ; local decl count +00012bf: 42 ; i64.const +00012c0: 01 ; i64 literal +00012c1: 42 ; i64.const +00012c2: 02 ; i64 literal +00012c3: 53 ; i64.lt_s +00012c4: 1a ; drop +00012c5: 0b ; end +00012bd: 08 ; FIXUP func body size ; function body 58 -00012a3: 00 ; func body size (guess) -00012a4: 00 ; local decl count -00012a5: 42 ; i64.const -00012a6: 01 ; i64 literal -00012a7: 42 ; i64.const -00012a8: 02 ; i64 literal -00012a9: 54 ; i64.lt_u -00012aa: 1a ; drop -00012ab: 0b ; end -00012a3: 08 ; FIXUP func body size +00012c6: 00 ; func body size (guess) +00012c7: 00 ; local decl count +00012c8: 42 ; i64.const +00012c9: 01 ; i64 literal +00012ca: 42 ; i64.const +00012cb: 02 ; i64 literal +00012cc: 54 ; i64.lt_u +00012cd: 1a ; drop +00012ce: 0b ; end +00012c6: 08 ; FIXUP func body size ; function body 59 -00012ac: 00 ; func body size (guess) -00012ad: 00 ; local decl count -00012ae: 42 ; i64.const -00012af: 01 ; i64 literal -00012b0: 42 ; i64.const -00012b1: 02 ; i64 literal -00012b2: 55 ; i64.gt_s -00012b3: 1a ; drop -00012b4: 0b ; end -00012ac: 08 ; FIXUP func body size +00012cf: 00 ; func body size (guess) +00012d0: 00 ; local decl count +00012d1: 42 ; i64.const +00012d2: 01 ; i64 literal +00012d3: 42 ; i64.const +00012d4: 02 ; i64 literal +00012d5: 55 ; i64.gt_s +00012d6: 1a ; drop +00012d7: 0b ; end +00012cf: 08 ; FIXUP func body size ; function body 60 -00012b5: 00 ; func body size (guess) -00012b6: 00 ; local decl count -00012b7: 42 ; i64.const -00012b8: 01 ; i64 literal -00012b9: 42 ; i64.const -00012ba: 02 ; i64 literal -00012bb: 56 ; i64.gt_u -00012bc: 1a ; drop -00012bd: 0b ; end -00012b5: 08 ; FIXUP func body size +00012d8: 00 ; func body size (guess) +00012d9: 00 ; local decl count +00012da: 42 ; i64.const +00012db: 01 ; i64 literal +00012dc: 42 ; i64.const +00012dd: 02 ; i64 literal +00012de: 56 ; i64.gt_u +00012df: 1a ; drop +00012e0: 0b ; end +00012d8: 08 ; FIXUP func body size ; function body 61 -00012be: 00 ; func body size (guess) -00012bf: 00 ; local decl count -00012c0: 42 ; i64.const -00012c1: 01 ; i64 literal -00012c2: 42 ; i64.const -00012c3: 02 ; i64 literal -00012c4: 57 ; i64.le_s -00012c5: 1a ; drop -00012c6: 0b ; end -00012be: 08 ; FIXUP func body size +00012e1: 00 ; func body size (guess) +00012e2: 00 ; local decl count +00012e3: 42 ; i64.const +00012e4: 01 ; i64 literal +00012e5: 42 ; i64.const +00012e6: 02 ; i64 literal +00012e7: 57 ; i64.le_s +00012e8: 1a ; drop +00012e9: 0b ; end +00012e1: 08 ; FIXUP func body size ; function body 62 -00012c7: 00 ; func body size (guess) -00012c8: 00 ; local decl count -00012c9: 42 ; i64.const -00012ca: 01 ; i64 literal -00012cb: 42 ; i64.const -00012cc: 02 ; i64 literal -00012cd: 58 ; i64.le_u -00012ce: 1a ; drop -00012cf: 0b ; end -00012c7: 08 ; FIXUP func body size +00012ea: 00 ; func body size (guess) +00012eb: 00 ; local decl count +00012ec: 42 ; i64.const +00012ed: 01 ; i64 literal +00012ee: 42 ; i64.const +00012ef: 02 ; i64 literal +00012f0: 58 ; i64.le_u +00012f1: 1a ; drop +00012f2: 0b ; end +00012ea: 08 ; FIXUP func body size ; function body 63 -00012d0: 00 ; func body size (guess) -00012d1: 00 ; local decl count -00012d2: 42 ; i64.const -00012d3: 01 ; i64 literal -00012d4: 42 ; i64.const -00012d5: 02 ; i64 literal -00012d6: 59 ; i64.ge_s -00012d7: 1a ; drop -00012d8: 0b ; end -00012d0: 08 ; FIXUP func body size +00012f3: 00 ; func body size (guess) +00012f4: 00 ; local decl count +00012f5: 42 ; i64.const +00012f6: 01 ; i64 literal +00012f7: 42 ; i64.const +00012f8: 02 ; i64 literal +00012f9: 59 ; i64.ge_s +00012fa: 1a ; drop +00012fb: 0b ; end +00012f3: 08 ; FIXUP func body size ; function body 64 -00012d9: 00 ; func body size (guess) -00012da: 00 ; local decl count -00012db: 42 ; i64.const -00012dc: 01 ; i64 literal -00012dd: 42 ; i64.const -00012de: 02 ; i64 literal -00012df: 5a ; i64.ge_u -00012e0: 1a ; drop -00012e1: 0b ; end -00012d9: 08 ; FIXUP func body size +00012fc: 00 ; func body size (guess) +00012fd: 00 ; local decl count +00012fe: 42 ; i64.const +00012ff: 01 ; i64 literal +0001300: 42 ; i64.const +0001301: 02 ; i64 literal +0001302: 5a ; i64.ge_u +0001303: 1a ; drop +0001304: 0b ; end +00012fc: 08 ; FIXUP func body size ; function body 65 -00012e2: 00 ; func body size (guess) -00012e3: 00 ; local decl count -00012e4: 43 ; f32.const -00012e5: 0000 803f ; f32 literal -00012e9: 43 ; f32.const -00012ea: 0000 0040 ; f32 literal -00012ee: 5b ; f32.eq -00012ef: 1a ; drop -00012f0: 0b ; end -00012e2: 0e ; FIXUP func body size +0001305: 00 ; func body size (guess) +0001306: 00 ; local decl count +0001307: 43 ; f32.const +0001308: 0000 803f ; f32 literal +000130c: 43 ; f32.const +000130d: 0000 0040 ; f32 literal +0001311: 5b ; f32.eq +0001312: 1a ; drop +0001313: 0b ; end +0001305: 0e ; FIXUP func body size ; function body 66 -00012f1: 00 ; func body size (guess) -00012f2: 00 ; local decl count -00012f3: 43 ; f32.const -00012f4: 0000 803f ; f32 literal -00012f8: 43 ; f32.const -00012f9: 0000 0040 ; f32 literal -00012fd: 5c ; f32.ne -00012fe: 1a ; drop -00012ff: 0b ; end -00012f1: 0e ; FIXUP func body size +0001314: 00 ; func body size (guess) +0001315: 00 ; local decl count +0001316: 43 ; f32.const +0001317: 0000 803f ; f32 literal +000131b: 43 ; f32.const +000131c: 0000 0040 ; f32 literal +0001320: 5c ; f32.ne +0001321: 1a ; drop +0001322: 0b ; end +0001314: 0e ; FIXUP func body size ; function body 67 -0001300: 00 ; func body size (guess) -0001301: 00 ; local decl count -0001302: 43 ; f32.const -0001303: 0000 803f ; f32 literal -0001307: 43 ; f32.const -0001308: 0000 0040 ; f32 literal -000130c: 5d ; f32.lt -000130d: 1a ; drop -000130e: 0b ; end -0001300: 0e ; FIXUP func body size +0001323: 00 ; func body size (guess) +0001324: 00 ; local decl count +0001325: 43 ; f32.const +0001326: 0000 803f ; f32 literal +000132a: 43 ; f32.const +000132b: 0000 0040 ; f32 literal +000132f: 5d ; f32.lt +0001330: 1a ; drop +0001331: 0b ; end +0001323: 0e ; FIXUP func body size ; function body 68 -000130f: 00 ; func body size (guess) -0001310: 00 ; local decl count -0001311: 43 ; f32.const -0001312: 0000 803f ; f32 literal -0001316: 43 ; f32.const -0001317: 0000 0040 ; f32 literal -000131b: 5e ; f32.gt -000131c: 1a ; drop -000131d: 0b ; end -000130f: 0e ; FIXUP func body size +0001332: 00 ; func body size (guess) +0001333: 00 ; local decl count +0001334: 43 ; f32.const +0001335: 0000 803f ; f32 literal +0001339: 43 ; f32.const +000133a: 0000 0040 ; f32 literal +000133e: 5e ; f32.gt +000133f: 1a ; drop +0001340: 0b ; end +0001332: 0e ; FIXUP func body size ; function body 69 -000131e: 00 ; func body size (guess) -000131f: 00 ; local decl count -0001320: 43 ; f32.const -0001321: 0000 803f ; f32 literal -0001325: 43 ; f32.const -0001326: 0000 0040 ; f32 literal -000132a: 5f ; f32.le -000132b: 1a ; drop -000132c: 0b ; end -000131e: 0e ; FIXUP func body size +0001341: 00 ; func body size (guess) +0001342: 00 ; local decl count +0001343: 43 ; f32.const +0001344: 0000 803f ; f32 literal +0001348: 43 ; f32.const +0001349: 0000 0040 ; f32 literal +000134d: 5f ; f32.le +000134e: 1a ; drop +000134f: 0b ; end +0001341: 0e ; FIXUP func body size ; function body 70 -000132d: 00 ; func body size (guess) -000132e: 00 ; local decl count -000132f: 43 ; f32.const -0001330: 0000 803f ; f32 literal -0001334: 43 ; f32.const -0001335: 0000 0040 ; f32 literal -0001339: 60 ; f32.ge -000133a: 1a ; drop -000133b: 0b ; end -000132d: 0e ; FIXUP func body size +0001350: 00 ; func body size (guess) +0001351: 00 ; local decl count +0001352: 43 ; f32.const +0001353: 0000 803f ; f32 literal +0001357: 43 ; f32.const +0001358: 0000 0040 ; f32 literal +000135c: 60 ; f32.ge +000135d: 1a ; drop +000135e: 0b ; end +0001350: 0e ; FIXUP func body size ; function body 71 -000133c: 00 ; func body size (guess) -000133d: 00 ; local decl count -000133e: 44 ; f64.const -000133f: 0000 0000 0000 f03f ; f64 literal -0001347: 44 ; f64.const -0001348: 0000 0000 0000 0040 ; f64 literal -0001350: 61 ; f64.eq -0001351: 1a ; drop -0001352: 0b ; end -000133c: 16 ; FIXUP func body size +000135f: 00 ; func body size (guess) +0001360: 00 ; local decl count +0001361: 44 ; f64.const +0001362: 0000 0000 0000 f03f ; f64 literal +000136a: 44 ; f64.const +000136b: 0000 0000 0000 0040 ; f64 literal +0001373: 61 ; f64.eq +0001374: 1a ; drop +0001375: 0b ; end +000135f: 16 ; FIXUP func body size ; function body 72 -0001353: 00 ; func body size (guess) -0001354: 00 ; local decl count -0001355: 44 ; f64.const -0001356: 0000 0000 0000 f03f ; f64 literal -000135e: 44 ; f64.const -000135f: 0000 0000 0000 0040 ; f64 literal -0001367: 62 ; f64.ne -0001368: 1a ; drop -0001369: 0b ; end -0001353: 16 ; FIXUP func body size +0001376: 00 ; func body size (guess) +0001377: 00 ; local decl count +0001378: 44 ; f64.const +0001379: 0000 0000 0000 f03f ; f64 literal +0001381: 44 ; f64.const +0001382: 0000 0000 0000 0040 ; f64 literal +000138a: 62 ; f64.ne +000138b: 1a ; drop +000138c: 0b ; end +0001376: 16 ; FIXUP func body size ; function body 73 -000136a: 00 ; func body size (guess) -000136b: 00 ; local decl count -000136c: 44 ; f64.const -000136d: 0000 0000 0000 f03f ; f64 literal -0001375: 44 ; f64.const -0001376: 0000 0000 0000 0040 ; f64 literal -000137e: 63 ; f64.lt -000137f: 1a ; drop -0001380: 0b ; end -000136a: 16 ; FIXUP func body size +000138d: 00 ; func body size (guess) +000138e: 00 ; local decl count +000138f: 44 ; f64.const +0001390: 0000 0000 0000 f03f ; f64 literal +0001398: 44 ; f64.const +0001399: 0000 0000 0000 0040 ; f64 literal +00013a1: 63 ; f64.lt +00013a2: 1a ; drop +00013a3: 0b ; end +000138d: 16 ; FIXUP func body size ; function body 74 -0001381: 00 ; func body size (guess) -0001382: 00 ; local decl count -0001383: 44 ; f64.const -0001384: 0000 0000 0000 f03f ; f64 literal -000138c: 44 ; f64.const -000138d: 0000 0000 0000 0040 ; f64 literal -0001395: 64 ; f64.gt -0001396: 1a ; drop -0001397: 0b ; end -0001381: 16 ; FIXUP func body size +00013a4: 00 ; func body size (guess) +00013a5: 00 ; local decl count +00013a6: 44 ; f64.const +00013a7: 0000 0000 0000 f03f ; f64 literal +00013af: 44 ; f64.const +00013b0: 0000 0000 0000 0040 ; f64 literal +00013b8: 64 ; f64.gt +00013b9: 1a ; drop +00013ba: 0b ; end +00013a4: 16 ; FIXUP func body size ; function body 75 -0001398: 00 ; func body size (guess) -0001399: 00 ; local decl count -000139a: 44 ; f64.const -000139b: 0000 0000 0000 f03f ; f64 literal -00013a3: 44 ; f64.const -00013a4: 0000 0000 0000 0040 ; f64 literal -00013ac: 65 ; f64.le -00013ad: 1a ; drop -00013ae: 0b ; end -0001398: 16 ; FIXUP func body size +00013bb: 00 ; func body size (guess) +00013bc: 00 ; local decl count +00013bd: 44 ; f64.const +00013be: 0000 0000 0000 f03f ; f64 literal +00013c6: 44 ; f64.const +00013c7: 0000 0000 0000 0040 ; f64 literal +00013cf: 65 ; f64.le +00013d0: 1a ; drop +00013d1: 0b ; end +00013bb: 16 ; FIXUP func body size ; function body 76 -00013af: 00 ; func body size (guess) -00013b0: 00 ; local decl count -00013b1: 44 ; f64.const -00013b2: 0000 0000 0000 f03f ; f64 literal -00013ba: 44 ; f64.const -00013bb: 0000 0000 0000 0040 ; f64 literal -00013c3: 66 ; f64.ge -00013c4: 1a ; drop -00013c5: 0b ; end -00013af: 16 ; FIXUP func body size +00013d2: 00 ; func body size (guess) +00013d3: 00 ; local decl count +00013d4: 44 ; f64.const +00013d5: 0000 0000 0000 f03f ; f64 literal +00013dd: 44 ; f64.const +00013de: 0000 0000 0000 0040 ; f64 literal +00013e6: 66 ; f64.ge +00013e7: 1a ; drop +00013e8: 0b ; end +00013d2: 16 ; FIXUP func body size ; function body 77 -00013c6: 00 ; func body size (guess) -00013c7: 00 ; local decl count -00013c8: 41 ; i32.const -00013c9: 01 ; i32 literal -00013ca: 67 ; i32.clz -00013cb: 1a ; drop -00013cc: 0b ; end -00013c6: 06 ; FIXUP func body size +00013e9: 00 ; func body size (guess) +00013ea: 00 ; local decl count +00013eb: 41 ; i32.const +00013ec: 01 ; i32 literal +00013ed: 67 ; i32.clz +00013ee: 1a ; drop +00013ef: 0b ; end +00013e9: 06 ; FIXUP func body size ; function body 78 -00013cd: 00 ; func body size (guess) -00013ce: 00 ; local decl count -00013cf: 41 ; i32.const -00013d0: 01 ; i32 literal -00013d1: 68 ; i32.ctz -00013d2: 1a ; drop -00013d3: 0b ; end -00013cd: 06 ; FIXUP func body size +00013f0: 00 ; func body size (guess) +00013f1: 00 ; local decl count +00013f2: 41 ; i32.const +00013f3: 01 ; i32 literal +00013f4: 68 ; i32.ctz +00013f5: 1a ; drop +00013f6: 0b ; end +00013f0: 06 ; FIXUP func body size ; function body 79 -00013d4: 00 ; func body size (guess) -00013d5: 00 ; local decl count -00013d6: 41 ; i32.const -00013d7: 01 ; i32 literal -00013d8: 69 ; i32.popcnt -00013d9: 1a ; drop -00013da: 0b ; end -00013d4: 06 ; FIXUP func body size +00013f7: 00 ; func body size (guess) +00013f8: 00 ; local decl count +00013f9: 41 ; i32.const +00013fa: 01 ; i32 literal +00013fb: 69 ; i32.popcnt +00013fc: 1a ; drop +00013fd: 0b ; end +00013f7: 06 ; FIXUP func body size ; function body 80 -00013db: 00 ; func body size (guess) -00013dc: 00 ; local decl count -00013dd: 41 ; i32.const -00013de: 01 ; i32 literal -00013df: 41 ; i32.const -00013e0: 02 ; i32 literal -00013e1: 6a ; i32.add -00013e2: 1a ; drop -00013e3: 0b ; end -00013db: 08 ; FIXUP func body size +00013fe: 00 ; func body size (guess) +00013ff: 00 ; local decl count +0001400: 41 ; i32.const +0001401: 01 ; i32 literal +0001402: 41 ; i32.const +0001403: 02 ; i32 literal +0001404: 6a ; i32.add +0001405: 1a ; drop +0001406: 0b ; end +00013fe: 08 ; FIXUP func body size ; function body 81 -00013e4: 00 ; func body size (guess) -00013e5: 00 ; local decl count -00013e6: 41 ; i32.const -00013e7: 01 ; i32 literal -00013e8: 41 ; i32.const -00013e9: 02 ; i32 literal -00013ea: 6b ; i32.sub -00013eb: 1a ; drop -00013ec: 0b ; end -00013e4: 08 ; FIXUP func body size +0001407: 00 ; func body size (guess) +0001408: 00 ; local decl count +0001409: 41 ; i32.const +000140a: 01 ; i32 literal +000140b: 41 ; i32.const +000140c: 02 ; i32 literal +000140d: 6b ; i32.sub +000140e: 1a ; drop +000140f: 0b ; end +0001407: 08 ; FIXUP func body size ; function body 82 -00013ed: 00 ; func body size (guess) -00013ee: 00 ; local decl count -00013ef: 41 ; i32.const -00013f0: 01 ; i32 literal -00013f1: 41 ; i32.const -00013f2: 02 ; i32 literal -00013f3: 6c ; i32.mul -00013f4: 1a ; drop -00013f5: 0b ; end -00013ed: 08 ; FIXUP func body size +0001410: 00 ; func body size (guess) +0001411: 00 ; local decl count +0001412: 41 ; i32.const +0001413: 01 ; i32 literal +0001414: 41 ; i32.const +0001415: 02 ; i32 literal +0001416: 6c ; i32.mul +0001417: 1a ; drop +0001418: 0b ; end +0001410: 08 ; FIXUP func body size ; function body 83 -00013f6: 00 ; func body size (guess) -00013f7: 00 ; local decl count -00013f8: 41 ; i32.const -00013f9: 01 ; i32 literal -00013fa: 41 ; i32.const -00013fb: 02 ; i32 literal -00013fc: 6d ; i32.div_s -00013fd: 1a ; drop -00013fe: 0b ; end -00013f6: 08 ; FIXUP func body size +0001419: 00 ; func body size (guess) +000141a: 00 ; local decl count +000141b: 41 ; i32.const +000141c: 01 ; i32 literal +000141d: 41 ; i32.const +000141e: 02 ; i32 literal +000141f: 6d ; i32.div_s +0001420: 1a ; drop +0001421: 0b ; end +0001419: 08 ; FIXUP func body size ; function body 84 -00013ff: 00 ; func body size (guess) -0001400: 00 ; local decl count -0001401: 41 ; i32.const -0001402: 01 ; i32 literal -0001403: 41 ; i32.const -0001404: 02 ; i32 literal -0001405: 6e ; i32.div_u -0001406: 1a ; drop -0001407: 0b ; end -00013ff: 08 ; FIXUP func body size +0001422: 00 ; func body size (guess) +0001423: 00 ; local decl count +0001424: 41 ; i32.const +0001425: 01 ; i32 literal +0001426: 41 ; i32.const +0001427: 02 ; i32 literal +0001428: 6e ; i32.div_u +0001429: 1a ; drop +000142a: 0b ; end +0001422: 08 ; FIXUP func body size ; function body 85 -0001408: 00 ; func body size (guess) -0001409: 00 ; local decl count -000140a: 41 ; i32.const -000140b: 01 ; i32 literal -000140c: 41 ; i32.const -000140d: 02 ; i32 literal -000140e: 6f ; i32.rem_s -000140f: 1a ; drop -0001410: 0b ; end -0001408: 08 ; FIXUP func body size +000142b: 00 ; func body size (guess) +000142c: 00 ; local decl count +000142d: 41 ; i32.const +000142e: 01 ; i32 literal +000142f: 41 ; i32.const +0001430: 02 ; i32 literal +0001431: 6f ; i32.rem_s +0001432: 1a ; drop +0001433: 0b ; end +000142b: 08 ; FIXUP func body size ; function body 86 -0001411: 00 ; func body size (guess) -0001412: 00 ; local decl count -0001413: 41 ; i32.const -0001414: 01 ; i32 literal -0001415: 41 ; i32.const -0001416: 02 ; i32 literal -0001417: 70 ; i32.rem_u -0001418: 1a ; drop -0001419: 0b ; end -0001411: 08 ; FIXUP func body size +0001434: 00 ; func body size (guess) +0001435: 00 ; local decl count +0001436: 41 ; i32.const +0001437: 01 ; i32 literal +0001438: 41 ; i32.const +0001439: 02 ; i32 literal +000143a: 70 ; i32.rem_u +000143b: 1a ; drop +000143c: 0b ; end +0001434: 08 ; FIXUP func body size ; function body 87 -000141a: 00 ; func body size (guess) -000141b: 00 ; local decl count -000141c: 41 ; i32.const -000141d: 01 ; i32 literal -000141e: 41 ; i32.const -000141f: 02 ; i32 literal -0001420: 71 ; i32.and -0001421: 1a ; drop -0001422: 0b ; end -000141a: 08 ; FIXUP func body size +000143d: 00 ; func body size (guess) +000143e: 00 ; local decl count +000143f: 41 ; i32.const +0001440: 01 ; i32 literal +0001441: 41 ; i32.const +0001442: 02 ; i32 literal +0001443: 71 ; i32.and +0001444: 1a ; drop +0001445: 0b ; end +000143d: 08 ; FIXUP func body size ; function body 88 -0001423: 00 ; func body size (guess) -0001424: 00 ; local decl count -0001425: 41 ; i32.const -0001426: 01 ; i32 literal -0001427: 41 ; i32.const -0001428: 02 ; i32 literal -0001429: 72 ; i32.or -000142a: 1a ; drop -000142b: 0b ; end -0001423: 08 ; FIXUP func body size +0001446: 00 ; func body size (guess) +0001447: 00 ; local decl count +0001448: 41 ; i32.const +0001449: 01 ; i32 literal +000144a: 41 ; i32.const +000144b: 02 ; i32 literal +000144c: 72 ; i32.or +000144d: 1a ; drop +000144e: 0b ; end +0001446: 08 ; FIXUP func body size ; function body 89 -000142c: 00 ; func body size (guess) -000142d: 00 ; local decl count -000142e: 41 ; i32.const -000142f: 01 ; i32 literal -0001430: 41 ; i32.const -0001431: 02 ; i32 literal -0001432: 73 ; i32.xor -0001433: 1a ; drop -0001434: 0b ; end -000142c: 08 ; FIXUP func body size +000144f: 00 ; func body size (guess) +0001450: 00 ; local decl count +0001451: 41 ; i32.const +0001452: 01 ; i32 literal +0001453: 41 ; i32.const +0001454: 02 ; i32 literal +0001455: 73 ; i32.xor +0001456: 1a ; drop +0001457: 0b ; end +000144f: 08 ; FIXUP func body size ; function body 90 -0001435: 00 ; func body size (guess) -0001436: 00 ; local decl count -0001437: 41 ; i32.const -0001438: 01 ; i32 literal -0001439: 41 ; i32.const -000143a: 02 ; i32 literal -000143b: 74 ; i32.shl -000143c: 1a ; drop -000143d: 0b ; end -0001435: 08 ; FIXUP func body size +0001458: 00 ; func body size (guess) +0001459: 00 ; local decl count +000145a: 41 ; i32.const +000145b: 01 ; i32 literal +000145c: 41 ; i32.const +000145d: 02 ; i32 literal +000145e: 74 ; i32.shl +000145f: 1a ; drop +0001460: 0b ; end +0001458: 08 ; FIXUP func body size ; function body 91 -000143e: 00 ; func body size (guess) -000143f: 00 ; local decl count -0001440: 41 ; i32.const -0001441: 01 ; i32 literal -0001442: 41 ; i32.const -0001443: 02 ; i32 literal -0001444: 75 ; i32.shr_s -0001445: 1a ; drop -0001446: 0b ; end -000143e: 08 ; FIXUP func body size +0001461: 00 ; func body size (guess) +0001462: 00 ; local decl count +0001463: 41 ; i32.const +0001464: 01 ; i32 literal +0001465: 41 ; i32.const +0001466: 02 ; i32 literal +0001467: 75 ; i32.shr_s +0001468: 1a ; drop +0001469: 0b ; end +0001461: 08 ; FIXUP func body size ; function body 92 -0001447: 00 ; func body size (guess) -0001448: 00 ; local decl count -0001449: 41 ; i32.const -000144a: 01 ; i32 literal -000144b: 41 ; i32.const -000144c: 02 ; i32 literal -000144d: 76 ; i32.shr_u -000144e: 1a ; drop -000144f: 0b ; end -0001447: 08 ; FIXUP func body size +000146a: 00 ; func body size (guess) +000146b: 00 ; local decl count +000146c: 41 ; i32.const +000146d: 01 ; i32 literal +000146e: 41 ; i32.const +000146f: 02 ; i32 literal +0001470: 76 ; i32.shr_u +0001471: 1a ; drop +0001472: 0b ; end +000146a: 08 ; FIXUP func body size ; function body 93 -0001450: 00 ; func body size (guess) -0001451: 00 ; local decl count -0001452: 41 ; i32.const -0001453: 01 ; i32 literal -0001454: 41 ; i32.const -0001455: 02 ; i32 literal -0001456: 77 ; i32.rotl -0001457: 1a ; drop -0001458: 0b ; end -0001450: 08 ; FIXUP func body size +0001473: 00 ; func body size (guess) +0001474: 00 ; local decl count +0001475: 41 ; i32.const +0001476: 01 ; i32 literal +0001477: 41 ; i32.const +0001478: 02 ; i32 literal +0001479: 77 ; i32.rotl +000147a: 1a ; drop +000147b: 0b ; end +0001473: 08 ; FIXUP func body size ; function body 94 -0001459: 00 ; func body size (guess) -000145a: 00 ; local decl count -000145b: 41 ; i32.const -000145c: 01 ; i32 literal -000145d: 41 ; i32.const -000145e: 02 ; i32 literal -000145f: 78 ; i32.rotr -0001460: 1a ; drop -0001461: 0b ; end -0001459: 08 ; FIXUP func body size +000147c: 00 ; func body size (guess) +000147d: 00 ; local decl count +000147e: 41 ; i32.const +000147f: 01 ; i32 literal +0001480: 41 ; i32.const +0001481: 02 ; i32 literal +0001482: 78 ; i32.rotr +0001483: 1a ; drop +0001484: 0b ; end +000147c: 08 ; FIXUP func body size ; function body 95 -0001462: 00 ; func body size (guess) -0001463: 00 ; local decl count -0001464: 42 ; i64.const -0001465: 01 ; i64 literal -0001466: 79 ; i64.clz -0001467: 1a ; drop -0001468: 0b ; end -0001462: 06 ; FIXUP func body size +0001485: 00 ; func body size (guess) +0001486: 00 ; local decl count +0001487: 42 ; i64.const +0001488: 01 ; i64 literal +0001489: 79 ; i64.clz +000148a: 1a ; drop +000148b: 0b ; end +0001485: 06 ; FIXUP func body size ; function body 96 -0001469: 00 ; func body size (guess) -000146a: 00 ; local decl count -000146b: 42 ; i64.const -000146c: 01 ; i64 literal -000146d: 7a ; i64.ctz -000146e: 1a ; drop -000146f: 0b ; end -0001469: 06 ; FIXUP func body size +000148c: 00 ; func body size (guess) +000148d: 00 ; local decl count +000148e: 42 ; i64.const +000148f: 01 ; i64 literal +0001490: 7a ; i64.ctz +0001491: 1a ; drop +0001492: 0b ; end +000148c: 06 ; FIXUP func body size ; function body 97 -0001470: 00 ; func body size (guess) -0001471: 00 ; local decl count -0001472: 42 ; i64.const -0001473: 01 ; i64 literal -0001474: 7b ; i64.popcnt -0001475: 1a ; drop -0001476: 0b ; end -0001470: 06 ; FIXUP func body size +0001493: 00 ; func body size (guess) +0001494: 00 ; local decl count +0001495: 42 ; i64.const +0001496: 01 ; i64 literal +0001497: 7b ; i64.popcnt +0001498: 1a ; drop +0001499: 0b ; end +0001493: 06 ; FIXUP func body size ; function body 98 -0001477: 00 ; func body size (guess) -0001478: 00 ; local decl count -0001479: 42 ; i64.const -000147a: 01 ; i64 literal -000147b: 42 ; i64.const -000147c: 02 ; i64 literal -000147d: 7c ; i64.add -000147e: 1a ; drop -000147f: 0b ; end -0001477: 08 ; FIXUP func body size +000149a: 00 ; func body size (guess) +000149b: 00 ; local decl count +000149c: 42 ; i64.const +000149d: 01 ; i64 literal +000149e: 42 ; i64.const +000149f: 02 ; i64 literal +00014a0: 7c ; i64.add +00014a1: 1a ; drop +00014a2: 0b ; end +000149a: 08 ; FIXUP func body size ; function body 99 -0001480: 00 ; func body size (guess) -0001481: 00 ; local decl count -0001482: 42 ; i64.const -0001483: 01 ; i64 literal -0001484: 42 ; i64.const -0001485: 02 ; i64 literal -0001486: 7d ; i64.sub -0001487: 1a ; drop -0001488: 0b ; end -0001480: 08 ; FIXUP func body size +00014a3: 00 ; func body size (guess) +00014a4: 00 ; local decl count +00014a5: 42 ; i64.const +00014a6: 01 ; i64 literal +00014a7: 42 ; i64.const +00014a8: 02 ; i64 literal +00014a9: 7d ; i64.sub +00014aa: 1a ; drop +00014ab: 0b ; end +00014a3: 08 ; FIXUP func body size ; function body 100 -0001489: 00 ; func body size (guess) -000148a: 00 ; local decl count -000148b: 42 ; i64.const -000148c: 01 ; i64 literal -000148d: 42 ; i64.const -000148e: 02 ; i64 literal -000148f: 7e ; i64.mul -0001490: 1a ; drop -0001491: 0b ; end -0001489: 08 ; FIXUP func body size +00014ac: 00 ; func body size (guess) +00014ad: 00 ; local decl count +00014ae: 42 ; i64.const +00014af: 01 ; i64 literal +00014b0: 42 ; i64.const +00014b1: 02 ; i64 literal +00014b2: 7e ; i64.mul +00014b3: 1a ; drop +00014b4: 0b ; end +00014ac: 08 ; FIXUP func body size ; function body 101 -0001492: 00 ; func body size (guess) -0001493: 00 ; local decl count -0001494: 42 ; i64.const -0001495: 01 ; i64 literal -0001496: 42 ; i64.const -0001497: 02 ; i64 literal -0001498: 7f ; i64.div_s -0001499: 1a ; drop -000149a: 0b ; end -0001492: 08 ; FIXUP func body size +00014b5: 00 ; func body size (guess) +00014b6: 00 ; local decl count +00014b7: 42 ; i64.const +00014b8: 01 ; i64 literal +00014b9: 42 ; i64.const +00014ba: 02 ; i64 literal +00014bb: 7f ; i64.div_s +00014bc: 1a ; drop +00014bd: 0b ; end +00014b5: 08 ; FIXUP func body size ; function body 102 -000149b: 00 ; func body size (guess) -000149c: 00 ; local decl count -000149d: 42 ; i64.const -000149e: 01 ; i64 literal -000149f: 42 ; i64.const -00014a0: 02 ; i64 literal -00014a1: 80 ; i64.div_u -00014a2: 1a ; drop -00014a3: 0b ; end -000149b: 08 ; FIXUP func body size +00014be: 00 ; func body size (guess) +00014bf: 00 ; local decl count +00014c0: 42 ; i64.const +00014c1: 01 ; i64 literal +00014c2: 42 ; i64.const +00014c3: 02 ; i64 literal +00014c4: 80 ; i64.div_u +00014c5: 1a ; drop +00014c6: 0b ; end +00014be: 08 ; FIXUP func body size ; function body 103 -00014a4: 00 ; func body size (guess) -00014a5: 00 ; local decl count -00014a6: 42 ; i64.const -00014a7: 01 ; i64 literal -00014a8: 42 ; i64.const -00014a9: 02 ; i64 literal -00014aa: 81 ; i64.rem_s -00014ab: 1a ; drop -00014ac: 0b ; end -00014a4: 08 ; FIXUP func body size +00014c7: 00 ; func body size (guess) +00014c8: 00 ; local decl count +00014c9: 42 ; i64.const +00014ca: 01 ; i64 literal +00014cb: 42 ; i64.const +00014cc: 02 ; i64 literal +00014cd: 81 ; i64.rem_s +00014ce: 1a ; drop +00014cf: 0b ; end +00014c7: 08 ; FIXUP func body size ; function body 104 -00014ad: 00 ; func body size (guess) -00014ae: 00 ; local decl count -00014af: 42 ; i64.const -00014b0: 01 ; i64 literal -00014b1: 42 ; i64.const -00014b2: 02 ; i64 literal -00014b3: 82 ; i64.rem_u -00014b4: 1a ; drop -00014b5: 0b ; end -00014ad: 08 ; FIXUP func body size +00014d0: 00 ; func body size (guess) +00014d1: 00 ; local decl count +00014d2: 42 ; i64.const +00014d3: 01 ; i64 literal +00014d4: 42 ; i64.const +00014d5: 02 ; i64 literal +00014d6: 82 ; i64.rem_u +00014d7: 1a ; drop +00014d8: 0b ; end +00014d0: 08 ; FIXUP func body size ; function body 105 -00014b6: 00 ; func body size (guess) -00014b7: 00 ; local decl count -00014b8: 42 ; i64.const -00014b9: 01 ; i64 literal -00014ba: 42 ; i64.const -00014bb: 02 ; i64 literal -00014bc: 83 ; i64.and -00014bd: 1a ; drop -00014be: 0b ; end -00014b6: 08 ; FIXUP func body size +00014d9: 00 ; func body size (guess) +00014da: 00 ; local decl count +00014db: 42 ; i64.const +00014dc: 01 ; i64 literal +00014dd: 42 ; i64.const +00014de: 02 ; i64 literal +00014df: 83 ; i64.and +00014e0: 1a ; drop +00014e1: 0b ; end +00014d9: 08 ; FIXUP func body size ; function body 106 -00014bf: 00 ; func body size (guess) -00014c0: 00 ; local decl count -00014c1: 42 ; i64.const -00014c2: 01 ; i64 literal -00014c3: 42 ; i64.const -00014c4: 02 ; i64 literal -00014c5: 84 ; i64.or -00014c6: 1a ; drop -00014c7: 0b ; end -00014bf: 08 ; FIXUP func body size +00014e2: 00 ; func body size (guess) +00014e3: 00 ; local decl count +00014e4: 42 ; i64.const +00014e5: 01 ; i64 literal +00014e6: 42 ; i64.const +00014e7: 02 ; i64 literal +00014e8: 84 ; i64.or +00014e9: 1a ; drop +00014ea: 0b ; end +00014e2: 08 ; FIXUP func body size ; function body 107 -00014c8: 00 ; func body size (guess) -00014c9: 00 ; local decl count -00014ca: 42 ; i64.const -00014cb: 01 ; i64 literal -00014cc: 42 ; i64.const -00014cd: 02 ; i64 literal -00014ce: 85 ; i64.xor -00014cf: 1a ; drop -00014d0: 0b ; end -00014c8: 08 ; FIXUP func body size +00014eb: 00 ; func body size (guess) +00014ec: 00 ; local decl count +00014ed: 42 ; i64.const +00014ee: 01 ; i64 literal +00014ef: 42 ; i64.const +00014f0: 02 ; i64 literal +00014f1: 85 ; i64.xor +00014f2: 1a ; drop +00014f3: 0b ; end +00014eb: 08 ; FIXUP func body size ; function body 108 -00014d1: 00 ; func body size (guess) -00014d2: 00 ; local decl count -00014d3: 42 ; i64.const -00014d4: 01 ; i64 literal -00014d5: 42 ; i64.const -00014d6: 02 ; i64 literal -00014d7: 86 ; i64.shl -00014d8: 1a ; drop -00014d9: 0b ; end -00014d1: 08 ; FIXUP func body size +00014f4: 00 ; func body size (guess) +00014f5: 00 ; local decl count +00014f6: 42 ; i64.const +00014f7: 01 ; i64 literal +00014f8: 42 ; i64.const +00014f9: 02 ; i64 literal +00014fa: 86 ; i64.shl +00014fb: 1a ; drop +00014fc: 0b ; end +00014f4: 08 ; FIXUP func body size ; function body 109 -00014da: 00 ; func body size (guess) -00014db: 00 ; local decl count -00014dc: 42 ; i64.const -00014dd: 01 ; i64 literal -00014de: 42 ; i64.const -00014df: 02 ; i64 literal -00014e0: 87 ; i64.shr_s -00014e1: 1a ; drop -00014e2: 0b ; end -00014da: 08 ; FIXUP func body size +00014fd: 00 ; func body size (guess) +00014fe: 00 ; local decl count +00014ff: 42 ; i64.const +0001500: 01 ; i64 literal +0001501: 42 ; i64.const +0001502: 02 ; i64 literal +0001503: 87 ; i64.shr_s +0001504: 1a ; drop +0001505: 0b ; end +00014fd: 08 ; FIXUP func body size ; function body 110 -00014e3: 00 ; func body size (guess) -00014e4: 00 ; local decl count -00014e5: 42 ; i64.const -00014e6: 01 ; i64 literal -00014e7: 42 ; i64.const -00014e8: 02 ; i64 literal -00014e9: 88 ; i64.shr_u -00014ea: 1a ; drop -00014eb: 0b ; end -00014e3: 08 ; FIXUP func body size +0001506: 00 ; func body size (guess) +0001507: 00 ; local decl count +0001508: 42 ; i64.const +0001509: 01 ; i64 literal +000150a: 42 ; i64.const +000150b: 02 ; i64 literal +000150c: 88 ; i64.shr_u +000150d: 1a ; drop +000150e: 0b ; end +0001506: 08 ; FIXUP func body size ; function body 111 -00014ec: 00 ; func body size (guess) -00014ed: 00 ; local decl count -00014ee: 42 ; i64.const -00014ef: 01 ; i64 literal -00014f0: 42 ; i64.const -00014f1: 02 ; i64 literal -00014f2: 89 ; i64.rotl -00014f3: 1a ; drop -00014f4: 0b ; end -00014ec: 08 ; FIXUP func body size +000150f: 00 ; func body size (guess) +0001510: 00 ; local decl count +0001511: 42 ; i64.const +0001512: 01 ; i64 literal +0001513: 42 ; i64.const +0001514: 02 ; i64 literal +0001515: 89 ; i64.rotl +0001516: 1a ; drop +0001517: 0b ; end +000150f: 08 ; FIXUP func body size ; function body 112 -00014f5: 00 ; func body size (guess) -00014f6: 00 ; local decl count -00014f7: 42 ; i64.const -00014f8: 01 ; i64 literal -00014f9: 42 ; i64.const -00014fa: 02 ; i64 literal -00014fb: 8a ; i64.rotr -00014fc: 1a ; drop -00014fd: 0b ; end -00014f5: 08 ; FIXUP func body size +0001518: 00 ; func body size (guess) +0001519: 00 ; local decl count +000151a: 42 ; i64.const +000151b: 01 ; i64 literal +000151c: 42 ; i64.const +000151d: 02 ; i64 literal +000151e: 8a ; i64.rotr +000151f: 1a ; drop +0001520: 0b ; end +0001518: 08 ; FIXUP func body size ; function body 113 -00014fe: 00 ; func body size (guess) -00014ff: 00 ; local decl count -0001500: 43 ; f32.const -0001501: 0000 803f ; f32 literal -0001505: 8b ; f32.abs -0001506: 1a ; drop -0001507: 0b ; end -00014fe: 09 ; FIXUP func body size +0001521: 00 ; func body size (guess) +0001522: 00 ; local decl count +0001523: 43 ; f32.const +0001524: 0000 803f ; f32 literal +0001528: 8b ; f32.abs +0001529: 1a ; drop +000152a: 0b ; end +0001521: 09 ; FIXUP func body size ; function body 114 -0001508: 00 ; func body size (guess) -0001509: 00 ; local decl count -000150a: 43 ; f32.const -000150b: 0000 803f ; f32 literal -000150f: 8c ; f32.neg -0001510: 1a ; drop -0001511: 0b ; end -0001508: 09 ; FIXUP func body size +000152b: 00 ; func body size (guess) +000152c: 00 ; local decl count +000152d: 43 ; f32.const +000152e: 0000 803f ; f32 literal +0001532: 8c ; f32.neg +0001533: 1a ; drop +0001534: 0b ; end +000152b: 09 ; FIXUP func body size ; function body 115 -0001512: 00 ; func body size (guess) -0001513: 00 ; local decl count -0001514: 43 ; f32.const -0001515: 0000 803f ; f32 literal -0001519: 8d ; f32.ceil -000151a: 1a ; drop -000151b: 0b ; end -0001512: 09 ; FIXUP func body size +0001535: 00 ; func body size (guess) +0001536: 00 ; local decl count +0001537: 43 ; f32.const +0001538: 0000 803f ; f32 literal +000153c: 8d ; f32.ceil +000153d: 1a ; drop +000153e: 0b ; end +0001535: 09 ; FIXUP func body size ; function body 116 -000151c: 00 ; func body size (guess) -000151d: 00 ; local decl count -000151e: 43 ; f32.const -000151f: 0000 803f ; f32 literal -0001523: 8e ; f32.floor -0001524: 1a ; drop -0001525: 0b ; end -000151c: 09 ; FIXUP func body size +000153f: 00 ; func body size (guess) +0001540: 00 ; local decl count +0001541: 43 ; f32.const +0001542: 0000 803f ; f32 literal +0001546: 8e ; f32.floor +0001547: 1a ; drop +0001548: 0b ; end +000153f: 09 ; FIXUP func body size ; function body 117 -0001526: 00 ; func body size (guess) -0001527: 00 ; local decl count -0001528: 43 ; f32.const -0001529: 0000 803f ; f32 literal -000152d: 8f ; f32.trunc -000152e: 1a ; drop -000152f: 0b ; end -0001526: 09 ; FIXUP func body size -; function body 118 -0001530: 00 ; func body size (guess) -0001531: 00 ; local decl count -0001532: 43 ; f32.const -0001533: 0000 803f ; f32 literal -0001537: 90 ; f32.nearest -0001538: 1a ; drop -0001539: 0b ; end -0001530: 09 ; FIXUP func body size -; function body 119 -000153a: 00 ; func body size (guess) -000153b: 00 ; local decl count -000153c: 43 ; f32.const -000153d: 0000 803f ; f32 literal -0001541: 91 ; f32.sqrt -0001542: 1a ; drop -0001543: 0b ; end -000153a: 09 ; FIXUP func body size -; function body 120 -0001544: 00 ; func body size (guess) -0001545: 00 ; local decl count -0001546: 43 ; f32.const -0001547: 0000 803f ; f32 literal +0001549: 00 ; func body size (guess) +000154a: 00 ; local decl count 000154b: 43 ; f32.const -000154c: 0000 0040 ; f32 literal -0001550: 92 ; f32.add +000154c: 0000 803f ; f32 literal +0001550: 8f ; f32.trunc 0001551: 1a ; drop 0001552: 0b ; end -0001544: 0e ; FIXUP func body size -; function body 121 +0001549: 09 ; FIXUP func body size +; function body 118 0001553: 00 ; func body size (guess) 0001554: 00 ; local decl count 0001555: 43 ; f32.const 0001556: 0000 803f ; f32 literal -000155a: 43 ; f32.const -000155b: 0000 0040 ; f32 literal -000155f: 93 ; f32.sub -0001560: 1a ; drop -0001561: 0b ; end -0001553: 0e ; FIXUP func body size -; function body 122 -0001562: 00 ; func body size (guess) -0001563: 00 ; local decl count -0001564: 43 ; f32.const -0001565: 0000 803f ; f32 literal +000155a: 90 ; f32.nearest +000155b: 1a ; drop +000155c: 0b ; end +0001553: 09 ; FIXUP func body size +; function body 119 +000155d: 00 ; func body size (guess) +000155e: 00 ; local decl count +000155f: 43 ; f32.const +0001560: 0000 803f ; f32 literal +0001564: 91 ; f32.sqrt +0001565: 1a ; drop +0001566: 0b ; end +000155d: 09 ; FIXUP func body size +; function body 120 +0001567: 00 ; func body size (guess) +0001568: 00 ; local decl count 0001569: 43 ; f32.const -000156a: 0000 0040 ; f32 literal -000156e: 94 ; f32.mul -000156f: 1a ; drop -0001570: 0b ; end -0001562: 0e ; FIXUP func body size -; function body 123 -0001571: 00 ; func body size (guess) -0001572: 00 ; local decl count -0001573: 43 ; f32.const -0001574: 0000 803f ; f32 literal +000156a: 0000 803f ; f32 literal +000156e: 43 ; f32.const +000156f: 0000 0040 ; f32 literal +0001573: 92 ; f32.add +0001574: 1a ; drop +0001575: 0b ; end +0001567: 0e ; FIXUP func body size +; function body 121 +0001576: 00 ; func body size (guess) +0001577: 00 ; local decl count 0001578: 43 ; f32.const -0001579: 0000 0040 ; f32 literal -000157d: 95 ; f32.div -000157e: 1a ; drop -000157f: 0b ; end -0001571: 0e ; FIXUP func body size -; function body 124 -0001580: 00 ; func body size (guess) -0001581: 00 ; local decl count -0001582: 43 ; f32.const -0001583: 0000 803f ; f32 literal +0001579: 0000 803f ; f32 literal +000157d: 43 ; f32.const +000157e: 0000 0040 ; f32 literal +0001582: 93 ; f32.sub +0001583: 1a ; drop +0001584: 0b ; end +0001576: 0e ; FIXUP func body size +; function body 122 +0001585: 00 ; func body size (guess) +0001586: 00 ; local decl count 0001587: 43 ; f32.const -0001588: 0000 0040 ; f32 literal -000158c: 96 ; f32.min -000158d: 1a ; drop -000158e: 0b ; end -0001580: 0e ; FIXUP func body size -; function body 125 -000158f: 00 ; func body size (guess) -0001590: 00 ; local decl count -0001591: 43 ; f32.const -0001592: 0000 803f ; f32 literal +0001588: 0000 803f ; f32 literal +000158c: 43 ; f32.const +000158d: 0000 0040 ; f32 literal +0001591: 94 ; f32.mul +0001592: 1a ; drop +0001593: 0b ; end +0001585: 0e ; FIXUP func body size +; function body 123 +0001594: 00 ; func body size (guess) +0001595: 00 ; local decl count 0001596: 43 ; f32.const -0001597: 0000 0040 ; f32 literal -000159b: 97 ; f32.max -000159c: 1a ; drop -000159d: 0b ; end -000158f: 0e ; FIXUP func body size -; function body 126 -000159e: 00 ; func body size (guess) -000159f: 00 ; local decl count -00015a0: 43 ; f32.const -00015a1: 0000 803f ; f32 literal +0001597: 0000 803f ; f32 literal +000159b: 43 ; f32.const +000159c: 0000 0040 ; f32 literal +00015a0: 95 ; f32.div +00015a1: 1a ; drop +00015a2: 0b ; end +0001594: 0e ; FIXUP func body size +; function body 124 +00015a3: 00 ; func body size (guess) +00015a4: 00 ; local decl count 00015a5: 43 ; f32.const -00015a6: 0000 0040 ; f32 literal -00015aa: 98 ; f32.copysign -00015ab: 1a ; drop -00015ac: 0b ; end -000159e: 0e ; FIXUP func body size +00015a6: 0000 803f ; f32 literal +00015aa: 43 ; f32.const +00015ab: 0000 0040 ; f32 literal +00015af: 96 ; f32.min +00015b0: 1a ; drop +00015b1: 0b ; end +00015a3: 0e ; FIXUP func body size +; function body 125 +00015b2: 00 ; func body size (guess) +00015b3: 00 ; local decl count +00015b4: 43 ; f32.const +00015b5: 0000 803f ; f32 literal +00015b9: 43 ; f32.const +00015ba: 0000 0040 ; f32 literal +00015be: 97 ; f32.max +00015bf: 1a ; drop +00015c0: 0b ; end +00015b2: 0e ; FIXUP func body size +; function body 126 +00015c1: 00 ; func body size (guess) +00015c2: 00 ; local decl count +00015c3: 43 ; f32.const +00015c4: 0000 803f ; f32 literal +00015c8: 43 ; f32.const +00015c9: 0000 0040 ; f32 literal +00015cd: 98 ; f32.copysign +00015ce: 1a ; drop +00015cf: 0b ; end +00015c1: 0e ; FIXUP func body size ; function body 127 -00015ad: 00 ; func body size (guess) -00015ae: 00 ; local decl count -00015af: 44 ; f64.const -00015b0: 0000 0000 0000 f03f ; f64 literal -00015b8: 99 ; f64.abs -00015b9: 1a ; drop -00015ba: 0b ; end -00015ad: 0d ; FIXUP func body size +00015d0: 00 ; func body size (guess) +00015d1: 00 ; local decl count +00015d2: 44 ; f64.const +00015d3: 0000 0000 0000 f03f ; f64 literal +00015db: 99 ; f64.abs +00015dc: 1a ; drop +00015dd: 0b ; end +00015d0: 0d ; FIXUP func body size ; function body 128 -00015bb: 00 ; func body size (guess) -00015bc: 00 ; local decl count -00015bd: 44 ; f64.const -00015be: 0000 0000 0000 f03f ; f64 literal -00015c6: 9a ; f64.neg -00015c7: 1a ; drop -00015c8: 0b ; end -00015bb: 0d ; FIXUP func body size +00015de: 00 ; func body size (guess) +00015df: 00 ; local decl count +00015e0: 44 ; f64.const +00015e1: 0000 0000 0000 f03f ; f64 literal +00015e9: 9a ; f64.neg +00015ea: 1a ; drop +00015eb: 0b ; end +00015de: 0d ; FIXUP func body size ; function body 129 -00015c9: 00 ; func body size (guess) -00015ca: 00 ; local decl count -00015cb: 44 ; f64.const -00015cc: 0000 0000 0000 f03f ; f64 literal -00015d4: 9b ; f64.ceil -00015d5: 1a ; drop -00015d6: 0b ; end -00015c9: 0d ; FIXUP func body size +00015ec: 00 ; func body size (guess) +00015ed: 00 ; local decl count +00015ee: 44 ; f64.const +00015ef: 0000 0000 0000 f03f ; f64 literal +00015f7: 9b ; f64.ceil +00015f8: 1a ; drop +00015f9: 0b ; end +00015ec: 0d ; FIXUP func body size ; function body 130 -00015d7: 00 ; func body size (guess) -00015d8: 00 ; local decl count -00015d9: 44 ; f64.const -00015da: 0000 0000 0000 f03f ; f64 literal -00015e2: 9c ; f64.floor -00015e3: 1a ; drop -00015e4: 0b ; end -00015d7: 0d ; FIXUP func body size +00015fa: 00 ; func body size (guess) +00015fb: 00 ; local decl count +00015fc: 44 ; f64.const +00015fd: 0000 0000 0000 f03f ; f64 literal +0001605: 9c ; f64.floor +0001606: 1a ; drop +0001607: 0b ; end +00015fa: 0d ; FIXUP func body size ; function body 131 -00015e5: 00 ; func body size (guess) -00015e6: 00 ; local decl count -00015e7: 44 ; f64.const -00015e8: 0000 0000 0000 f03f ; f64 literal -00015f0: 9d ; f64.trunc -00015f1: 1a ; drop -00015f2: 0b ; end -00015e5: 0d ; FIXUP func body size +0001608: 00 ; func body size (guess) +0001609: 00 ; local decl count +000160a: 44 ; f64.const +000160b: 0000 0000 0000 f03f ; f64 literal +0001613: 9d ; f64.trunc +0001614: 1a ; drop +0001615: 0b ; end +0001608: 0d ; FIXUP func body size ; function body 132 -00015f3: 00 ; func body size (guess) -00015f4: 00 ; local decl count -00015f5: 44 ; f64.const -00015f6: 0000 0000 0000 f03f ; f64 literal -00015fe: 9e ; f64.nearest -00015ff: 1a ; drop -0001600: 0b ; end -00015f3: 0d ; FIXUP func body size +0001616: 00 ; func body size (guess) +0001617: 00 ; local decl count +0001618: 44 ; f64.const +0001619: 0000 0000 0000 f03f ; f64 literal +0001621: 9e ; f64.nearest +0001622: 1a ; drop +0001623: 0b ; end +0001616: 0d ; FIXUP func body size ; function body 133 -0001601: 00 ; func body size (guess) -0001602: 00 ; local decl count -0001603: 44 ; f64.const -0001604: 0000 0000 0000 f03f ; f64 literal -000160c: 9f ; f64.sqrt -000160d: 1a ; drop -000160e: 0b ; end -0001601: 0d ; FIXUP func body size +0001624: 00 ; func body size (guess) +0001625: 00 ; local decl count +0001626: 44 ; f64.const +0001627: 0000 0000 0000 f03f ; f64 literal +000162f: 9f ; f64.sqrt +0001630: 1a ; drop +0001631: 0b ; end +0001624: 0d ; FIXUP func body size ; function body 134 -000160f: 00 ; func body size (guess) -0001610: 00 ; local decl count -0001611: 44 ; f64.const -0001612: 0000 0000 0000 f03f ; f64 literal -000161a: 44 ; f64.const -000161b: 0000 0000 0000 0040 ; f64 literal -0001623: a0 ; f64.add -0001624: 1a ; drop -0001625: 0b ; end -000160f: 16 ; FIXUP func body size +0001632: 00 ; func body size (guess) +0001633: 00 ; local decl count +0001634: 44 ; f64.const +0001635: 0000 0000 0000 f03f ; f64 literal +000163d: 44 ; f64.const +000163e: 0000 0000 0000 0040 ; f64 literal +0001646: a0 ; f64.add +0001647: 1a ; drop +0001648: 0b ; end +0001632: 16 ; FIXUP func body size ; function body 135 -0001626: 00 ; func body size (guess) -0001627: 00 ; local decl count -0001628: 44 ; f64.const -0001629: 0000 0000 0000 f03f ; f64 literal -0001631: 44 ; f64.const -0001632: 0000 0000 0000 0040 ; f64 literal -000163a: a1 ; f64.sub -000163b: 1a ; drop -000163c: 0b ; end -0001626: 16 ; FIXUP func body size +0001649: 00 ; func body size (guess) +000164a: 00 ; local decl count +000164b: 44 ; f64.const +000164c: 0000 0000 0000 f03f ; f64 literal +0001654: 44 ; f64.const +0001655: 0000 0000 0000 0040 ; f64 literal +000165d: a1 ; f64.sub +000165e: 1a ; drop +000165f: 0b ; end +0001649: 16 ; FIXUP func body size ; function body 136 -000163d: 00 ; func body size (guess) -000163e: 00 ; local decl count -000163f: 44 ; f64.const -0001640: 0000 0000 0000 f03f ; f64 literal -0001648: 44 ; f64.const -0001649: 0000 0000 0000 0040 ; f64 literal -0001651: a2 ; f64.mul -0001652: 1a ; drop -0001653: 0b ; end -000163d: 16 ; FIXUP func body size +0001660: 00 ; func body size (guess) +0001661: 00 ; local decl count +0001662: 44 ; f64.const +0001663: 0000 0000 0000 f03f ; f64 literal +000166b: 44 ; f64.const +000166c: 0000 0000 0000 0040 ; f64 literal +0001674: a2 ; f64.mul +0001675: 1a ; drop +0001676: 0b ; end +0001660: 16 ; FIXUP func body size ; function body 137 -0001654: 00 ; func body size (guess) -0001655: 00 ; local decl count -0001656: 44 ; f64.const -0001657: 0000 0000 0000 f03f ; f64 literal -000165f: 44 ; f64.const -0001660: 0000 0000 0000 0040 ; f64 literal -0001668: a3 ; f64.div -0001669: 1a ; drop -000166a: 0b ; end -0001654: 16 ; FIXUP func body size +0001677: 00 ; func body size (guess) +0001678: 00 ; local decl count +0001679: 44 ; f64.const +000167a: 0000 0000 0000 f03f ; f64 literal +0001682: 44 ; f64.const +0001683: 0000 0000 0000 0040 ; f64 literal +000168b: a3 ; f64.div +000168c: 1a ; drop +000168d: 0b ; end +0001677: 16 ; FIXUP func body size ; function body 138 -000166b: 00 ; func body size (guess) -000166c: 00 ; local decl count -000166d: 44 ; f64.const -000166e: 0000 0000 0000 f03f ; f64 literal -0001676: 44 ; f64.const -0001677: 0000 0000 0000 0040 ; f64 literal -000167f: a4 ; f64.min -0001680: 1a ; drop -0001681: 0b ; end -000166b: 16 ; FIXUP func body size +000168e: 00 ; func body size (guess) +000168f: 00 ; local decl count +0001690: 44 ; f64.const +0001691: 0000 0000 0000 f03f ; f64 literal +0001699: 44 ; f64.const +000169a: 0000 0000 0000 0040 ; f64 literal +00016a2: a4 ; f64.min +00016a3: 1a ; drop +00016a4: 0b ; end +000168e: 16 ; FIXUP func body size ; function body 139 -0001682: 00 ; func body size (guess) -0001683: 00 ; local decl count -0001684: 44 ; f64.const -0001685: 0000 0000 0000 f03f ; f64 literal -000168d: 44 ; f64.const -000168e: 0000 0000 0000 0040 ; f64 literal -0001696: a5 ; f64.max -0001697: 1a ; drop -0001698: 0b ; end -0001682: 16 ; FIXUP func body size +00016a5: 00 ; func body size (guess) +00016a6: 00 ; local decl count +00016a7: 44 ; f64.const +00016a8: 0000 0000 0000 f03f ; f64 literal +00016b0: 44 ; f64.const +00016b1: 0000 0000 0000 0040 ; f64 literal +00016b9: a5 ; f64.max +00016ba: 1a ; drop +00016bb: 0b ; end +00016a5: 16 ; FIXUP func body size ; function body 140 -0001699: 00 ; func body size (guess) -000169a: 00 ; local decl count -000169b: 44 ; f64.const -000169c: 0000 0000 0000 f03f ; f64 literal -00016a4: 44 ; f64.const -00016a5: 0000 0000 0000 0040 ; f64 literal -00016ad: a6 ; f64.copysign -00016ae: 1a ; drop -00016af: 0b ; end -0001699: 16 ; FIXUP func body size +00016bc: 00 ; func body size (guess) +00016bd: 00 ; local decl count +00016be: 44 ; f64.const +00016bf: 0000 0000 0000 f03f ; f64 literal +00016c7: 44 ; f64.const +00016c8: 0000 0000 0000 0040 ; f64 literal +00016d0: a6 ; f64.copysign +00016d1: 1a ; drop +00016d2: 0b ; end +00016bc: 16 ; FIXUP func body size ; function body 141 -00016b0: 00 ; func body size (guess) -00016b1: 00 ; local decl count -00016b2: 42 ; i64.const -00016b3: 01 ; i64 literal -00016b4: a7 ; i32.wrap/i64 -00016b5: 1a ; drop -00016b6: 0b ; end -00016b0: 06 ; FIXUP func body size +00016d3: 00 ; func body size (guess) +00016d4: 00 ; local decl count +00016d5: 42 ; i64.const +00016d6: 01 ; i64 literal +00016d7: a7 ; i32.wrap/i64 +00016d8: 1a ; drop +00016d9: 0b ; end +00016d3: 06 ; FIXUP func body size ; function body 142 -00016b7: 00 ; func body size (guess) -00016b8: 00 ; local decl count -00016b9: 43 ; f32.const -00016ba: 0000 803f ; f32 literal -00016be: a8 ; i32.trunc_s/f32 -00016bf: 1a ; drop -00016c0: 0b ; end -00016b7: 09 ; FIXUP func body size +00016da: 00 ; func body size (guess) +00016db: 00 ; local decl count +00016dc: 43 ; f32.const +00016dd: 0000 803f ; f32 literal +00016e1: a8 ; i32.trunc_s/f32 +00016e2: 1a ; drop +00016e3: 0b ; end +00016da: 09 ; FIXUP func body size ; function body 143 -00016c1: 00 ; func body size (guess) -00016c2: 00 ; local decl count -00016c3: 43 ; f32.const -00016c4: 0000 803f ; f32 literal -00016c8: a9 ; i32.trunc_u/f32 -00016c9: 1a ; drop -00016ca: 0b ; end -00016c1: 09 ; FIXUP func body size -; function body 144 -00016cb: 00 ; func body size (guess) -00016cc: 00 ; local decl count -00016cd: 44 ; f64.const -00016ce: 0000 0000 0000 f03f ; f64 literal -00016d6: aa ; i32.trunc_s/f64 -00016d7: 1a ; drop -00016d8: 0b ; end -00016cb: 0d ; FIXUP func body size -; function body 145 -00016d9: 00 ; func body size (guess) -00016da: 00 ; local decl count -00016db: 44 ; f64.const -00016dc: 0000 0000 0000 f03f ; f64 literal -00016e4: ab ; i32.trunc_u/f64 -00016e5: 1a ; drop -00016e6: 0b ; end -00016d9: 0d ; FIXUP func body size -; function body 146 -00016e7: 00 ; func body size (guess) -00016e8: 00 ; local decl count -00016e9: 41 ; i32.const -00016ea: 01 ; i32 literal -00016eb: ac ; i64.extend_s/i32 +00016e4: 00 ; func body size (guess) +00016e5: 00 ; local decl count +00016e6: 43 ; f32.const +00016e7: 0000 803f ; f32 literal +00016eb: a9 ; i32.trunc_u/f32 00016ec: 1a ; drop 00016ed: 0b ; end -00016e7: 06 ; FIXUP func body size -; function body 147 +00016e4: 09 ; FIXUP func body size +; function body 144 00016ee: 00 ; func body size (guess) 00016ef: 00 ; local decl count -00016f0: 41 ; i32.const -00016f1: 01 ; i32 literal -00016f2: ad ; i64.extend_u/i32 -00016f3: 1a ; drop -00016f4: 0b ; end -00016ee: 06 ; FIXUP func body size +00016f0: 44 ; f64.const +00016f1: 0000 0000 0000 f03f ; f64 literal +00016f9: aa ; i32.trunc_s/f64 +00016fa: 1a ; drop +00016fb: 0b ; end +00016ee: 0d ; FIXUP func body size +; function body 145 +00016fc: 00 ; func body size (guess) +00016fd: 00 ; local decl count +00016fe: 44 ; f64.const +00016ff: 0000 0000 0000 f03f ; f64 literal +0001707: ab ; i32.trunc_u/f64 +0001708: 1a ; drop +0001709: 0b ; end +00016fc: 0d ; FIXUP func body size +; function body 146 +000170a: 00 ; func body size (guess) +000170b: 00 ; local decl count +000170c: 41 ; i32.const +000170d: 01 ; i32 literal +000170e: ac ; i64.extend_s/i32 +000170f: 1a ; drop +0001710: 0b ; end +000170a: 06 ; FIXUP func body size +; function body 147 +0001711: 00 ; func body size (guess) +0001712: 00 ; local decl count +0001713: 41 ; i32.const +0001714: 01 ; i32 literal +0001715: ad ; i64.extend_u/i32 +0001716: 1a ; drop +0001717: 0b ; end +0001711: 06 ; FIXUP func body size ; function body 148 -00016f5: 00 ; func body size (guess) -00016f6: 00 ; local decl count -00016f7: 43 ; f32.const -00016f8: 0000 803f ; f32 literal -00016fc: ae ; i64.trunc_s/f32 -00016fd: 1a ; drop -00016fe: 0b ; end -00016f5: 09 ; FIXUP func body size +0001718: 00 ; func body size (guess) +0001719: 00 ; local decl count +000171a: 43 ; f32.const +000171b: 0000 803f ; f32 literal +000171f: ae ; i64.trunc_s/f32 +0001720: 1a ; drop +0001721: 0b ; end +0001718: 09 ; FIXUP func body size ; function body 149 -00016ff: 00 ; func body size (guess) -0001700: 00 ; local decl count -0001701: 43 ; f32.const -0001702: 0000 803f ; f32 literal -0001706: af ; i64.trunc_u/f32 -0001707: 1a ; drop -0001708: 0b ; end -00016ff: 09 ; FIXUP func body size -; function body 150 -0001709: 00 ; func body size (guess) -000170a: 00 ; local decl count -000170b: 44 ; f64.const -000170c: 0000 0000 0000 f03f ; f64 literal -0001714: b0 ; i64.trunc_s/f64 -0001715: 1a ; drop -0001716: 0b ; end -0001709: 0d ; FIXUP func body size -; function body 151 -0001717: 00 ; func body size (guess) -0001718: 00 ; local decl count -0001719: 44 ; f64.const -000171a: 0000 0000 0000 f03f ; f64 literal -0001722: b1 ; i64.trunc_u/f64 -0001723: 1a ; drop -0001724: 0b ; end -0001717: 0d ; FIXUP func body size -; function body 152 -0001725: 00 ; func body size (guess) -0001726: 00 ; local decl count -0001727: 41 ; i32.const -0001728: 01 ; i32 literal -0001729: b2 ; f32.convert_s/i32 +0001722: 00 ; func body size (guess) +0001723: 00 ; local decl count +0001724: 43 ; f32.const +0001725: 0000 803f ; f32 literal +0001729: af ; i64.trunc_u/f32 000172a: 1a ; drop 000172b: 0b ; end -0001725: 06 ; FIXUP func body size -; function body 153 +0001722: 09 ; FIXUP func body size +; function body 150 000172c: 00 ; func body size (guess) 000172d: 00 ; local decl count -000172e: 41 ; i32.const -000172f: 01 ; i32 literal -0001730: b3 ; f32.convert_u/i32 -0001731: 1a ; drop -0001732: 0b ; end -000172c: 06 ; FIXUP func body size -; function body 154 -0001733: 00 ; func body size (guess) -0001734: 00 ; local decl count -0001735: 42 ; i64.const -0001736: 01 ; i64 literal -0001737: b4 ; f32.convert_s/i64 +000172e: 44 ; f64.const +000172f: 0000 0000 0000 f03f ; f64 literal +0001737: b0 ; i64.trunc_s/f64 0001738: 1a ; drop 0001739: 0b ; end -0001733: 06 ; FIXUP func body size -; function body 155 +000172c: 0d ; FIXUP func body size +; function body 151 000173a: 00 ; func body size (guess) 000173b: 00 ; local decl count -000173c: 42 ; i64.const -000173d: 01 ; i64 literal -000173e: b5 ; f32.convert_u/i64 -000173f: 1a ; drop -0001740: 0b ; end -000173a: 06 ; FIXUP func body size -; function body 156 -0001741: 00 ; func body size (guess) -0001742: 00 ; local decl count -0001743: 44 ; f64.const -0001744: 0000 0000 0000 f03f ; f64 literal -000174c: b6 ; f32.demote/f64 +000173c: 44 ; f64.const +000173d: 0000 0000 0000 f03f ; f64 literal +0001745: b1 ; i64.trunc_u/f64 +0001746: 1a ; drop +0001747: 0b ; end +000173a: 0d ; FIXUP func body size +; function body 152 +0001748: 00 ; func body size (guess) +0001749: 00 ; local decl count +000174a: 41 ; i32.const +000174b: 01 ; i32 literal +000174c: b2 ; f32.convert_s/i32 000174d: 1a ; drop 000174e: 0b ; end -0001741: 0d ; FIXUP func body size -; function body 157 +0001748: 06 ; FIXUP func body size +; function body 153 000174f: 00 ; func body size (guess) 0001750: 00 ; local decl count 0001751: 41 ; i32.const 0001752: 01 ; i32 literal -0001753: b7 ; f64.convert_s/i32 +0001753: b3 ; f32.convert_u/i32 0001754: 1a ; drop 0001755: 0b ; end 000174f: 06 ; FIXUP func body size -; function body 158 +; function body 154 0001756: 00 ; func body size (guess) 0001757: 00 ; local decl count -0001758: 41 ; i32.const -0001759: 01 ; i32 literal -000175a: b8 ; f64.convert_u/i32 +0001758: 42 ; i64.const +0001759: 01 ; i64 literal +000175a: b4 ; f32.convert_s/i64 000175b: 1a ; drop 000175c: 0b ; end 0001756: 06 ; FIXUP func body size -; function body 159 +; function body 155 000175d: 00 ; func body size (guess) 000175e: 00 ; local decl count 000175f: 42 ; i64.const 0001760: 01 ; i64 literal -0001761: b9 ; f64.convert_s/i64 +0001761: b5 ; f32.convert_u/i64 0001762: 1a ; drop 0001763: 0b ; end 000175d: 06 ; FIXUP func body size -; function body 160 +; function body 156 0001764: 00 ; func body size (guess) 0001765: 00 ; local decl count -0001766: 42 ; i64.const -0001767: 01 ; i64 literal -0001768: ba ; f64.convert_u/i64 -0001769: 1a ; drop -000176a: 0b ; end -0001764: 06 ; FIXUP func body size +0001766: 44 ; f64.const +0001767: 0000 0000 0000 f03f ; f64 literal +000176f: b6 ; f32.demote/f64 +0001770: 1a ; drop +0001771: 0b ; end +0001764: 0d ; FIXUP func body size +; function body 157 +0001772: 00 ; func body size (guess) +0001773: 00 ; local decl count +0001774: 41 ; i32.const +0001775: 01 ; i32 literal +0001776: b7 ; f64.convert_s/i32 +0001777: 1a ; drop +0001778: 0b ; end +0001772: 06 ; FIXUP func body size +; function body 158 +0001779: 00 ; func body size (guess) +000177a: 00 ; local decl count +000177b: 41 ; i32.const +000177c: 01 ; i32 literal +000177d: b8 ; f64.convert_u/i32 +000177e: 1a ; drop +000177f: 0b ; end +0001779: 06 ; FIXUP func body size +; function body 159 +0001780: 00 ; func body size (guess) +0001781: 00 ; local decl count +0001782: 42 ; i64.const +0001783: 01 ; i64 literal +0001784: b9 ; f64.convert_s/i64 +0001785: 1a ; drop +0001786: 0b ; end +0001780: 06 ; FIXUP func body size +; function body 160 +0001787: 00 ; func body size (guess) +0001788: 00 ; local decl count +0001789: 42 ; i64.const +000178a: 01 ; i64 literal +000178b: ba ; f64.convert_u/i64 +000178c: 1a ; drop +000178d: 0b ; end +0001787: 06 ; FIXUP func body size ; function body 161 -000176b: 00 ; func body size (guess) -000176c: 00 ; local decl count -000176d: 43 ; f32.const -000176e: 0000 803f ; f32 literal -0001772: bb ; f64.promote/f32 -0001773: 1a ; drop -0001774: 0b ; end -000176b: 09 ; FIXUP func body size +000178e: 00 ; func body size (guess) +000178f: 00 ; local decl count +0001790: 43 ; f32.const +0001791: 0000 803f ; f32 literal +0001795: bb ; f64.promote/f32 +0001796: 1a ; drop +0001797: 0b ; end +000178e: 09 ; FIXUP func body size ; function body 162 -0001775: 00 ; func body size (guess) -0001776: 00 ; local decl count -0001777: 41 ; i32.const -0001778: 01 ; i32 literal -0001779: be ; f32.reinterpret/i32 -000177a: 1a ; drop -000177b: 0b ; end -0001775: 06 ; FIXUP func body size +0001798: 00 ; func body size (guess) +0001799: 00 ; local decl count +000179a: 41 ; i32.const +000179b: 01 ; i32 literal +000179c: be ; f32.reinterpret/i32 +000179d: 1a ; drop +000179e: 0b ; end +0001798: 06 ; FIXUP func body size ; function body 163 -000177c: 00 ; func body size (guess) -000177d: 00 ; local decl count -000177e: 43 ; f32.const -000177f: 0000 803f ; f32 literal -0001783: bc ; i32.reinterpret/f32 -0001784: 1a ; drop -0001785: 0b ; end -000177c: 09 ; FIXUP func body size -; function body 164 -0001786: 00 ; func body size (guess) -0001787: 00 ; local decl count -0001788: 42 ; i64.const -0001789: 01 ; i64 literal -000178a: bf ; f64.reinterpret/i64 -000178b: 1a ; drop -000178c: 0b ; end -0001786: 06 ; FIXUP func body size -; function body 165 -000178d: 00 ; func body size (guess) -000178e: 00 ; local decl count -000178f: 44 ; f64.const -0001790: 0000 0000 0000 f03f ; f64 literal -0001798: bd ; i64.reinterpret/f64 -0001799: 1a ; drop -000179a: 0b ; end -000178d: 0d ; FIXUP func body size -; function body 166 -000179b: 00 ; func body size (guess) -000179c: 00 ; local decl count -000179d: 41 ; i32.const -000179e: 01 ; i32 literal -000179f: c0 ; i32.extend8_s -00017a0: 1a ; drop -00017a1: 0b ; end -000179b: 06 ; FIXUP func body size -; function body 167 -00017a2: 00 ; func body size (guess) -00017a3: 00 ; local decl count -00017a4: 41 ; i32.const -00017a5: 01 ; i32 literal -00017a6: c1 ; i32.extend16_s +000179f: 00 ; func body size (guess) +00017a0: 00 ; local decl count +00017a1: 43 ; f32.const +00017a2: 0000 803f ; f32 literal +00017a6: bc ; i32.reinterpret/f32 00017a7: 1a ; drop 00017a8: 0b ; end -00017a2: 06 ; FIXUP func body size -; function body 168 +000179f: 09 ; FIXUP func body size +; function body 164 00017a9: 00 ; func body size (guess) 00017aa: 00 ; local decl count 00017ab: 42 ; i64.const 00017ac: 01 ; i64 literal -00017ad: c2 ; i64.extend8_s +00017ad: bf ; f64.reinterpret/i64 00017ae: 1a ; drop 00017af: 0b ; end 00017a9: 06 ; FIXUP func body size -; function body 169 +; function body 165 00017b0: 00 ; func body size (guess) 00017b1: 00 ; local decl count -00017b2: 42 ; i64.const -00017b3: 01 ; i64 literal -00017b4: c3 ; i64.extend16_s -00017b5: 1a ; drop -00017b6: 0b ; end -00017b0: 06 ; FIXUP func body size -; function body 170 -00017b7: 00 ; func body size (guess) -00017b8: 00 ; local decl count -00017b9: 42 ; i64.const -00017ba: 01 ; i64 literal -00017bb: c4 ; i64.extend32_s +00017b2: 44 ; f64.const +00017b3: 0000 0000 0000 f03f ; f64 literal +00017bb: bd ; i64.reinterpret/f64 00017bc: 1a ; drop 00017bd: 0b ; end -00017b7: 06 ; FIXUP func body size -; function body 171 +00017b0: 0d ; FIXUP func body size +; function body 166 00017be: 00 ; func body size (guess) -00017bf: 01 ; local decl count -00017c0: 01 ; local type count -00017c1: 7f ; i32 -00017c2: 0b ; end -00017be: 04 ; FIXUP func body size +00017bf: 00 ; local decl count +00017c0: 41 ; i32.const +00017c1: 01 ; i32 literal +00017c2: c0 ; i32.extend8_s +00017c3: 1a ; drop +00017c4: 0b ; end +00017be: 06 ; FIXUP func body size +; function body 167 +00017c5: 00 ; func body size (guess) +00017c6: 00 ; local decl count +00017c7: 41 ; i32.const +00017c8: 01 ; i32 literal +00017c9: c1 ; i32.extend16_s +00017ca: 1a ; drop +00017cb: 0b ; end +00017c5: 06 ; FIXUP func body size +; function body 168 +00017cc: 00 ; func body size (guess) +00017cd: 00 ; local decl count +00017ce: 42 ; i64.const +00017cf: 01 ; i64 literal +00017d0: c2 ; i64.extend8_s +00017d1: 1a ; drop +00017d2: 0b ; end +00017cc: 06 ; FIXUP func body size +; function body 169 +00017d3: 00 ; func body size (guess) +00017d4: 00 ; local decl count +00017d5: 42 ; i64.const +00017d6: 01 ; i64 literal +00017d7: c3 ; i64.extend16_s +00017d8: 1a ; drop +00017d9: 0b ; end +00017d3: 06 ; FIXUP func body size +; function body 170 +00017da: 00 ; func body size (guess) +00017db: 00 ; local decl count +00017dc: 42 ; i64.const +00017dd: 01 ; i64 literal +00017de: c4 ; i64.extend32_s +00017df: 1a ; drop +00017e0: 0b ; end +00017da: 06 ; FIXUP func body size +; function body 171 +00017e1: 00 ; func body size (guess) +00017e2: 01 ; local decl count +00017e3: 01 ; local type count +00017e4: 7f ; i32 +00017e5: 0b ; end +00017e1: 04 ; FIXUP func body size ; function body 172 -00017c3: 00 ; func body size (guess) -00017c4: 00 ; local decl count -00017c5: 41 ; i32.const -00017c6: 01 ; i32 literal -00017c7: 0d ; br_if -00017c8: 00 ; break depth -00017c9: 0b ; end -00017c3: 06 ; FIXUP func body size +00017e6: 00 ; func body size (guess) +00017e7: 00 ; local decl count +00017e8: 41 ; i32.const +00017e9: 01 ; i32 literal +00017ea: 0d ; br_if +00017eb: 00 ; break depth +00017ec: 0b ; end +00017e6: 06 ; FIXUP func body size ; function body 173 -00017ca: 00 ; func body size (guess) -00017cb: 00 ; local decl count -00017cc: 41 ; i32.const -00017cd: 01 ; i32 literal -00017ce: 10 ; call -00017cf: 00 ; function index -00017d0: 0b ; end -00017ca: 06 ; FIXUP func body size +00017ed: 00 ; func body size (guess) +00017ee: 00 ; local decl count +00017ef: 41 ; i32.const +00017f0: 01 ; i32 literal +00017f1: 10 ; call +00017f2: 00 ; function index +00017f3: 0b ; end +00017ed: 06 ; FIXUP func body size ; function body 174 -00017d1: 00 ; func body size (guess) -00017d2: 00 ; local decl count -00017d3: 41 ; i32.const -00017d4: 01 ; i32 literal -00017d5: 0e ; br_table -00017d6: 00 ; num targets -00017d7: 00 ; break depth for default -00017d8: 0b ; end -00017d1: 07 ; FIXUP func body size +00017f4: 00 ; func body size (guess) +00017f5: 00 ; local decl count +00017f6: 41 ; i32.const +00017f7: 01 ; i32 literal +00017f8: 0e ; br_table +00017f9: 00 ; num targets +00017fa: 00 ; break depth for default +00017fb: 0b ; end +00017f4: 07 ; FIXUP func body size ; function body 175 -00017d9: 00 ; func body size (guess) -00017da: 00 ; local decl count -00017db: 02 ; block -00017dc: 7f ; i32 -00017dd: 41 ; i32.const -00017de: 01 ; i32 literal -00017df: 41 ; i32.const -00017e0: 02 ; i32 literal -00017e1: 0c ; br -00017e2: 00 ; break depth -00017e3: 0b ; end -00017e4: 1a ; drop -00017e5: 0b ; end -00017d9: 0c ; FIXUP func body size +00017fc: 00 ; func body size (guess) +00017fd: 00 ; local decl count +00017fe: 02 ; block +00017ff: 7f ; i32 +0001800: 41 ; i32.const +0001801: 01 ; i32 literal +0001802: 41 ; i32.const +0001803: 02 ; i32 literal +0001804: 0c ; br +0001805: 00 ; break depth +0001806: 0b ; end +0001807: 1a ; drop +0001808: 0b ; end +00017fc: 0c ; FIXUP func body size ; function body 176 -00017e6: 00 ; func body size (guess) -00017e7: 00 ; local decl count -00017e8: 43 ; f32.const -00017e9: 0000 803f ; f32 literal -00017ed: fc ; prefix -00017ee: 00 ; i32.trunc_s:sat/f32 -00017ef: 1a ; drop -00017f0: 0b ; end -00017e6: 0a ; FIXUP func body size +0001809: 00 ; func body size (guess) +000180a: 00 ; local decl count +000180b: 43 ; f32.const +000180c: 0000 803f ; f32 literal +0001810: fc ; prefix +0001811: 00 ; i32.trunc_s:sat/f32 +0001812: 1a ; drop +0001813: 0b ; end +0001809: 0a ; FIXUP func body size ; function body 177 -00017f1: 00 ; func body size (guess) -00017f2: 00 ; local decl count -00017f3: 43 ; f32.const -00017f4: 0000 803f ; f32 literal -00017f8: fc ; prefix -00017f9: 01 ; i32.trunc_u:sat/f32 -00017fa: 1a ; drop -00017fb: 0b ; end -00017f1: 0a ; FIXUP func body size +0001814: 00 ; func body size (guess) +0001815: 00 ; local decl count +0001816: 43 ; f32.const +0001817: 0000 803f ; f32 literal +000181b: fc ; prefix +000181c: 01 ; i32.trunc_u:sat/f32 +000181d: 1a ; drop +000181e: 0b ; end +0001814: 0a ; FIXUP func body size ; function body 178 -00017fc: 00 ; func body size (guess) -00017fd: 00 ; local decl count -00017fe: 44 ; f64.const -00017ff: 0000 0000 0000 f03f ; f64 literal -0001807: fc ; prefix -0001808: 02 ; i32.trunc_s:sat/f64 -0001809: 1a ; drop -000180a: 0b ; end -00017fc: 0e ; FIXUP func body size +000181f: 00 ; func body size (guess) +0001820: 00 ; local decl count +0001821: 44 ; f64.const +0001822: 0000 0000 0000 f03f ; f64 literal +000182a: fc ; prefix +000182b: 02 ; i32.trunc_s:sat/f64 +000182c: 1a ; drop +000182d: 0b ; end +000181f: 0e ; FIXUP func body size ; function body 179 -000180b: 00 ; func body size (guess) -000180c: 00 ; local decl count -000180d: 44 ; f64.const -000180e: 0000 0000 0000 f03f ; f64 literal -0001816: fc ; prefix -0001817: 03 ; i32.trunc_u:sat/f64 -0001818: 1a ; drop -0001819: 0b ; end -000180b: 0e ; FIXUP func body size +000182e: 00 ; func body size (guess) +000182f: 00 ; local decl count +0001830: 44 ; f64.const +0001831: 0000 0000 0000 f03f ; f64 literal +0001839: fc ; prefix +000183a: 03 ; i32.trunc_u:sat/f64 +000183b: 1a ; drop +000183c: 0b ; end +000182e: 0e ; FIXUP func body size ; function body 180 -000181a: 00 ; func body size (guess) -000181b: 00 ; local decl count -000181c: 43 ; f32.const -000181d: 0000 803f ; f32 literal -0001821: fc ; prefix -0001822: 04 ; i64.trunc_s:sat/f32 -0001823: 1a ; drop -0001824: 0b ; end -000181a: 0a ; FIXUP func body size +000183d: 00 ; func body size (guess) +000183e: 00 ; local decl count +000183f: 43 ; f32.const +0001840: 0000 803f ; f32 literal +0001844: fc ; prefix +0001845: 04 ; i64.trunc_s:sat/f32 +0001846: 1a ; drop +0001847: 0b ; end +000183d: 0a ; FIXUP func body size ; function body 181 -0001825: 00 ; func body size (guess) -0001826: 00 ; local decl count -0001827: 43 ; f32.const -0001828: 0000 803f ; f32 literal -000182c: fc ; prefix -000182d: 05 ; i64.trunc_u:sat/f32 -000182e: 1a ; drop -000182f: 0b ; end -0001825: 0a ; FIXUP func body size +0001848: 00 ; func body size (guess) +0001849: 00 ; local decl count +000184a: 43 ; f32.const +000184b: 0000 803f ; f32 literal +000184f: fc ; prefix +0001850: 05 ; i64.trunc_u:sat/f32 +0001851: 1a ; drop +0001852: 0b ; end +0001848: 0a ; FIXUP func body size ; function body 182 -0001830: 00 ; func body size (guess) -0001831: 00 ; local decl count -0001832: 44 ; f64.const -0001833: 0000 0000 0000 f03f ; f64 literal -000183b: fc ; prefix -000183c: 06 ; i64.trunc_s:sat/f64 -000183d: 1a ; drop -000183e: 0b ; end -0001830: 0e ; FIXUP func body size -; function body 183 -000183f: 00 ; func body size (guess) -0001840: 00 ; local decl count -0001841: 44 ; f64.const -0001842: 0000 0000 0000 f03f ; f64 literal -000184a: fc ; prefix -000184b: 07 ; i64.trunc_u:sat/f64 -000184c: 1a ; drop -000184d: 0b ; end -000183f: 0e ; FIXUP func body size -; function body 184 -000184e: 00 ; func body size (guess) -000184f: 00 ; local decl count -0001850: 41 ; i32.const -0001851: 01 ; i32 literal -0001852: fe ; prefix -0001853: 10 ; i32.atomic.load -0001854: 02 ; alignment -0001855: 03 ; memory offset -0001856: 1a ; drop -0001857: 0b ; end -000184e: 09 ; FIXUP func body size -; function body 185 -0001858: 00 ; func body size (guess) -0001859: 00 ; local decl count -000185a: 41 ; i32.const -000185b: 01 ; i32 literal -000185c: fe ; prefix -000185d: 11 ; i64.atomic.load -000185e: 03 ; alignment -000185f: 07 ; memory offset +0001853: 00 ; func body size (guess) +0001854: 00 ; local decl count +0001855: 44 ; f64.const +0001856: 0000 0000 0000 f03f ; f64 literal +000185e: fc ; prefix +000185f: 06 ; i64.trunc_s:sat/f64 0001860: 1a ; drop 0001861: 0b ; end -0001858: 09 ; FIXUP func body size -; function body 186 +0001853: 0e ; FIXUP func body size +; function body 183 0001862: 00 ; func body size (guess) 0001863: 00 ; local decl count -0001864: 41 ; i32.const -0001865: 01 ; i32 literal -0001866: fe ; prefix -0001867: 12 ; i32.atomic.load8_u -0001868: 00 ; alignment -0001869: 03 ; memory offset -000186a: 1a ; drop -000186b: 0b ; end -0001862: 09 ; FIXUP func body size +0001864: 44 ; f64.const +0001865: 0000 0000 0000 f03f ; f64 literal +000186d: fc ; prefix +000186e: 07 ; i64.trunc_u:sat/f64 +000186f: 1a ; drop +0001870: 0b ; end +0001862: 0e ; FIXUP func body size +; function body 184 +0001871: 00 ; func body size (guess) +0001872: 00 ; local decl count +0001873: 41 ; i32.const +0001874: 01 ; i32 literal +0001875: 41 ; i32.const +0001876: 02 ; i32 literal +0001877: fe ; prefix +0001878: 00 ; wake +0001879: 02 ; alignment +000187a: 03 ; memory offset +000187b: 1a ; drop +000187c: 0b ; end +0001871: 0b ; FIXUP func body size +; function body 185 +000187d: 00 ; func body size (guess) +000187e: 00 ; local decl count +000187f: 41 ; i32.const +0001880: 01 ; i32 literal +0001881: 41 ; i32.const +0001882: 02 ; i32 literal +0001883: 42 ; i64.const +0001884: 03 ; i64 literal +0001885: fe ; prefix +0001886: 01 ; i32.wait +0001887: 02 ; alignment +0001888: 03 ; memory offset +0001889: 1a ; drop +000188a: 0b ; end +000187d: 0d ; FIXUP func body size +; function body 186 +000188b: 00 ; func body size (guess) +000188c: 00 ; local decl count +000188d: 41 ; i32.const +000188e: 01 ; i32 literal +000188f: 42 ; i64.const +0001890: 02 ; i64 literal +0001891: 42 ; i64.const +0001892: 03 ; i64 literal +0001893: fe ; prefix +0001894: 02 ; i64.wait +0001895: 03 ; alignment +0001896: 03 ; memory offset +0001897: 1a ; drop +0001898: 0b ; end +000188b: 0d ; FIXUP func body size ; function body 187 -000186c: 00 ; func body size (guess) -000186d: 00 ; local decl count -000186e: 41 ; i32.const -000186f: 01 ; i32 literal -0001870: fe ; prefix -0001871: 13 ; i32.atomic.load16_u -0001872: 01 ; alignment -0001873: 03 ; memory offset -0001874: 1a ; drop -0001875: 0b ; end -000186c: 09 ; FIXUP func body size +0001899: 00 ; func body size (guess) +000189a: 00 ; local decl count +000189b: 41 ; i32.const +000189c: 01 ; i32 literal +000189d: fe ; prefix +000189e: 10 ; i32.atomic.load +000189f: 02 ; alignment +00018a0: 03 ; memory offset +00018a1: 1a ; drop +00018a2: 0b ; end +0001899: 09 ; FIXUP func body size ; function body 188 -0001876: 00 ; func body size (guess) -0001877: 00 ; local decl count -0001878: 41 ; i32.const -0001879: 01 ; i32 literal -000187a: fe ; prefix -000187b: 14 ; i64.atomic.load8_u -000187c: 00 ; alignment -000187d: 03 ; memory offset -000187e: 1a ; drop -000187f: 0b ; end -0001876: 09 ; FIXUP func body size +00018a3: 00 ; func body size (guess) +00018a4: 00 ; local decl count +00018a5: 41 ; i32.const +00018a6: 01 ; i32 literal +00018a7: fe ; prefix +00018a8: 11 ; i64.atomic.load +00018a9: 03 ; alignment +00018aa: 07 ; memory offset +00018ab: 1a ; drop +00018ac: 0b ; end +00018a3: 09 ; FIXUP func body size ; function body 189 -0001880: 00 ; func body size (guess) -0001881: 00 ; local decl count -0001882: 41 ; i32.const -0001883: 01 ; i32 literal -0001884: fe ; prefix -0001885: 15 ; i64.atomic.load16_u -0001886: 01 ; alignment -0001887: 03 ; memory offset -0001888: 1a ; drop -0001889: 0b ; end -0001880: 09 ; FIXUP func body size +00018ad: 00 ; func body size (guess) +00018ae: 00 ; local decl count +00018af: 41 ; i32.const +00018b0: 01 ; i32 literal +00018b1: fe ; prefix +00018b2: 12 ; i32.atomic.load8_u +00018b3: 00 ; alignment +00018b4: 03 ; memory offset +00018b5: 1a ; drop +00018b6: 0b ; end +00018ad: 09 ; FIXUP func body size ; function body 190 -000188a: 00 ; func body size (guess) -000188b: 00 ; local decl count -000188c: 41 ; i32.const -000188d: 01 ; i32 literal -000188e: fe ; prefix -000188f: 16 ; i64.atomic.load32_u -0001890: 02 ; alignment -0001891: 03 ; memory offset -0001892: 1a ; drop -0001893: 0b ; end -000188a: 09 ; FIXUP func body size -; function body 191 -0001894: 00 ; func body size (guess) -0001895: 00 ; local decl count -0001896: 41 ; i32.const -0001897: 01 ; i32 literal -0001898: 41 ; i32.const -0001899: 02 ; i32 literal -000189a: fe ; prefix -000189b: 17 ; i32.atomic.store -000189c: 02 ; alignment -000189d: 03 ; memory offset -000189e: 0b ; end -0001894: 0a ; FIXUP func body size -; function body 192 -000189f: 00 ; func body size (guess) -00018a0: 00 ; local decl count -00018a1: 41 ; i32.const -00018a2: 01 ; i32 literal -00018a3: 42 ; i64.const -00018a4: 02 ; i64 literal -00018a5: fe ; prefix -00018a6: 18 ; i64.atomic.store -00018a7: 03 ; alignment -00018a8: 07 ; memory offset -00018a9: 0b ; end -000189f: 0a ; FIXUP func body size -; function body 193 -00018aa: 00 ; func body size (guess) -00018ab: 00 ; local decl count -00018ac: 41 ; i32.const -00018ad: 01 ; i32 literal -00018ae: 41 ; i32.const -00018af: 02 ; i32 literal -00018b0: fe ; prefix -00018b1: 19 ; i32.atomic.store8 -00018b2: 00 ; alignment -00018b3: 03 ; memory offset -00018b4: 0b ; end -00018aa: 0a ; FIXUP func body size -; function body 194 -00018b5: 00 ; func body size (guess) -00018b6: 00 ; local decl count -00018b7: 41 ; i32.const -00018b8: 01 ; i32 literal +00018b7: 00 ; func body size (guess) +00018b8: 00 ; local decl count 00018b9: 41 ; i32.const -00018ba: 02 ; i32 literal +00018ba: 01 ; i32 literal 00018bb: fe ; prefix -00018bc: 1a ; i32.atomic.store16 +00018bc: 13 ; i32.atomic.load16_u 00018bd: 01 ; alignment 00018be: 03 ; memory offset -00018bf: 0b ; end -00018b5: 0a ; FIXUP func body size -; function body 195 -00018c0: 00 ; func body size (guess) -00018c1: 00 ; local decl count -00018c2: 41 ; i32.const -00018c3: 01 ; i32 literal -00018c4: 42 ; i64.const -00018c5: 02 ; i64 literal -00018c6: fe ; prefix -00018c7: 1b ; i64.atomic.store8 -00018c8: 00 ; alignment -00018c9: 03 ; memory offset +00018bf: 1a ; drop +00018c0: 0b ; end +00018b7: 09 ; FIXUP func body size +; function body 191 +00018c1: 00 ; func body size (guess) +00018c2: 00 ; local decl count +00018c3: 41 ; i32.const +00018c4: 01 ; i32 literal +00018c5: fe ; prefix +00018c6: 14 ; i64.atomic.load8_u +00018c7: 00 ; alignment +00018c8: 03 ; memory offset +00018c9: 1a ; drop 00018ca: 0b ; end -00018c0: 0a ; FIXUP func body size -; function body 196 +00018c1: 09 ; FIXUP func body size +; function body 192 00018cb: 00 ; func body size (guess) 00018cc: 00 ; local decl count 00018cd: 41 ; i32.const 00018ce: 01 ; i32 literal -00018cf: 42 ; i64.const -00018d0: 02 ; i64 literal -00018d1: fe ; prefix -00018d2: 1c ; i64.atomic.store16 -00018d3: 01 ; alignment -00018d4: 03 ; memory offset -00018d5: 0b ; end -00018cb: 0a ; FIXUP func body size +00018cf: fe ; prefix +00018d0: 15 ; i64.atomic.load16_u +00018d1: 01 ; alignment +00018d2: 03 ; memory offset +00018d3: 1a ; drop +00018d4: 0b ; end +00018cb: 09 ; FIXUP func body size +; function body 193 +00018d5: 00 ; func body size (guess) +00018d6: 00 ; local decl count +00018d7: 41 ; i32.const +00018d8: 01 ; i32 literal +00018d9: fe ; prefix +00018da: 16 ; i64.atomic.load32_u +00018db: 02 ; alignment +00018dc: 03 ; memory offset +00018dd: 1a ; drop +00018de: 0b ; end +00018d5: 09 ; FIXUP func body size +; function body 194 +00018df: 00 ; func body size (guess) +00018e0: 00 ; local decl count +00018e1: 41 ; i32.const +00018e2: 01 ; i32 literal +00018e3: 41 ; i32.const +00018e4: 02 ; i32 literal +00018e5: fe ; prefix +00018e6: 17 ; i32.atomic.store +00018e7: 02 ; alignment +00018e8: 03 ; memory offset +00018e9: 0b ; end +00018df: 0a ; FIXUP func body size +; function body 195 +00018ea: 00 ; func body size (guess) +00018eb: 00 ; local decl count +00018ec: 41 ; i32.const +00018ed: 01 ; i32 literal +00018ee: 42 ; i64.const +00018ef: 02 ; i64 literal +00018f0: fe ; prefix +00018f1: 18 ; i64.atomic.store +00018f2: 03 ; alignment +00018f3: 07 ; memory offset +00018f4: 0b ; end +00018ea: 0a ; FIXUP func body size +; function body 196 +00018f5: 00 ; func body size (guess) +00018f6: 00 ; local decl count +00018f7: 41 ; i32.const +00018f8: 01 ; i32 literal +00018f9: 41 ; i32.const +00018fa: 02 ; i32 literal +00018fb: fe ; prefix +00018fc: 19 ; i32.atomic.store8 +00018fd: 00 ; alignment +00018fe: 03 ; memory offset +00018ff: 0b ; end +00018f5: 0a ; FIXUP func body size ; function body 197 -00018d6: 00 ; func body size (guess) -00018d7: 00 ; local decl count -00018d8: 41 ; i32.const -00018d9: 01 ; i32 literal -00018da: 42 ; i64.const -00018db: 02 ; i64 literal -00018dc: fe ; prefix -00018dd: 1d ; i64.atomic.store32 -00018de: 02 ; alignment -00018df: 03 ; memory offset -00018e0: 0b ; end -00018d6: 0a ; FIXUP func body size +0001900: 00 ; func body size (guess) +0001901: 00 ; local decl count +0001902: 41 ; i32.const +0001903: 01 ; i32 literal +0001904: 41 ; i32.const +0001905: 02 ; i32 literal +0001906: fe ; prefix +0001907: 1a ; i32.atomic.store16 +0001908: 01 ; alignment +0001909: 03 ; memory offset +000190a: 0b ; end +0001900: 0a ; FIXUP func body size ; function body 198 -00018e1: 00 ; func body size (guess) -00018e2: 00 ; local decl count -00018e3: 41 ; i32.const -00018e4: 01 ; i32 literal -00018e5: 41 ; i32.const -00018e6: 02 ; i32 literal -00018e7: fe ; prefix -00018e8: 1e ; i32.atomic.rmw.add -00018e9: 02 ; alignment -00018ea: 03 ; memory offset -00018eb: 1a ; drop -00018ec: 0b ; end -00018e1: 0b ; FIXUP func body size +000190b: 00 ; func body size (guess) +000190c: 00 ; local decl count +000190d: 41 ; i32.const +000190e: 01 ; i32 literal +000190f: 42 ; i64.const +0001910: 02 ; i64 literal +0001911: fe ; prefix +0001912: 1b ; i64.atomic.store8 +0001913: 00 ; alignment +0001914: 03 ; memory offset +0001915: 0b ; end +000190b: 0a ; FIXUP func body size ; function body 199 -00018ed: 00 ; func body size (guess) -00018ee: 00 ; local decl count -00018ef: 41 ; i32.const -00018f0: 01 ; i32 literal -00018f1: 42 ; i64.const -00018f2: 02 ; i64 literal -00018f3: fe ; prefix -00018f4: 1f ; i64.atomic.rmw.add -00018f5: 03 ; alignment -00018f6: 07 ; memory offset -00018f7: 1a ; drop -00018f8: 0b ; end -00018ed: 0b ; FIXUP func body size +0001916: 00 ; func body size (guess) +0001917: 00 ; local decl count +0001918: 41 ; i32.const +0001919: 01 ; i32 literal +000191a: 42 ; i64.const +000191b: 02 ; i64 literal +000191c: fe ; prefix +000191d: 1c ; i64.atomic.store16 +000191e: 01 ; alignment +000191f: 03 ; memory offset +0001920: 0b ; end +0001916: 0a ; FIXUP func body size ; function body 200 -00018f9: 00 ; func body size (guess) -00018fa: 00 ; local decl count -00018fb: 41 ; i32.const -00018fc: 01 ; i32 literal -00018fd: 41 ; i32.const -00018fe: 02 ; i32 literal -00018ff: fe ; prefix -0001900: 20 ; i32.atomic.rmw8_u.add -0001901: 00 ; alignment -0001902: 03 ; memory offset -0001903: 1a ; drop -0001904: 0b ; end -00018f9: 0b ; FIXUP func body size +0001921: 00 ; func body size (guess) +0001922: 00 ; local decl count +0001923: 41 ; i32.const +0001924: 01 ; i32 literal +0001925: 42 ; i64.const +0001926: 02 ; i64 literal +0001927: fe ; prefix +0001928: 1d ; i64.atomic.store32 +0001929: 02 ; alignment +000192a: 03 ; memory offset +000192b: 0b ; end +0001921: 0a ; FIXUP func body size ; function body 201 -0001905: 00 ; func body size (guess) -0001906: 00 ; local decl count -0001907: 41 ; i32.const -0001908: 01 ; i32 literal -0001909: 41 ; i32.const -000190a: 02 ; i32 literal -000190b: fe ; prefix -000190c: 21 ; i32.atomic.rmw16_u.add -000190d: 01 ; alignment -000190e: 03 ; memory offset -000190f: 1a ; drop -0001910: 0b ; end -0001905: 0b ; FIXUP func body size +000192c: 00 ; func body size (guess) +000192d: 00 ; local decl count +000192e: 41 ; i32.const +000192f: 01 ; i32 literal +0001930: 41 ; i32.const +0001931: 02 ; i32 literal +0001932: fe ; prefix +0001933: 1e ; i32.atomic.rmw.add +0001934: 02 ; alignment +0001935: 03 ; memory offset +0001936: 1a ; drop +0001937: 0b ; end +000192c: 0b ; FIXUP func body size ; function body 202 -0001911: 00 ; func body size (guess) -0001912: 00 ; local decl count -0001913: 41 ; i32.const -0001914: 01 ; i32 literal -0001915: 42 ; i64.const -0001916: 02 ; i64 literal -0001917: fe ; prefix -0001918: 22 ; i64.atomic.rmw8_u.add -0001919: 00 ; alignment -000191a: 03 ; memory offset -000191b: 1a ; drop -000191c: 0b ; end -0001911: 0b ; FIXUP func body size +0001938: 00 ; func body size (guess) +0001939: 00 ; local decl count +000193a: 41 ; i32.const +000193b: 01 ; i32 literal +000193c: 42 ; i64.const +000193d: 02 ; i64 literal +000193e: fe ; prefix +000193f: 1f ; i64.atomic.rmw.add +0001940: 03 ; alignment +0001941: 07 ; memory offset +0001942: 1a ; drop +0001943: 0b ; end +0001938: 0b ; FIXUP func body size ; function body 203 -000191d: 00 ; func body size (guess) -000191e: 00 ; local decl count -000191f: 41 ; i32.const -0001920: 01 ; i32 literal -0001921: 42 ; i64.const -0001922: 02 ; i64 literal -0001923: fe ; prefix -0001924: 23 ; i64.atomic.rmw16_u.add -0001925: 01 ; alignment -0001926: 03 ; memory offset -0001927: 1a ; drop -0001928: 0b ; end -000191d: 0b ; FIXUP func body size +0001944: 00 ; func body size (guess) +0001945: 00 ; local decl count +0001946: 41 ; i32.const +0001947: 01 ; i32 literal +0001948: 41 ; i32.const +0001949: 02 ; i32 literal +000194a: fe ; prefix +000194b: 20 ; i32.atomic.rmw8_u.add +000194c: 00 ; alignment +000194d: 03 ; memory offset +000194e: 1a ; drop +000194f: 0b ; end +0001944: 0b ; FIXUP func body size ; function body 204 -0001929: 00 ; func body size (guess) -000192a: 00 ; local decl count -000192b: 41 ; i32.const -000192c: 01 ; i32 literal -000192d: 42 ; i64.const -000192e: 02 ; i64 literal -000192f: fe ; prefix -0001930: 24 ; i64.atomic.rmw32_u.add -0001931: 02 ; alignment -0001932: 03 ; memory offset -0001933: 1a ; drop -0001934: 0b ; end -0001929: 0b ; FIXUP func body size +0001950: 00 ; func body size (guess) +0001951: 00 ; local decl count +0001952: 41 ; i32.const +0001953: 01 ; i32 literal +0001954: 41 ; i32.const +0001955: 02 ; i32 literal +0001956: fe ; prefix +0001957: 21 ; i32.atomic.rmw16_u.add +0001958: 01 ; alignment +0001959: 03 ; memory offset +000195a: 1a ; drop +000195b: 0b ; end +0001950: 0b ; FIXUP func body size ; function body 205 -0001935: 00 ; func body size (guess) -0001936: 00 ; local decl count -0001937: 41 ; i32.const -0001938: 01 ; i32 literal -0001939: 41 ; i32.const -000193a: 02 ; i32 literal -000193b: fe ; prefix -000193c: 25 ; i32.atomic.rmw.sub -000193d: 02 ; alignment -000193e: 03 ; memory offset -000193f: 1a ; drop -0001940: 0b ; end -0001935: 0b ; FIXUP func body size +000195c: 00 ; func body size (guess) +000195d: 00 ; local decl count +000195e: 41 ; i32.const +000195f: 01 ; i32 literal +0001960: 42 ; i64.const +0001961: 02 ; i64 literal +0001962: fe ; prefix +0001963: 22 ; i64.atomic.rmw8_u.add +0001964: 00 ; alignment +0001965: 03 ; memory offset +0001966: 1a ; drop +0001967: 0b ; end +000195c: 0b ; FIXUP func body size ; function body 206 -0001941: 00 ; func body size (guess) -0001942: 00 ; local decl count -0001943: 41 ; i32.const -0001944: 01 ; i32 literal -0001945: 42 ; i64.const -0001946: 02 ; i64 literal -0001947: fe ; prefix -0001948: 26 ; i64.atomic.rmw.sub -0001949: 03 ; alignment -000194a: 07 ; memory offset -000194b: 1a ; drop -000194c: 0b ; end -0001941: 0b ; FIXUP func body size +0001968: 00 ; func body size (guess) +0001969: 00 ; local decl count +000196a: 41 ; i32.const +000196b: 01 ; i32 literal +000196c: 42 ; i64.const +000196d: 02 ; i64 literal +000196e: fe ; prefix +000196f: 23 ; i64.atomic.rmw16_u.add +0001970: 01 ; alignment +0001971: 03 ; memory offset +0001972: 1a ; drop +0001973: 0b ; end +0001968: 0b ; FIXUP func body size ; function body 207 -000194d: 00 ; func body size (guess) -000194e: 00 ; local decl count -000194f: 41 ; i32.const -0001950: 01 ; i32 literal -0001951: 41 ; i32.const -0001952: 02 ; i32 literal -0001953: fe ; prefix -0001954: 27 ; i32.atomic.rmw8_u.sub -0001955: 00 ; alignment -0001956: 03 ; memory offset -0001957: 1a ; drop -0001958: 0b ; end -000194d: 0b ; FIXUP func body size +0001974: 00 ; func body size (guess) +0001975: 00 ; local decl count +0001976: 41 ; i32.const +0001977: 01 ; i32 literal +0001978: 42 ; i64.const +0001979: 02 ; i64 literal +000197a: fe ; prefix +000197b: 24 ; i64.atomic.rmw32_u.add +000197c: 02 ; alignment +000197d: 03 ; memory offset +000197e: 1a ; drop +000197f: 0b ; end +0001974: 0b ; FIXUP func body size ; function body 208 -0001959: 00 ; func body size (guess) -000195a: 00 ; local decl count -000195b: 41 ; i32.const -000195c: 01 ; i32 literal -000195d: 41 ; i32.const -000195e: 02 ; i32 literal -000195f: fe ; prefix -0001960: 28 ; i32.atomic.rmw16_u.sub -0001961: 01 ; alignment -0001962: 03 ; memory offset -0001963: 1a ; drop -0001964: 0b ; end -0001959: 0b ; FIXUP func body size +0001980: 00 ; func body size (guess) +0001981: 00 ; local decl count +0001982: 41 ; i32.const +0001983: 01 ; i32 literal +0001984: 41 ; i32.const +0001985: 02 ; i32 literal +0001986: fe ; prefix +0001987: 25 ; i32.atomic.rmw.sub +0001988: 02 ; alignment +0001989: 03 ; memory offset +000198a: 1a ; drop +000198b: 0b ; end +0001980: 0b ; FIXUP func body size ; function body 209 -0001965: 00 ; func body size (guess) -0001966: 00 ; local decl count -0001967: 41 ; i32.const -0001968: 01 ; i32 literal -0001969: 42 ; i64.const -000196a: 02 ; i64 literal -000196b: fe ; prefix -000196c: 29 ; i64.atomic.rmw8_u.sub -000196d: 00 ; alignment -000196e: 03 ; memory offset -000196f: 1a ; drop -0001970: 0b ; end -0001965: 0b ; FIXUP func body size +000198c: 00 ; func body size (guess) +000198d: 00 ; local decl count +000198e: 41 ; i32.const +000198f: 01 ; i32 literal +0001990: 42 ; i64.const +0001991: 02 ; i64 literal +0001992: fe ; prefix +0001993: 26 ; i64.atomic.rmw.sub +0001994: 03 ; alignment +0001995: 07 ; memory offset +0001996: 1a ; drop +0001997: 0b ; end +000198c: 0b ; FIXUP func body size ; function body 210 -0001971: 00 ; func body size (guess) -0001972: 00 ; local decl count -0001973: 41 ; i32.const -0001974: 01 ; i32 literal -0001975: 42 ; i64.const -0001976: 02 ; i64 literal -0001977: fe ; prefix -0001978: 2a ; i64.atomic.rmw16_u.sub -0001979: 01 ; alignment -000197a: 03 ; memory offset -000197b: 1a ; drop -000197c: 0b ; end -0001971: 0b ; FIXUP func body size +0001998: 00 ; func body size (guess) +0001999: 00 ; local decl count +000199a: 41 ; i32.const +000199b: 01 ; i32 literal +000199c: 41 ; i32.const +000199d: 02 ; i32 literal +000199e: fe ; prefix +000199f: 27 ; i32.atomic.rmw8_u.sub +00019a0: 00 ; alignment +00019a1: 03 ; memory offset +00019a2: 1a ; drop +00019a3: 0b ; end +0001998: 0b ; FIXUP func body size ; function body 211 -000197d: 00 ; func body size (guess) -000197e: 00 ; local decl count -000197f: 41 ; i32.const -0001980: 01 ; i32 literal -0001981: 42 ; i64.const -0001982: 02 ; i64 literal -0001983: fe ; prefix -0001984: 2b ; i64.atomic.rmw32_u.sub -0001985: 02 ; alignment -0001986: 03 ; memory offset -0001987: 1a ; drop -0001988: 0b ; end -000197d: 0b ; FIXUP func body size +00019a4: 00 ; func body size (guess) +00019a5: 00 ; local decl count +00019a6: 41 ; i32.const +00019a7: 01 ; i32 literal +00019a8: 41 ; i32.const +00019a9: 02 ; i32 literal +00019aa: fe ; prefix +00019ab: 28 ; i32.atomic.rmw16_u.sub +00019ac: 01 ; alignment +00019ad: 03 ; memory offset +00019ae: 1a ; drop +00019af: 0b ; end +00019a4: 0b ; FIXUP func body size ; function body 212 -0001989: 00 ; func body size (guess) -000198a: 00 ; local decl count -000198b: 41 ; i32.const -000198c: 01 ; i32 literal -000198d: 41 ; i32.const -000198e: 02 ; i32 literal -000198f: fe ; prefix -0001990: 2c ; i32.atomic.rmw.and -0001991: 02 ; alignment -0001992: 03 ; memory offset -0001993: 1a ; drop -0001994: 0b ; end -0001989: 0b ; FIXUP func body size +00019b0: 00 ; func body size (guess) +00019b1: 00 ; local decl count +00019b2: 41 ; i32.const +00019b3: 01 ; i32 literal +00019b4: 42 ; i64.const +00019b5: 02 ; i64 literal +00019b6: fe ; prefix +00019b7: 29 ; i64.atomic.rmw8_u.sub +00019b8: 00 ; alignment +00019b9: 03 ; memory offset +00019ba: 1a ; drop +00019bb: 0b ; end +00019b0: 0b ; FIXUP func body size ; function body 213 -0001995: 00 ; func body size (guess) -0001996: 00 ; local decl count -0001997: 41 ; i32.const -0001998: 01 ; i32 literal -0001999: 42 ; i64.const -000199a: 02 ; i64 literal -000199b: fe ; prefix -000199c: 2d ; i64.atomic.rmw.and -000199d: 03 ; alignment -000199e: 07 ; memory offset -000199f: 1a ; drop -00019a0: 0b ; end -0001995: 0b ; FIXUP func body size +00019bc: 00 ; func body size (guess) +00019bd: 00 ; local decl count +00019be: 41 ; i32.const +00019bf: 01 ; i32 literal +00019c0: 42 ; i64.const +00019c1: 02 ; i64 literal +00019c2: fe ; prefix +00019c3: 2a ; i64.atomic.rmw16_u.sub +00019c4: 01 ; alignment +00019c5: 03 ; memory offset +00019c6: 1a ; drop +00019c7: 0b ; end +00019bc: 0b ; FIXUP func body size ; function body 214 -00019a1: 00 ; func body size (guess) -00019a2: 00 ; local decl count -00019a3: 41 ; i32.const -00019a4: 01 ; i32 literal -00019a5: 41 ; i32.const -00019a6: 02 ; i32 literal -00019a7: fe ; prefix -00019a8: 2e ; i32.atomic.rmw8_u.and -00019a9: 00 ; alignment -00019aa: 03 ; memory offset -00019ab: 1a ; drop -00019ac: 0b ; end -00019a1: 0b ; FIXUP func body size +00019c8: 00 ; func body size (guess) +00019c9: 00 ; local decl count +00019ca: 41 ; i32.const +00019cb: 01 ; i32 literal +00019cc: 42 ; i64.const +00019cd: 02 ; i64 literal +00019ce: fe ; prefix +00019cf: 2b ; i64.atomic.rmw32_u.sub +00019d0: 02 ; alignment +00019d1: 03 ; memory offset +00019d2: 1a ; drop +00019d3: 0b ; end +00019c8: 0b ; FIXUP func body size ; function body 215 -00019ad: 00 ; func body size (guess) -00019ae: 00 ; local decl count -00019af: 41 ; i32.const -00019b0: 01 ; i32 literal -00019b1: 41 ; i32.const -00019b2: 02 ; i32 literal -00019b3: fe ; prefix -00019b4: 2f ; i32.atomic.rmw16_u.and -00019b5: 01 ; alignment -00019b6: 03 ; memory offset -00019b7: 1a ; drop -00019b8: 0b ; end -00019ad: 0b ; FIXUP func body size +00019d4: 00 ; func body size (guess) +00019d5: 00 ; local decl count +00019d6: 41 ; i32.const +00019d7: 01 ; i32 literal +00019d8: 41 ; i32.const +00019d9: 02 ; i32 literal +00019da: fe ; prefix +00019db: 2c ; i32.atomic.rmw.and +00019dc: 02 ; alignment +00019dd: 03 ; memory offset +00019de: 1a ; drop +00019df: 0b ; end +00019d4: 0b ; FIXUP func body size ; function body 216 -00019b9: 00 ; func body size (guess) -00019ba: 00 ; local decl count -00019bb: 41 ; i32.const -00019bc: 01 ; i32 literal -00019bd: 42 ; i64.const -00019be: 02 ; i64 literal -00019bf: fe ; prefix -00019c0: 30 ; i64.atomic.rmw8_u.and -00019c1: 00 ; alignment -00019c2: 03 ; memory offset -00019c3: 1a ; drop -00019c4: 0b ; end -00019b9: 0b ; FIXUP func body size +00019e0: 00 ; func body size (guess) +00019e1: 00 ; local decl count +00019e2: 41 ; i32.const +00019e3: 01 ; i32 literal +00019e4: 42 ; i64.const +00019e5: 02 ; i64 literal +00019e6: fe ; prefix +00019e7: 2d ; i64.atomic.rmw.and +00019e8: 03 ; alignment +00019e9: 07 ; memory offset +00019ea: 1a ; drop +00019eb: 0b ; end +00019e0: 0b ; FIXUP func body size ; function body 217 -00019c5: 00 ; func body size (guess) -00019c6: 00 ; local decl count -00019c7: 41 ; i32.const -00019c8: 01 ; i32 literal -00019c9: 42 ; i64.const -00019ca: 02 ; i64 literal -00019cb: fe ; prefix -00019cc: 31 ; i64.atomic.rmw16_u.and -00019cd: 01 ; alignment -00019ce: 03 ; memory offset -00019cf: 1a ; drop -00019d0: 0b ; end -00019c5: 0b ; FIXUP func body size +00019ec: 00 ; func body size (guess) +00019ed: 00 ; local decl count +00019ee: 41 ; i32.const +00019ef: 01 ; i32 literal +00019f0: 41 ; i32.const +00019f1: 02 ; i32 literal +00019f2: fe ; prefix +00019f3: 2e ; i32.atomic.rmw8_u.and +00019f4: 00 ; alignment +00019f5: 03 ; memory offset +00019f6: 1a ; drop +00019f7: 0b ; end +00019ec: 0b ; FIXUP func body size ; function body 218 -00019d1: 00 ; func body size (guess) -00019d2: 00 ; local decl count -00019d3: 41 ; i32.const -00019d4: 01 ; i32 literal -00019d5: 42 ; i64.const -00019d6: 02 ; i64 literal -00019d7: fe ; prefix -00019d8: 32 ; i64.atomic.rmw32_u.and -00019d9: 02 ; alignment -00019da: 03 ; memory offset -00019db: 1a ; drop -00019dc: 0b ; end -00019d1: 0b ; FIXUP func body size +00019f8: 00 ; func body size (guess) +00019f9: 00 ; local decl count +00019fa: 41 ; i32.const +00019fb: 01 ; i32 literal +00019fc: 41 ; i32.const +00019fd: 02 ; i32 literal +00019fe: fe ; prefix +00019ff: 2f ; i32.atomic.rmw16_u.and +0001a00: 01 ; alignment +0001a01: 03 ; memory offset +0001a02: 1a ; drop +0001a03: 0b ; end +00019f8: 0b ; FIXUP func body size ; function body 219 -00019dd: 00 ; func body size (guess) -00019de: 00 ; local decl count -00019df: 41 ; i32.const -00019e0: 01 ; i32 literal -00019e1: 41 ; i32.const -00019e2: 02 ; i32 literal -00019e3: fe ; prefix -00019e4: 33 ; i32.atomic.rmw.or -00019e5: 02 ; alignment -00019e6: 03 ; memory offset -00019e7: 1a ; drop -00019e8: 0b ; end -00019dd: 0b ; FIXUP func body size +0001a04: 00 ; func body size (guess) +0001a05: 00 ; local decl count +0001a06: 41 ; i32.const +0001a07: 01 ; i32 literal +0001a08: 42 ; i64.const +0001a09: 02 ; i64 literal +0001a0a: fe ; prefix +0001a0b: 30 ; i64.atomic.rmw8_u.and +0001a0c: 00 ; alignment +0001a0d: 03 ; memory offset +0001a0e: 1a ; drop +0001a0f: 0b ; end +0001a04: 0b ; FIXUP func body size ; function body 220 -00019e9: 00 ; func body size (guess) -00019ea: 00 ; local decl count -00019eb: 41 ; i32.const -00019ec: 01 ; i32 literal -00019ed: 42 ; i64.const -00019ee: 02 ; i64 literal -00019ef: fe ; prefix -00019f0: 34 ; i64.atomic.rmw.or -00019f1: 03 ; alignment -00019f2: 07 ; memory offset -00019f3: 1a ; drop -00019f4: 0b ; end -00019e9: 0b ; FIXUP func body size +0001a10: 00 ; func body size (guess) +0001a11: 00 ; local decl count +0001a12: 41 ; i32.const +0001a13: 01 ; i32 literal +0001a14: 42 ; i64.const +0001a15: 02 ; i64 literal +0001a16: fe ; prefix +0001a17: 31 ; i64.atomic.rmw16_u.and +0001a18: 01 ; alignment +0001a19: 03 ; memory offset +0001a1a: 1a ; drop +0001a1b: 0b ; end +0001a10: 0b ; FIXUP func body size ; function body 221 -00019f5: 00 ; func body size (guess) -00019f6: 00 ; local decl count -00019f7: 41 ; i32.const -00019f8: 01 ; i32 literal -00019f9: 41 ; i32.const -00019fa: 02 ; i32 literal -00019fb: fe ; prefix -00019fc: 35 ; i32.atomic.rmw8_u.or -00019fd: 00 ; alignment -00019fe: 03 ; memory offset -00019ff: 1a ; drop -0001a00: 0b ; end -00019f5: 0b ; FIXUP func body size +0001a1c: 00 ; func body size (guess) +0001a1d: 00 ; local decl count +0001a1e: 41 ; i32.const +0001a1f: 01 ; i32 literal +0001a20: 42 ; i64.const +0001a21: 02 ; i64 literal +0001a22: fe ; prefix +0001a23: 32 ; i64.atomic.rmw32_u.and +0001a24: 02 ; alignment +0001a25: 03 ; memory offset +0001a26: 1a ; drop +0001a27: 0b ; end +0001a1c: 0b ; FIXUP func body size ; function body 222 -0001a01: 00 ; func body size (guess) -0001a02: 00 ; local decl count -0001a03: 41 ; i32.const -0001a04: 01 ; i32 literal -0001a05: 41 ; i32.const -0001a06: 02 ; i32 literal -0001a07: fe ; prefix -0001a08: 36 ; i32.atomic.rmw16_u.or -0001a09: 01 ; alignment -0001a0a: 03 ; memory offset -0001a0b: 1a ; drop -0001a0c: 0b ; end -0001a01: 0b ; FIXUP func body size +0001a28: 00 ; func body size (guess) +0001a29: 00 ; local decl count +0001a2a: 41 ; i32.const +0001a2b: 01 ; i32 literal +0001a2c: 41 ; i32.const +0001a2d: 02 ; i32 literal +0001a2e: fe ; prefix +0001a2f: 33 ; i32.atomic.rmw.or +0001a30: 02 ; alignment +0001a31: 03 ; memory offset +0001a32: 1a ; drop +0001a33: 0b ; end +0001a28: 0b ; FIXUP func body size ; function body 223 -0001a0d: 00 ; func body size (guess) -0001a0e: 00 ; local decl count -0001a0f: 41 ; i32.const -0001a10: 01 ; i32 literal -0001a11: 42 ; i64.const -0001a12: 02 ; i64 literal -0001a13: fe ; prefix -0001a14: 37 ; i64.atomic.rmw8_u.or -0001a15: 00 ; alignment -0001a16: 03 ; memory offset -0001a17: 1a ; drop -0001a18: 0b ; end -0001a0d: 0b ; FIXUP func body size +0001a34: 00 ; func body size (guess) +0001a35: 00 ; local decl count +0001a36: 41 ; i32.const +0001a37: 01 ; i32 literal +0001a38: 42 ; i64.const +0001a39: 02 ; i64 literal +0001a3a: fe ; prefix +0001a3b: 34 ; i64.atomic.rmw.or +0001a3c: 03 ; alignment +0001a3d: 07 ; memory offset +0001a3e: 1a ; drop +0001a3f: 0b ; end +0001a34: 0b ; FIXUP func body size ; function body 224 -0001a19: 00 ; func body size (guess) -0001a1a: 00 ; local decl count -0001a1b: 41 ; i32.const -0001a1c: 01 ; i32 literal -0001a1d: 42 ; i64.const -0001a1e: 02 ; i64 literal -0001a1f: fe ; prefix -0001a20: 38 ; i64.atomic.rmw16_u.or -0001a21: 01 ; alignment -0001a22: 03 ; memory offset -0001a23: 1a ; drop -0001a24: 0b ; end -0001a19: 0b ; FIXUP func body size +0001a40: 00 ; func body size (guess) +0001a41: 00 ; local decl count +0001a42: 41 ; i32.const +0001a43: 01 ; i32 literal +0001a44: 41 ; i32.const +0001a45: 02 ; i32 literal +0001a46: fe ; prefix +0001a47: 35 ; i32.atomic.rmw8_u.or +0001a48: 00 ; alignment +0001a49: 03 ; memory offset +0001a4a: 1a ; drop +0001a4b: 0b ; end +0001a40: 0b ; FIXUP func body size ; function body 225 -0001a25: 00 ; func body size (guess) -0001a26: 00 ; local decl count -0001a27: 41 ; i32.const -0001a28: 01 ; i32 literal -0001a29: 42 ; i64.const -0001a2a: 02 ; i64 literal -0001a2b: fe ; prefix -0001a2c: 39 ; i64.atomic.rmw32_u.or -0001a2d: 02 ; alignment -0001a2e: 03 ; memory offset -0001a2f: 1a ; drop -0001a30: 0b ; end -0001a25: 0b ; FIXUP func body size +0001a4c: 00 ; func body size (guess) +0001a4d: 00 ; local decl count +0001a4e: 41 ; i32.const +0001a4f: 01 ; i32 literal +0001a50: 41 ; i32.const +0001a51: 02 ; i32 literal +0001a52: fe ; prefix +0001a53: 36 ; i32.atomic.rmw16_u.or +0001a54: 01 ; alignment +0001a55: 03 ; memory offset +0001a56: 1a ; drop +0001a57: 0b ; end +0001a4c: 0b ; FIXUP func body size ; function body 226 -0001a31: 00 ; func body size (guess) -0001a32: 00 ; local decl count -0001a33: 41 ; i32.const -0001a34: 01 ; i32 literal -0001a35: 41 ; i32.const -0001a36: 02 ; i32 literal -0001a37: fe ; prefix -0001a38: 3a ; i32.atomic.rmw.xor -0001a39: 02 ; alignment -0001a3a: 03 ; memory offset -0001a3b: 1a ; drop -0001a3c: 0b ; end -0001a31: 0b ; FIXUP func body size +0001a58: 00 ; func body size (guess) +0001a59: 00 ; local decl count +0001a5a: 41 ; i32.const +0001a5b: 01 ; i32 literal +0001a5c: 42 ; i64.const +0001a5d: 02 ; i64 literal +0001a5e: fe ; prefix +0001a5f: 37 ; i64.atomic.rmw8_u.or +0001a60: 00 ; alignment +0001a61: 03 ; memory offset +0001a62: 1a ; drop +0001a63: 0b ; end +0001a58: 0b ; FIXUP func body size ; function body 227 -0001a3d: 00 ; func body size (guess) -0001a3e: 00 ; local decl count -0001a3f: 41 ; i32.const -0001a40: 01 ; i32 literal -0001a41: 42 ; i64.const -0001a42: 02 ; i64 literal -0001a43: fe ; prefix -0001a44: 3b ; i64.atomic.rmw.xor -0001a45: 03 ; alignment -0001a46: 07 ; memory offset -0001a47: 1a ; drop -0001a48: 0b ; end -0001a3d: 0b ; FIXUP func body size +0001a64: 00 ; func body size (guess) +0001a65: 00 ; local decl count +0001a66: 41 ; i32.const +0001a67: 01 ; i32 literal +0001a68: 42 ; i64.const +0001a69: 02 ; i64 literal +0001a6a: fe ; prefix +0001a6b: 38 ; i64.atomic.rmw16_u.or +0001a6c: 01 ; alignment +0001a6d: 03 ; memory offset +0001a6e: 1a ; drop +0001a6f: 0b ; end +0001a64: 0b ; FIXUP func body size ; function body 228 -0001a49: 00 ; func body size (guess) -0001a4a: 00 ; local decl count -0001a4b: 41 ; i32.const -0001a4c: 01 ; i32 literal -0001a4d: 41 ; i32.const -0001a4e: 02 ; i32 literal -0001a4f: fe ; prefix -0001a50: 3c ; i32.atomic.rmw8_u.xor -0001a51: 00 ; alignment -0001a52: 03 ; memory offset -0001a53: 1a ; drop -0001a54: 0b ; end -0001a49: 0b ; FIXUP func body size +0001a70: 00 ; func body size (guess) +0001a71: 00 ; local decl count +0001a72: 41 ; i32.const +0001a73: 01 ; i32 literal +0001a74: 42 ; i64.const +0001a75: 02 ; i64 literal +0001a76: fe ; prefix +0001a77: 39 ; i64.atomic.rmw32_u.or +0001a78: 02 ; alignment +0001a79: 03 ; memory offset +0001a7a: 1a ; drop +0001a7b: 0b ; end +0001a70: 0b ; FIXUP func body size ; function body 229 -0001a55: 00 ; func body size (guess) -0001a56: 00 ; local decl count -0001a57: 41 ; i32.const -0001a58: 01 ; i32 literal -0001a59: 41 ; i32.const -0001a5a: 02 ; i32 literal -0001a5b: fe ; prefix -0001a5c: 3d ; i32.atomic.rmw16_u.xor -0001a5d: 01 ; alignment -0001a5e: 03 ; memory offset -0001a5f: 1a ; drop -0001a60: 0b ; end -0001a55: 0b ; FIXUP func body size +0001a7c: 00 ; func body size (guess) +0001a7d: 00 ; local decl count +0001a7e: 41 ; i32.const +0001a7f: 01 ; i32 literal +0001a80: 41 ; i32.const +0001a81: 02 ; i32 literal +0001a82: fe ; prefix +0001a83: 3a ; i32.atomic.rmw.xor +0001a84: 02 ; alignment +0001a85: 03 ; memory offset +0001a86: 1a ; drop +0001a87: 0b ; end +0001a7c: 0b ; FIXUP func body size ; function body 230 -0001a61: 00 ; func body size (guess) -0001a62: 00 ; local decl count -0001a63: 41 ; i32.const -0001a64: 01 ; i32 literal -0001a65: 42 ; i64.const -0001a66: 02 ; i64 literal -0001a67: fe ; prefix -0001a68: 3e ; i64.atomic.rmw8_u.xor -0001a69: 00 ; alignment -0001a6a: 03 ; memory offset -0001a6b: 1a ; drop -0001a6c: 0b ; end -0001a61: 0b ; FIXUP func body size +0001a88: 00 ; func body size (guess) +0001a89: 00 ; local decl count +0001a8a: 41 ; i32.const +0001a8b: 01 ; i32 literal +0001a8c: 42 ; i64.const +0001a8d: 02 ; i64 literal +0001a8e: fe ; prefix +0001a8f: 3b ; i64.atomic.rmw.xor +0001a90: 03 ; alignment +0001a91: 07 ; memory offset +0001a92: 1a ; drop +0001a93: 0b ; end +0001a88: 0b ; FIXUP func body size ; function body 231 -0001a6d: 00 ; func body size (guess) -0001a6e: 00 ; local decl count -0001a6f: 41 ; i32.const -0001a70: 01 ; i32 literal -0001a71: 42 ; i64.const -0001a72: 02 ; i64 literal -0001a73: fe ; prefix -0001a74: 3f ; i64.atomic.rmw16_u.xor -0001a75: 01 ; alignment -0001a76: 03 ; memory offset -0001a77: 1a ; drop -0001a78: 0b ; end -0001a6d: 0b ; FIXUP func body size +0001a94: 00 ; func body size (guess) +0001a95: 00 ; local decl count +0001a96: 41 ; i32.const +0001a97: 01 ; i32 literal +0001a98: 41 ; i32.const +0001a99: 02 ; i32 literal +0001a9a: fe ; prefix +0001a9b: 3c ; i32.atomic.rmw8_u.xor +0001a9c: 00 ; alignment +0001a9d: 03 ; memory offset +0001a9e: 1a ; drop +0001a9f: 0b ; end +0001a94: 0b ; FIXUP func body size ; function body 232 -0001a79: 00 ; func body size (guess) -0001a7a: 00 ; local decl count -0001a7b: 41 ; i32.const -0001a7c: 01 ; i32 literal -0001a7d: 42 ; i64.const -0001a7e: 02 ; i64 literal -0001a7f: fe ; prefix -0001a80: 40 ; i64.atomic.rmw32_u.xor -0001a81: 02 ; alignment -0001a82: 03 ; memory offset -0001a83: 1a ; drop -0001a84: 0b ; end -0001a79: 0b ; FIXUP func body size +0001aa0: 00 ; func body size (guess) +0001aa1: 00 ; local decl count +0001aa2: 41 ; i32.const +0001aa3: 01 ; i32 literal +0001aa4: 41 ; i32.const +0001aa5: 02 ; i32 literal +0001aa6: fe ; prefix +0001aa7: 3d ; i32.atomic.rmw16_u.xor +0001aa8: 01 ; alignment +0001aa9: 03 ; memory offset +0001aaa: 1a ; drop +0001aab: 0b ; end +0001aa0: 0b ; FIXUP func body size ; function body 233 -0001a85: 00 ; func body size (guess) -0001a86: 00 ; local decl count -0001a87: 41 ; i32.const -0001a88: 01 ; i32 literal -0001a89: 41 ; i32.const -0001a8a: 02 ; i32 literal -0001a8b: fe ; prefix -0001a8c: 41 ; i32.atomic.rmw.xchg -0001a8d: 02 ; alignment -0001a8e: 03 ; memory offset -0001a8f: 1a ; drop -0001a90: 0b ; end -0001a85: 0b ; FIXUP func body size +0001aac: 00 ; func body size (guess) +0001aad: 00 ; local decl count +0001aae: 41 ; i32.const +0001aaf: 01 ; i32 literal +0001ab0: 42 ; i64.const +0001ab1: 02 ; i64 literal +0001ab2: fe ; prefix +0001ab3: 3e ; i64.atomic.rmw8_u.xor +0001ab4: 00 ; alignment +0001ab5: 03 ; memory offset +0001ab6: 1a ; drop +0001ab7: 0b ; end +0001aac: 0b ; FIXUP func body size ; function body 234 -0001a91: 00 ; func body size (guess) -0001a92: 00 ; local decl count -0001a93: 41 ; i32.const -0001a94: 01 ; i32 literal -0001a95: 42 ; i64.const -0001a96: 02 ; i64 literal -0001a97: fe ; prefix -0001a98: 42 ; i64.atomic.rmw.xchg -0001a99: 03 ; alignment -0001a9a: 07 ; memory offset -0001a9b: 1a ; drop -0001a9c: 0b ; end -0001a91: 0b ; FIXUP func body size +0001ab8: 00 ; func body size (guess) +0001ab9: 00 ; local decl count +0001aba: 41 ; i32.const +0001abb: 01 ; i32 literal +0001abc: 42 ; i64.const +0001abd: 02 ; i64 literal +0001abe: fe ; prefix +0001abf: 3f ; i64.atomic.rmw16_u.xor +0001ac0: 01 ; alignment +0001ac1: 03 ; memory offset +0001ac2: 1a ; drop +0001ac3: 0b ; end +0001ab8: 0b ; FIXUP func body size ; function body 235 -0001a9d: 00 ; func body size (guess) -0001a9e: 00 ; local decl count -0001a9f: 41 ; i32.const -0001aa0: 01 ; i32 literal -0001aa1: 41 ; i32.const -0001aa2: 02 ; i32 literal -0001aa3: fe ; prefix -0001aa4: 43 ; i32.atomic.rmw8_u.xchg -0001aa5: 00 ; alignment -0001aa6: 03 ; memory offset -0001aa7: 1a ; drop -0001aa8: 0b ; end -0001a9d: 0b ; FIXUP func body size +0001ac4: 00 ; func body size (guess) +0001ac5: 00 ; local decl count +0001ac6: 41 ; i32.const +0001ac7: 01 ; i32 literal +0001ac8: 42 ; i64.const +0001ac9: 02 ; i64 literal +0001aca: fe ; prefix +0001acb: 40 ; i64.atomic.rmw32_u.xor +0001acc: 02 ; alignment +0001acd: 03 ; memory offset +0001ace: 1a ; drop +0001acf: 0b ; end +0001ac4: 0b ; FIXUP func body size ; function body 236 -0001aa9: 00 ; func body size (guess) -0001aaa: 00 ; local decl count -0001aab: 41 ; i32.const -0001aac: 01 ; i32 literal -0001aad: 41 ; i32.const -0001aae: 02 ; i32 literal -0001aaf: fe ; prefix -0001ab0: 44 ; i32.atomic.rmw16_u.xchg -0001ab1: 01 ; alignment -0001ab2: 03 ; memory offset -0001ab3: 1a ; drop -0001ab4: 0b ; end -0001aa9: 0b ; FIXUP func body size +0001ad0: 00 ; func body size (guess) +0001ad1: 00 ; local decl count +0001ad2: 41 ; i32.const +0001ad3: 01 ; i32 literal +0001ad4: 41 ; i32.const +0001ad5: 02 ; i32 literal +0001ad6: fe ; prefix +0001ad7: 41 ; i32.atomic.rmw.xchg +0001ad8: 02 ; alignment +0001ad9: 03 ; memory offset +0001ada: 1a ; drop +0001adb: 0b ; end +0001ad0: 0b ; FIXUP func body size ; function body 237 -0001ab5: 00 ; func body size (guess) -0001ab6: 00 ; local decl count -0001ab7: 41 ; i32.const -0001ab8: 01 ; i32 literal -0001ab9: 42 ; i64.const -0001aba: 02 ; i64 literal -0001abb: fe ; prefix -0001abc: 45 ; i64.atomic.rmw8_u.xchg -0001abd: 00 ; alignment -0001abe: 03 ; memory offset -0001abf: 1a ; drop -0001ac0: 0b ; end -0001ab5: 0b ; FIXUP func body size +0001adc: 00 ; func body size (guess) +0001add: 00 ; local decl count +0001ade: 41 ; i32.const +0001adf: 01 ; i32 literal +0001ae0: 42 ; i64.const +0001ae1: 02 ; i64 literal +0001ae2: fe ; prefix +0001ae3: 42 ; i64.atomic.rmw.xchg +0001ae4: 03 ; alignment +0001ae5: 07 ; memory offset +0001ae6: 1a ; drop +0001ae7: 0b ; end +0001adc: 0b ; FIXUP func body size ; function body 238 -0001ac1: 00 ; func body size (guess) -0001ac2: 00 ; local decl count -0001ac3: 41 ; i32.const -0001ac4: 01 ; i32 literal -0001ac5: 42 ; i64.const -0001ac6: 02 ; i64 literal -0001ac7: fe ; prefix -0001ac8: 46 ; i64.atomic.rmw16_u.xchg -0001ac9: 01 ; alignment -0001aca: 03 ; memory offset -0001acb: 1a ; drop -0001acc: 0b ; end -0001ac1: 0b ; FIXUP func body size +0001ae8: 00 ; func body size (guess) +0001ae9: 00 ; local decl count +0001aea: 41 ; i32.const +0001aeb: 01 ; i32 literal +0001aec: 41 ; i32.const +0001aed: 02 ; i32 literal +0001aee: fe ; prefix +0001aef: 43 ; i32.atomic.rmw8_u.xchg +0001af0: 00 ; alignment +0001af1: 03 ; memory offset +0001af2: 1a ; drop +0001af3: 0b ; end +0001ae8: 0b ; FIXUP func body size ; function body 239 -0001acd: 00 ; func body size (guess) -0001ace: 00 ; local decl count -0001acf: 41 ; i32.const -0001ad0: 01 ; i32 literal -0001ad1: 42 ; i64.const -0001ad2: 02 ; i64 literal -0001ad3: fe ; prefix -0001ad4: 47 ; i64.atomic.rmw32_u.xchg -0001ad5: 02 ; alignment -0001ad6: 03 ; memory offset -0001ad7: 1a ; drop -0001ad8: 0b ; end -0001acd: 0b ; FIXUP func body size +0001af4: 00 ; func body size (guess) +0001af5: 00 ; local decl count +0001af6: 41 ; i32.const +0001af7: 01 ; i32 literal +0001af8: 41 ; i32.const +0001af9: 02 ; i32 literal +0001afa: fe ; prefix +0001afb: 44 ; i32.atomic.rmw16_u.xchg +0001afc: 01 ; alignment +0001afd: 03 ; memory offset +0001afe: 1a ; drop +0001aff: 0b ; end +0001af4: 0b ; FIXUP func body size ; function body 240 -0001ad9: 00 ; func body size (guess) -0001ada: 00 ; local decl count -0001adb: 41 ; i32.const -0001adc: 01 ; i32 literal -0001add: 41 ; i32.const -0001ade: 02 ; i32 literal -0001adf: 41 ; i32.const -0001ae0: 03 ; i32 literal -0001ae1: fe ; prefix -0001ae2: 48 ; i32.atomic.rmw.cmpxchg -0001ae3: 02 ; alignment -0001ae4: 03 ; memory offset -0001ae5: 1a ; drop -0001ae6: 0b ; end -0001ad9: 0d ; FIXUP func body size +0001b00: 00 ; func body size (guess) +0001b01: 00 ; local decl count +0001b02: 41 ; i32.const +0001b03: 01 ; i32 literal +0001b04: 42 ; i64.const +0001b05: 02 ; i64 literal +0001b06: fe ; prefix +0001b07: 45 ; i64.atomic.rmw8_u.xchg +0001b08: 00 ; alignment +0001b09: 03 ; memory offset +0001b0a: 1a ; drop +0001b0b: 0b ; end +0001b00: 0b ; FIXUP func body size ; function body 241 -0001ae7: 00 ; func body size (guess) -0001ae8: 00 ; local decl count -0001ae9: 41 ; i32.const -0001aea: 01 ; i32 literal -0001aeb: 42 ; i64.const -0001aec: 02 ; i64 literal -0001aed: 42 ; i64.const -0001aee: 03 ; i64 literal -0001aef: fe ; prefix -0001af0: 49 ; i64.atomic.rmw.cmpxchg -0001af1: 03 ; alignment -0001af2: 07 ; memory offset -0001af3: 1a ; drop -0001af4: 0b ; end -0001ae7: 0d ; FIXUP func body size +0001b0c: 00 ; func body size (guess) +0001b0d: 00 ; local decl count +0001b0e: 41 ; i32.const +0001b0f: 01 ; i32 literal +0001b10: 42 ; i64.const +0001b11: 02 ; i64 literal +0001b12: fe ; prefix +0001b13: 46 ; i64.atomic.rmw16_u.xchg +0001b14: 01 ; alignment +0001b15: 03 ; memory offset +0001b16: 1a ; drop +0001b17: 0b ; end +0001b0c: 0b ; FIXUP func body size ; function body 242 -0001af5: 00 ; func body size (guess) -0001af6: 00 ; local decl count -0001af7: 41 ; i32.const -0001af8: 01 ; i32 literal -0001af9: 41 ; i32.const -0001afa: 02 ; i32 literal -0001afb: 41 ; i32.const -0001afc: 03 ; i32 literal -0001afd: fe ; prefix -0001afe: 4a ; i32.atomic.rmw8_u.cmpxchg -0001aff: 00 ; alignment -0001b00: 03 ; memory offset -0001b01: 1a ; drop -0001b02: 0b ; end -0001af5: 0d ; FIXUP func body size +0001b18: 00 ; func body size (guess) +0001b19: 00 ; local decl count +0001b1a: 41 ; i32.const +0001b1b: 01 ; i32 literal +0001b1c: 42 ; i64.const +0001b1d: 02 ; i64 literal +0001b1e: fe ; prefix +0001b1f: 47 ; i64.atomic.rmw32_u.xchg +0001b20: 02 ; alignment +0001b21: 03 ; memory offset +0001b22: 1a ; drop +0001b23: 0b ; end +0001b18: 0b ; FIXUP func body size ; function body 243 -0001b03: 00 ; func body size (guess) -0001b04: 00 ; local decl count -0001b05: 41 ; i32.const -0001b06: 01 ; i32 literal -0001b07: 41 ; i32.const -0001b08: 02 ; i32 literal -0001b09: 41 ; i32.const -0001b0a: 03 ; i32 literal -0001b0b: fe ; prefix -0001b0c: 4b ; i32.atomic.rmw16_u.cmpxchg -0001b0d: 01 ; alignment -0001b0e: 03 ; memory offset -0001b0f: 1a ; drop -0001b10: 0b ; end -0001b03: 0d ; FIXUP func body size +0001b24: 00 ; func body size (guess) +0001b25: 00 ; local decl count +0001b26: 41 ; i32.const +0001b27: 01 ; i32 literal +0001b28: 41 ; i32.const +0001b29: 02 ; i32 literal +0001b2a: 41 ; i32.const +0001b2b: 03 ; i32 literal +0001b2c: fe ; prefix +0001b2d: 48 ; i32.atomic.rmw.cmpxchg +0001b2e: 02 ; alignment +0001b2f: 03 ; memory offset +0001b30: 1a ; drop +0001b31: 0b ; end +0001b24: 0d ; FIXUP func body size ; function body 244 -0001b11: 00 ; func body size (guess) -0001b12: 00 ; local decl count -0001b13: 41 ; i32.const -0001b14: 01 ; i32 literal -0001b15: 42 ; i64.const -0001b16: 02 ; i64 literal -0001b17: 42 ; i64.const -0001b18: 03 ; i64 literal -0001b19: fe ; prefix -0001b1a: 4c ; i64.atomic.rmw8_u.cmpxchg -0001b1b: 00 ; alignment -0001b1c: 03 ; memory offset -0001b1d: 1a ; drop -0001b1e: 0b ; end -0001b11: 0d ; FIXUP func body size +0001b32: 00 ; func body size (guess) +0001b33: 00 ; local decl count +0001b34: 41 ; i32.const +0001b35: 01 ; i32 literal +0001b36: 42 ; i64.const +0001b37: 02 ; i64 literal +0001b38: 42 ; i64.const +0001b39: 03 ; i64 literal +0001b3a: fe ; prefix +0001b3b: 49 ; i64.atomic.rmw.cmpxchg +0001b3c: 03 ; alignment +0001b3d: 07 ; memory offset +0001b3e: 1a ; drop +0001b3f: 0b ; end +0001b32: 0d ; FIXUP func body size ; function body 245 -0001b1f: 00 ; func body size (guess) -0001b20: 00 ; local decl count -0001b21: 41 ; i32.const -0001b22: 01 ; i32 literal -0001b23: 42 ; i64.const -0001b24: 02 ; i64 literal -0001b25: 42 ; i64.const -0001b26: 03 ; i64 literal -0001b27: fe ; prefix -0001b28: 4d ; i64.atomic.rmw16_u.cmpxchg -0001b29: 01 ; alignment -0001b2a: 03 ; memory offset -0001b2b: 1a ; drop -0001b2c: 0b ; end -0001b1f: 0d ; FIXUP func body size +0001b40: 00 ; func body size (guess) +0001b41: 00 ; local decl count +0001b42: 41 ; i32.const +0001b43: 01 ; i32 literal +0001b44: 41 ; i32.const +0001b45: 02 ; i32 literal +0001b46: 41 ; i32.const +0001b47: 03 ; i32 literal +0001b48: fe ; prefix +0001b49: 4a ; i32.atomic.rmw8_u.cmpxchg +0001b4a: 00 ; alignment +0001b4b: 03 ; memory offset +0001b4c: 1a ; drop +0001b4d: 0b ; end +0001b40: 0d ; FIXUP func body size ; function body 246 -0001b2d: 00 ; func body size (guess) -0001b2e: 00 ; local decl count -0001b2f: 41 ; i32.const -0001b30: 01 ; i32 literal -0001b31: 42 ; i64.const -0001b32: 02 ; i64 literal -0001b33: 42 ; i64.const -0001b34: 03 ; i64 literal -0001b35: fe ; prefix -0001b36: 4e ; i64.atomic.rmw32_u.cmpxchg -0001b37: 02 ; alignment -0001b38: 03 ; memory offset -0001b39: 1a ; drop -0001b3a: 0b ; end -0001b2d: 0d ; FIXUP func body size -; move data: [10ae, 1b3b) -> [10af, 1b3c) -00010ad: 8d15 ; FIXUP section size +0001b4e: 00 ; func body size (guess) +0001b4f: 00 ; local decl count +0001b50: 41 ; i32.const +0001b51: 01 ; i32 literal +0001b52: 41 ; i32.const +0001b53: 02 ; i32 literal +0001b54: 41 ; i32.const +0001b55: 03 ; i32 literal +0001b56: fe ; prefix +0001b57: 4b ; i32.atomic.rmw16_u.cmpxchg +0001b58: 01 ; alignment +0001b59: 03 ; memory offset +0001b5a: 1a ; drop +0001b5b: 0b ; end +0001b4e: 0d ; FIXUP func body size +; function body 247 +0001b5c: 00 ; func body size (guess) +0001b5d: 00 ; local decl count +0001b5e: 41 ; i32.const +0001b5f: 01 ; i32 literal +0001b60: 42 ; i64.const +0001b61: 02 ; i64 literal +0001b62: 42 ; i64.const +0001b63: 03 ; i64 literal +0001b64: fe ; prefix +0001b65: 4c ; i64.atomic.rmw8_u.cmpxchg +0001b66: 00 ; alignment +0001b67: 03 ; memory offset +0001b68: 1a ; drop +0001b69: 0b ; end +0001b5c: 0d ; FIXUP func body size +; function body 248 +0001b6a: 00 ; func body size (guess) +0001b6b: 00 ; local decl count +0001b6c: 41 ; i32.const +0001b6d: 01 ; i32 literal +0001b6e: 42 ; i64.const +0001b6f: 02 ; i64 literal +0001b70: 42 ; i64.const +0001b71: 03 ; i64 literal +0001b72: fe ; prefix +0001b73: 4d ; i64.atomic.rmw16_u.cmpxchg +0001b74: 01 ; alignment +0001b75: 03 ; memory offset +0001b76: 1a ; drop +0001b77: 0b ; end +0001b6a: 0d ; FIXUP func body size +; function body 249 +0001b78: 00 ; func body size (guess) +0001b79: 00 ; local decl count +0001b7a: 41 ; i32.const +0001b7b: 01 ; i32 literal +0001b7c: 42 ; i64.const +0001b7d: 02 ; i64 literal +0001b7e: 42 ; i64.const +0001b7f: 03 ; i64 literal +0001b80: fe ; prefix +0001b81: 4e ; i64.atomic.rmw32_u.cmpxchg +0001b82: 02 ; alignment +0001b83: 03 ; memory offset +0001b84: 1a ; drop +0001b85: 0b ; end +0001b78: 0d ; FIXUP func body size +; move data: [10d1, 1b86) -> [10d2, 1b87) +00010d0: b515 ; FIXUP section size BeginModule(version: 1) BeginTypeSection(8) OnTypeCount(2) @@ -4432,8 +4496,8 @@ BeginModule(version: 1) OnImport(index: 0, module: "host", field: "print") OnImportFunc(import_index: 0, func_index: 0, sig_index: 1) EndImportSection - BeginFunctionSection(249) - OnFunctionCount(247) + BeginFunctionSection(252) + OnFunctionCount(250) OnFunction(index: 1, sig_index: 0) OnFunction(index: 2, sig_index: 0) OnFunction(index: 3, sig_index: 0) @@ -4681,6 +4745,9 @@ BeginModule(version: 1) OnFunction(index: 245, sig_index: 0) OnFunction(index: 246, sig_index: 0) OnFunction(index: 247, sig_index: 0) + OnFunction(index: 248, sig_index: 0) + OnFunction(index: 249, sig_index: 0) + OnFunction(index: 250, sig_index: 0) EndFunctionSection BeginTableSection(5) OnTableCount(1) @@ -4698,8 +4765,8 @@ BeginModule(version: 1) EndGlobalInitExpr(0) EndGlobal(0) EndGlobalSection - BeginExportSection(3948) - OnExportCount(246) + BeginExportSection(3980) + OnExportCount(249) OnExport(index: 0, kind: func, item_index: 2, name: "unreachable") OnExport(index: 1, kind: func, item_index: 3, name: "br") OnExport(index: 2, kind: func, item_index: 4, name: "br_table") @@ -4883,69 +4950,72 @@ BeginModule(version: 1) OnExport(index: 180, kind: func, item_index: 182, name: "i64.trunc_u:sat/f32") OnExport(index: 181, kind: func, item_index: 183, name: "i64.trunc_s:sat/f64") OnExport(index: 182, kind: func, item_index: 184, name: "i64.trunc_u:sat/f64") - OnExport(index: 183, kind: func, item_index: 185, name: "i32.atomic.load") - OnExport(index: 184, kind: func, item_index: 186, name: "i64.atomic.load") - OnExport(index: 185, kind: func, item_index: 187, name: "i32.atomic.load8_u") - OnExport(index: 186, kind: func, item_index: 188, name: "i32.atomic.load16_u") - OnExport(index: 187, kind: func, item_index: 189, name: "i64.atomic.load8_u") - OnExport(index: 188, kind: func, item_index: 190, name: "i64.atomic.load16_u") - OnExport(index: 189, kind: func, item_index: 191, name: "i64.atomic.load32_u") - OnExport(index: 190, kind: func, item_index: 192, name: "i32.atomic.store") - OnExport(index: 191, kind: func, item_index: 193, name: "i64.atomic.store") - OnExport(index: 192, kind: func, item_index: 194, name: "i32.atomic.store8") - OnExport(index: 193, kind: func, item_index: 195, name: "i32.atomic.store16") - OnExport(index: 194, kind: func, item_index: 196, name: "i64.atomic.store8") - OnExport(index: 195, kind: func, item_index: 197, name: "i64.atomic.store16") - OnExport(index: 196, kind: func, item_index: 198, name: "i64.atomic.store32") - OnExport(index: 197, kind: func, item_index: 199, name: "i32.atomic.rmw.add") - OnExport(index: 198, kind: func, item_index: 200, name: "i64.atomic.rmw.add") - OnExport(index: 199, kind: func, item_index: 201, name: "i32.atomic.rmw8_u.add") - OnExport(index: 200, kind: func, item_index: 202, name: "i32.atomic.rmw16_u.add") - OnExport(index: 201, kind: func, item_index: 203, name: "i64.atomic.rmw8_u.add") - OnExport(index: 202, kind: func, item_index: 204, name: "i64.atomic.rmw16_u.add") - OnExport(index: 203, kind: func, item_index: 205, name: "i64.atomic.rmw32_u.add") - OnExport(index: 204, kind: func, item_index: 206, name: "i32.atomic.rmw.sub") - OnExport(index: 205, kind: func, item_index: 207, name: "i64.atomic.rmw.sub") - OnExport(index: 206, kind: func, item_index: 208, name: "i32.atomic.rmw8_u.sub") - OnExport(index: 207, kind: func, item_index: 209, name: "i32.atomic.rmw16_u.sub") - OnExport(index: 208, kind: func, item_index: 210, name: "i64.atomic.rmw8_u.sub") - OnExport(index: 209, kind: func, item_index: 211, name: "i64.atomic.rmw16_u.sub") - OnExport(index: 210, kind: func, item_index: 212, name: "i64.atomic.rmw32_u.sub") - OnExport(index: 211, kind: func, item_index: 213, name: "i32.atomic.rmw.and") - OnExport(index: 212, kind: func, item_index: 214, name: "i64.atomic.rmw.and") - OnExport(index: 213, kind: func, item_index: 215, name: "i32.atomic.rmw8_u.and") - OnExport(index: 214, kind: func, item_index: 216, name: "i32.atomic.rmw16_u.and") - OnExport(index: 215, kind: func, item_index: 217, name: "i64.atomic.rmw8_u.and") - OnExport(index: 216, kind: func, item_index: 218, name: "i64.atomic.rmw16_u.and") - OnExport(index: 217, kind: func, item_index: 219, name: "i64.atomic.rmw32_u.and") - OnExport(index: 218, kind: func, item_index: 220, name: "i32.atomic.rmw.or") - OnExport(index: 219, kind: func, item_index: 221, name: "i64.atomic.rmw.or") - OnExport(index: 220, kind: func, item_index: 222, name: "i32.atomic.rmw8_u.or") - OnExport(index: 221, kind: func, item_index: 223, name: "i32.atomic.rmw16_u.or") - OnExport(index: 222, kind: func, item_index: 224, name: "i64.atomic.rmw8_u.or") - OnExport(index: 223, kind: func, item_index: 225, name: "i64.atomic.rmw16_u.or") - OnExport(index: 224, kind: func, item_index: 226, name: "i64.atomic.rmw32_u.or") - OnExport(index: 225, kind: func, item_index: 227, name: "i32.atomic.rmw.xor") - OnExport(index: 226, kind: func, item_index: 228, name: "i64.atomic.rmw.xor") - OnExport(index: 227, kind: func, item_index: 229, name: "i32.atomic.rmw8_u.xor") - OnExport(index: 228, kind: func, item_index: 230, name: "i32.atomic.rmw16_u.xor") - OnExport(index: 229, kind: func, item_index: 231, name: "i64.atomic.rmw8_u.xor") - OnExport(index: 230, kind: func, item_index: 232, name: "i64.atomic.rmw16_u.xor") - OnExport(index: 231, kind: func, item_index: 233, name: "i64.atomic.rmw32_u.xor") - OnExport(index: 232, kind: func, item_index: 234, name: "i32.atomic.rmw.xchg") - OnExport(index: 233, kind: func, item_index: 235, name: "i64.atomic.rmw.xchg") - OnExport(index: 234, kind: func, item_index: 236, name: "i32.atomic.rmw8_u.xchg") - OnExport(index: 235, kind: func, item_index: 237, name: "i32.atomic.rmw16_u.xchg") - OnExport(index: 236, kind: func, item_index: 238, name: "i64.atomic.rmw8_u.xchg") - OnExport(index: 237, kind: func, item_index: 239, name: "i64.atomic.rmw16_u.xchg") - OnExport(index: 238, kind: func, item_index: 240, name: "i64.atomic.rmw32_u.xchg") - OnExport(index: 239, kind: func, item_index: 241, name: "i32.atomic.rmw.cmpxchg") - OnExport(index: 240, kind: func, item_index: 242, name: "i64.atomic.rmw.cmpxchg") - OnExport(index: 241, kind: func, item_index: 243, name: "i32.atomic.rmw8_u.cmpxchg") - OnExport(index: 242, kind: func, item_index: 244, name: "i32.atomic.rmw16_u.cmpxchg") - OnExport(index: 243, kind: func, item_index: 245, name: "i64.atomic.rmw8_u.cmpxchg") - OnExport(index: 244, kind: func, item_index: 246, name: "i64.atomic.rmw16_u.cmpxchg") - OnExport(index: 245, kind: func, item_index: 247, name: "i64.atomic.rmw32_u.cmpxchg") + OnExport(index: 183, kind: func, item_index: 185, name: "wake") + OnExport(index: 184, kind: func, item_index: 186, name: "i32.wait") + OnExport(index: 185, kind: func, item_index: 187, name: "i64.wait") + OnExport(index: 186, kind: func, item_index: 188, name: "i32.atomic.load") + OnExport(index: 187, kind: func, item_index: 189, name: "i64.atomic.load") + OnExport(index: 188, kind: func, item_index: 190, name: "i32.atomic.load8_u") + OnExport(index: 189, kind: func, item_index: 191, name: "i32.atomic.load16_u") + OnExport(index: 190, kind: func, item_index: 192, name: "i64.atomic.load8_u") + OnExport(index: 191, kind: func, item_index: 193, name: "i64.atomic.load16_u") + OnExport(index: 192, kind: func, item_index: 194, name: "i64.atomic.load32_u") + OnExport(index: 193, kind: func, item_index: 195, name: "i32.atomic.store") + OnExport(index: 194, kind: func, item_index: 196, name: "i64.atomic.store") + OnExport(index: 195, kind: func, item_index: 197, name: "i32.atomic.store8") + OnExport(index: 196, kind: func, item_index: 198, name: "i32.atomic.store16") + OnExport(index: 197, kind: func, item_index: 199, name: "i64.atomic.store8") + OnExport(index: 198, kind: func, item_index: 200, name: "i64.atomic.store16") + OnExport(index: 199, kind: func, item_index: 201, name: "i64.atomic.store32") + OnExport(index: 200, kind: func, item_index: 202, name: "i32.atomic.rmw.add") + OnExport(index: 201, kind: func, item_index: 203, name: "i64.atomic.rmw.add") + OnExport(index: 202, kind: func, item_index: 204, name: "i32.atomic.rmw8_u.add") + OnExport(index: 203, kind: func, item_index: 205, name: "i32.atomic.rmw16_u.add") + OnExport(index: 204, kind: func, item_index: 206, name: "i64.atomic.rmw8_u.add") + OnExport(index: 205, kind: func, item_index: 207, name: "i64.atomic.rmw16_u.add") + OnExport(index: 206, kind: func, item_index: 208, name: "i64.atomic.rmw32_u.add") + OnExport(index: 207, kind: func, item_index: 209, name: "i32.atomic.rmw.sub") + OnExport(index: 208, kind: func, item_index: 210, name: "i64.atomic.rmw.sub") + OnExport(index: 209, kind: func, item_index: 211, name: "i32.atomic.rmw8_u.sub") + OnExport(index: 210, kind: func, item_index: 212, name: "i32.atomic.rmw16_u.sub") + OnExport(index: 211, kind: func, item_index: 213, name: "i64.atomic.rmw8_u.sub") + OnExport(index: 212, kind: func, item_index: 214, name: "i64.atomic.rmw16_u.sub") + OnExport(index: 213, kind: func, item_index: 215, name: "i64.atomic.rmw32_u.sub") + OnExport(index: 214, kind: func, item_index: 216, name: "i32.atomic.rmw.and") + OnExport(index: 215, kind: func, item_index: 217, name: "i64.atomic.rmw.and") + OnExport(index: 216, kind: func, item_index: 218, name: "i32.atomic.rmw8_u.and") + OnExport(index: 217, kind: func, item_index: 219, name: "i32.atomic.rmw16_u.and") + OnExport(index: 218, kind: func, item_index: 220, name: "i64.atomic.rmw8_u.and") + OnExport(index: 219, kind: func, item_index: 221, name: "i64.atomic.rmw16_u.and") + OnExport(index: 220, kind: func, item_index: 222, name: "i64.atomic.rmw32_u.and") + OnExport(index: 221, kind: func, item_index: 223, name: "i32.atomic.rmw.or") + OnExport(index: 222, kind: func, item_index: 224, name: "i64.atomic.rmw.or") + OnExport(index: 223, kind: func, item_index: 225, name: "i32.atomic.rmw8_u.or") + OnExport(index: 224, kind: func, item_index: 226, name: "i32.atomic.rmw16_u.or") + OnExport(index: 225, kind: func, item_index: 227, name: "i64.atomic.rmw8_u.or") + OnExport(index: 226, kind: func, item_index: 228, name: "i64.atomic.rmw16_u.or") + OnExport(index: 227, kind: func, item_index: 229, name: "i64.atomic.rmw32_u.or") + OnExport(index: 228, kind: func, item_index: 230, name: "i32.atomic.rmw.xor") + OnExport(index: 229, kind: func, item_index: 231, name: "i64.atomic.rmw.xor") + OnExport(index: 230, kind: func, item_index: 232, name: "i32.atomic.rmw8_u.xor") + OnExport(index: 231, kind: func, item_index: 233, name: "i32.atomic.rmw16_u.xor") + OnExport(index: 232, kind: func, item_index: 234, name: "i64.atomic.rmw8_u.xor") + OnExport(index: 233, kind: func, item_index: 235, name: "i64.atomic.rmw16_u.xor") + OnExport(index: 234, kind: func, item_index: 236, name: "i64.atomic.rmw32_u.xor") + OnExport(index: 235, kind: func, item_index: 237, name: "i32.atomic.rmw.xchg") + OnExport(index: 236, kind: func, item_index: 238, name: "i64.atomic.rmw.xchg") + OnExport(index: 237, kind: func, item_index: 239, name: "i32.atomic.rmw8_u.xchg") + OnExport(index: 238, kind: func, item_index: 240, name: "i32.atomic.rmw16_u.xchg") + OnExport(index: 239, kind: func, item_index: 241, name: "i64.atomic.rmw8_u.xchg") + OnExport(index: 240, kind: func, item_index: 242, name: "i64.atomic.rmw16_u.xchg") + OnExport(index: 241, kind: func, item_index: 243, name: "i64.atomic.rmw32_u.xchg") + OnExport(index: 242, kind: func, item_index: 244, name: "i32.atomic.rmw.cmpxchg") + OnExport(index: 243, kind: func, item_index: 245, name: "i64.atomic.rmw.cmpxchg") + OnExport(index: 244, kind: func, item_index: 246, name: "i32.atomic.rmw8_u.cmpxchg") + OnExport(index: 245, kind: func, item_index: 247, name: "i32.atomic.rmw16_u.cmpxchg") + OnExport(index: 246, kind: func, item_index: 248, name: "i64.atomic.rmw8_u.cmpxchg") + OnExport(index: 247, kind: func, item_index: 249, name: "i64.atomic.rmw16_u.cmpxchg") + OnExport(index: 248, kind: func, item_index: 250, name: "i64.atomic.rmw32_u.cmpxchg") EndExportSection BeginElemSection(8) OnElemSegmentCount(1) @@ -4958,8 +5028,8 @@ BeginModule(version: 1) OnElemSegmentFunctionIndex(index: 0, func_index: 1) EndElemSegment(0) EndElemSection - BeginCodeSection(2701) - OnFunctionBodyCount(247) + BeginCodeSection(2741) + OnFunctionBodyCount(250) BeginFunctionBody(1) OnLocalDeclCount(0) EndFunctionBody(1) @@ -6123,403 +6193,402 @@ BeginModule(version: 1) BeginFunctionBody(185) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnAtomicLoadExpr(opcode: "i32.atomic.load" (16), align log2: 2, offset: 3) + OnI32ConstExpr(2 (0x2)) + OnWakeExpr(opcode: "wake" (0), align log2: 2, offset: 3) OnDropExpr EndFunctionBody(185) BeginFunctionBody(186) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnAtomicLoadExpr(opcode: "i64.atomic.load" (17), align log2: 3, offset: 7) + OnI32ConstExpr(2 (0x2)) + OnI64ConstExpr(3 (0x3)) + OnWaitExpr(opcode: "i32.wait" (1), align log2: 2, offset: 3) OnDropExpr EndFunctionBody(186) BeginFunctionBody(187) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnAtomicLoadExpr(opcode: "i32.atomic.load8_u" (18), align log2: 0, offset: 3) + OnI64ConstExpr(2 (0x2)) + OnI64ConstExpr(3 (0x3)) + OnWaitExpr(opcode: "i64.wait" (2), align log2: 3, offset: 3) OnDropExpr EndFunctionBody(187) BeginFunctionBody(188) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnAtomicLoadExpr(opcode: "i32.atomic.load16_u" (19), align log2: 1, offset: 3) + OnAtomicLoadExpr(opcode: "i32.atomic.load" (16), align log2: 2, offset: 3) OnDropExpr EndFunctionBody(188) BeginFunctionBody(189) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnAtomicLoadExpr(opcode: "i64.atomic.load8_u" (20), align log2: 0, offset: 3) + OnAtomicLoadExpr(opcode: "i64.atomic.load" (17), align log2: 3, offset: 7) OnDropExpr EndFunctionBody(189) BeginFunctionBody(190) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnAtomicLoadExpr(opcode: "i64.atomic.load16_u" (21), align log2: 1, offset: 3) + OnAtomicLoadExpr(opcode: "i32.atomic.load8_u" (18), align log2: 0, offset: 3) OnDropExpr EndFunctionBody(190) BeginFunctionBody(191) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnAtomicLoadExpr(opcode: "i64.atomic.load32_u" (22), align log2: 2, offset: 3) + OnAtomicLoadExpr(opcode: "i32.atomic.load16_u" (19), align log2: 1, offset: 3) OnDropExpr EndFunctionBody(191) BeginFunctionBody(192) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI32ConstExpr(2 (0x2)) - OnAtomicStoreExpr(opcode: "i32.atomic.store" (23), align log2: 2, offset: 3) + OnAtomicLoadExpr(opcode: "i64.atomic.load8_u" (20), align log2: 0, offset: 3) + OnDropExpr EndFunctionBody(192) BeginFunctionBody(193) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI64ConstExpr(2 (0x2)) - OnAtomicStoreExpr(opcode: "i64.atomic.store" (24), align log2: 3, offset: 7) + OnAtomicLoadExpr(opcode: "i64.atomic.load16_u" (21), align log2: 1, offset: 3) + OnDropExpr EndFunctionBody(193) BeginFunctionBody(194) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI32ConstExpr(2 (0x2)) - OnAtomicStoreExpr(opcode: "i32.atomic.store8" (25), align log2: 0, offset: 3) + OnAtomicLoadExpr(opcode: "i64.atomic.load32_u" (22), align log2: 2, offset: 3) + OnDropExpr EndFunctionBody(194) BeginFunctionBody(195) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) OnI32ConstExpr(2 (0x2)) - OnAtomicStoreExpr(opcode: "i32.atomic.store16" (26), align log2: 1, offset: 3) + OnAtomicStoreExpr(opcode: "i32.atomic.store" (23), align log2: 2, offset: 3) EndFunctionBody(195) BeginFunctionBody(196) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) OnI64ConstExpr(2 (0x2)) - OnAtomicStoreExpr(opcode: "i64.atomic.store8" (27), align log2: 0, offset: 3) + OnAtomicStoreExpr(opcode: "i64.atomic.store" (24), align log2: 3, offset: 7) EndFunctionBody(196) BeginFunctionBody(197) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI64ConstExpr(2 (0x2)) - OnAtomicStoreExpr(opcode: "i64.atomic.store16" (28), align log2: 1, offset: 3) + OnI32ConstExpr(2 (0x2)) + OnAtomicStoreExpr(opcode: "i32.atomic.store8" (25), align log2: 0, offset: 3) EndFunctionBody(197) BeginFunctionBody(198) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI64ConstExpr(2 (0x2)) - OnAtomicStoreExpr(opcode: "i64.atomic.store32" (29), align log2: 2, offset: 3) + OnI32ConstExpr(2 (0x2)) + OnAtomicStoreExpr(opcode: "i32.atomic.store16" (26), align log2: 1, offset: 3) EndFunctionBody(198) BeginFunctionBody(199) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI32ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i32.atomic.rmw.add" (30), align log2: 2, offset: 3) - OnDropExpr + OnI64ConstExpr(2 (0x2)) + OnAtomicStoreExpr(opcode: "i64.atomic.store8" (27), align log2: 0, offset: 3) EndFunctionBody(199) BeginFunctionBody(200) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) OnI64ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i64.atomic.rmw.add" (31), align log2: 3, offset: 7) - OnDropExpr + OnAtomicStoreExpr(opcode: "i64.atomic.store16" (28), align log2: 1, offset: 3) EndFunctionBody(200) BeginFunctionBody(201) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI32ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i32.atomic.rmw8_u.add" (32), align log2: 0, offset: 3) - OnDropExpr + OnI64ConstExpr(2 (0x2)) + OnAtomicStoreExpr(opcode: "i64.atomic.store32" (29), align log2: 2, offset: 3) EndFunctionBody(201) BeginFunctionBody(202) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) OnI32ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i32.atomic.rmw16_u.add" (33), align log2: 1, offset: 3) + OnAtomicRmwExpr(opcode: "i32.atomic.rmw.add" (30), align log2: 2, offset: 3) OnDropExpr EndFunctionBody(202) BeginFunctionBody(203) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) OnI64ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i64.atomic.rmw8_u.add" (34), align log2: 0, offset: 3) + OnAtomicRmwExpr(opcode: "i64.atomic.rmw.add" (31), align log2: 3, offset: 7) OnDropExpr EndFunctionBody(203) BeginFunctionBody(204) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI64ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i64.atomic.rmw16_u.add" (35), align log2: 1, offset: 3) + OnI32ConstExpr(2 (0x2)) + OnAtomicRmwExpr(opcode: "i32.atomic.rmw8_u.add" (32), align log2: 0, offset: 3) OnDropExpr EndFunctionBody(204) BeginFunctionBody(205) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI64ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i64.atomic.rmw32_u.add" (36), align log2: 2, offset: 3) + OnI32ConstExpr(2 (0x2)) + OnAtomicRmwExpr(opcode: "i32.atomic.rmw16_u.add" (33), align log2: 1, offset: 3) OnDropExpr EndFunctionBody(205) BeginFunctionBody(206) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI32ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i32.atomic.rmw.sub" (37), align log2: 2, offset: 3) + OnI64ConstExpr(2 (0x2)) + OnAtomicRmwExpr(opcode: "i64.atomic.rmw8_u.add" (34), align log2: 0, offset: 3) OnDropExpr EndFunctionBody(206) BeginFunctionBody(207) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) OnI64ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i64.atomic.rmw.sub" (38), align log2: 3, offset: 7) + OnAtomicRmwExpr(opcode: "i64.atomic.rmw16_u.add" (35), align log2: 1, offset: 3) OnDropExpr EndFunctionBody(207) BeginFunctionBody(208) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI32ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i32.atomic.rmw8_u.sub" (39), align log2: 0, offset: 3) + OnI64ConstExpr(2 (0x2)) + OnAtomicRmwExpr(opcode: "i64.atomic.rmw32_u.add" (36), align log2: 2, offset: 3) OnDropExpr EndFunctionBody(208) BeginFunctionBody(209) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) OnI32ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i32.atomic.rmw16_u.sub" (40), align log2: 1, offset: 3) + OnAtomicRmwExpr(opcode: "i32.atomic.rmw.sub" (37), align log2: 2, offset: 3) OnDropExpr EndFunctionBody(209) BeginFunctionBody(210) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) OnI64ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i64.atomic.rmw8_u.sub" (41), align log2: 0, offset: 3) + OnAtomicRmwExpr(opcode: "i64.atomic.rmw.sub" (38), align log2: 3, offset: 7) OnDropExpr EndFunctionBody(210) BeginFunctionBody(211) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI64ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i64.atomic.rmw16_u.sub" (42), align log2: 1, offset: 3) + OnI32ConstExpr(2 (0x2)) + OnAtomicRmwExpr(opcode: "i32.atomic.rmw8_u.sub" (39), align log2: 0, offset: 3) OnDropExpr EndFunctionBody(211) BeginFunctionBody(212) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI64ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i64.atomic.rmw32_u.sub" (43), align log2: 2, offset: 3) + OnI32ConstExpr(2 (0x2)) + OnAtomicRmwExpr(opcode: "i32.atomic.rmw16_u.sub" (40), align log2: 1, offset: 3) OnDropExpr EndFunctionBody(212) BeginFunctionBody(213) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI32ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i32.atomic.rmw.and" (44), align log2: 2, offset: 3) + OnI64ConstExpr(2 (0x2)) + OnAtomicRmwExpr(opcode: "i64.atomic.rmw8_u.sub" (41), align log2: 0, offset: 3) OnDropExpr EndFunctionBody(213) BeginFunctionBody(214) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) OnI64ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i64.atomic.rmw.and" (45), align log2: 3, offset: 7) + OnAtomicRmwExpr(opcode: "i64.atomic.rmw16_u.sub" (42), align log2: 1, offset: 3) OnDropExpr EndFunctionBody(214) BeginFunctionBody(215) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI32ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i32.atomic.rmw8_u.and" (46), align log2: 0, offset: 3) + OnI64ConstExpr(2 (0x2)) + OnAtomicRmwExpr(opcode: "i64.atomic.rmw32_u.sub" (43), align log2: 2, offset: 3) OnDropExpr EndFunctionBody(215) BeginFunctionBody(216) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) OnI32ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i32.atomic.rmw16_u.and" (47), align log2: 1, offset: 3) + OnAtomicRmwExpr(opcode: "i32.atomic.rmw.and" (44), align log2: 2, offset: 3) OnDropExpr EndFunctionBody(216) BeginFunctionBody(217) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) OnI64ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i64.atomic.rmw8_u.and" (48), align log2: 0, offset: 3) + OnAtomicRmwExpr(opcode: "i64.atomic.rmw.and" (45), align log2: 3, offset: 7) OnDropExpr EndFunctionBody(217) BeginFunctionBody(218) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI64ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i64.atomic.rmw16_u.and" (49), align log2: 1, offset: 3) + OnI32ConstExpr(2 (0x2)) + OnAtomicRmwExpr(opcode: "i32.atomic.rmw8_u.and" (46), align log2: 0, offset: 3) OnDropExpr EndFunctionBody(218) BeginFunctionBody(219) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI64ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i64.atomic.rmw32_u.and" (50), align log2: 2, offset: 3) + OnI32ConstExpr(2 (0x2)) + OnAtomicRmwExpr(opcode: "i32.atomic.rmw16_u.and" (47), align log2: 1, offset: 3) OnDropExpr EndFunctionBody(219) BeginFunctionBody(220) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI32ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i32.atomic.rmw.or" (51), align log2: 2, offset: 3) + OnI64ConstExpr(2 (0x2)) + OnAtomicRmwExpr(opcode: "i64.atomic.rmw8_u.and" (48), align log2: 0, offset: 3) OnDropExpr EndFunctionBody(220) BeginFunctionBody(221) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) OnI64ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i64.atomic.rmw.or" (52), align log2: 3, offset: 7) + OnAtomicRmwExpr(opcode: "i64.atomic.rmw16_u.and" (49), align log2: 1, offset: 3) OnDropExpr EndFunctionBody(221) BeginFunctionBody(222) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI32ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i32.atomic.rmw8_u.or" (53), align log2: 0, offset: 3) + OnI64ConstExpr(2 (0x2)) + OnAtomicRmwExpr(opcode: "i64.atomic.rmw32_u.and" (50), align log2: 2, offset: 3) OnDropExpr EndFunctionBody(222) BeginFunctionBody(223) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) OnI32ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i32.atomic.rmw16_u.or" (54), align log2: 1, offset: 3) + OnAtomicRmwExpr(opcode: "i32.atomic.rmw.or" (51), align log2: 2, offset: 3) OnDropExpr EndFunctionBody(223) BeginFunctionBody(224) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) OnI64ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i64.atomic.rmw8_u.or" (55), align log2: 0, offset: 3) + OnAtomicRmwExpr(opcode: "i64.atomic.rmw.or" (52), align log2: 3, offset: 7) OnDropExpr EndFunctionBody(224) BeginFunctionBody(225) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI64ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i64.atomic.rmw16_u.or" (56), align log2: 1, offset: 3) + OnI32ConstExpr(2 (0x2)) + OnAtomicRmwExpr(opcode: "i32.atomic.rmw8_u.or" (53), align log2: 0, offset: 3) OnDropExpr EndFunctionBody(225) BeginFunctionBody(226) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI64ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i64.atomic.rmw32_u.or" (57), align log2: 2, offset: 3) + OnI32ConstExpr(2 (0x2)) + OnAtomicRmwExpr(opcode: "i32.atomic.rmw16_u.or" (54), align log2: 1, offset: 3) OnDropExpr EndFunctionBody(226) BeginFunctionBody(227) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI32ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i32.atomic.rmw.xor" (58), align log2: 2, offset: 3) + OnI64ConstExpr(2 (0x2)) + OnAtomicRmwExpr(opcode: "i64.atomic.rmw8_u.or" (55), align log2: 0, offset: 3) OnDropExpr EndFunctionBody(227) BeginFunctionBody(228) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) OnI64ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i64.atomic.rmw.xor" (59), align log2: 3, offset: 7) + OnAtomicRmwExpr(opcode: "i64.atomic.rmw16_u.or" (56), align log2: 1, offset: 3) OnDropExpr EndFunctionBody(228) BeginFunctionBody(229) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI32ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i32.atomic.rmw8_u.xor" (60), align log2: 0, offset: 3) + OnI64ConstExpr(2 (0x2)) + OnAtomicRmwExpr(opcode: "i64.atomic.rmw32_u.or" (57), align log2: 2, offset: 3) OnDropExpr EndFunctionBody(229) BeginFunctionBody(230) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) OnI32ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i32.atomic.rmw16_u.xor" (61), align log2: 1, offset: 3) + OnAtomicRmwExpr(opcode: "i32.atomic.rmw.xor" (58), align log2: 2, offset: 3) OnDropExpr EndFunctionBody(230) BeginFunctionBody(231) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) OnI64ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i64.atomic.rmw8_u.xor" (62), align log2: 0, offset: 3) + OnAtomicRmwExpr(opcode: "i64.atomic.rmw.xor" (59), align log2: 3, offset: 7) OnDropExpr EndFunctionBody(231) BeginFunctionBody(232) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI64ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i64.atomic.rmw16_u.xor" (63), align log2: 1, offset: 3) + OnI32ConstExpr(2 (0x2)) + OnAtomicRmwExpr(opcode: "i32.atomic.rmw8_u.xor" (60), align log2: 0, offset: 3) OnDropExpr EndFunctionBody(232) BeginFunctionBody(233) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI64ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i64.atomic.rmw32_u.xor" (64), align log2: 2, offset: 3) + OnI32ConstExpr(2 (0x2)) + OnAtomicRmwExpr(opcode: "i32.atomic.rmw16_u.xor" (61), align log2: 1, offset: 3) OnDropExpr EndFunctionBody(233) BeginFunctionBody(234) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI32ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i32.atomic.rmw.xchg" (65), align log2: 2, offset: 3) + OnI64ConstExpr(2 (0x2)) + OnAtomicRmwExpr(opcode: "i64.atomic.rmw8_u.xor" (62), align log2: 0, offset: 3) OnDropExpr EndFunctionBody(234) BeginFunctionBody(235) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) OnI64ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i64.atomic.rmw.xchg" (66), align log2: 3, offset: 7) + OnAtomicRmwExpr(opcode: "i64.atomic.rmw16_u.xor" (63), align log2: 1, offset: 3) OnDropExpr EndFunctionBody(235) BeginFunctionBody(236) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI32ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i32.atomic.rmw8_u.xchg" (67), align log2: 0, offset: 3) + OnI64ConstExpr(2 (0x2)) + OnAtomicRmwExpr(opcode: "i64.atomic.rmw32_u.xor" (64), align log2: 2, offset: 3) OnDropExpr EndFunctionBody(236) BeginFunctionBody(237) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) OnI32ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i32.atomic.rmw16_u.xchg" (68), align log2: 1, offset: 3) + OnAtomicRmwExpr(opcode: "i32.atomic.rmw.xchg" (65), align log2: 2, offset: 3) OnDropExpr EndFunctionBody(237) BeginFunctionBody(238) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) OnI64ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i64.atomic.rmw8_u.xchg" (69), align log2: 0, offset: 3) + OnAtomicRmwExpr(opcode: "i64.atomic.rmw.xchg" (66), align log2: 3, offset: 7) OnDropExpr EndFunctionBody(238) BeginFunctionBody(239) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI64ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i64.atomic.rmw16_u.xchg" (70), align log2: 1, offset: 3) + OnI32ConstExpr(2 (0x2)) + OnAtomicRmwExpr(opcode: "i32.atomic.rmw8_u.xchg" (67), align log2: 0, offset: 3) OnDropExpr EndFunctionBody(239) BeginFunctionBody(240) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI64ConstExpr(2 (0x2)) - OnAtomicRmwExpr(opcode: "i64.atomic.rmw32_u.xchg" (71), align log2: 2, offset: 3) + OnI32ConstExpr(2 (0x2)) + OnAtomicRmwExpr(opcode: "i32.atomic.rmw16_u.xchg" (68), align log2: 1, offset: 3) OnDropExpr EndFunctionBody(240) BeginFunctionBody(241) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI32ConstExpr(2 (0x2)) - OnI32ConstExpr(3 (0x3)) - OnAtomicRmwCmpxchgExpr(opcode: "i32.atomic.rmw.cmpxchg" (72), align log2: 2, offset: 3) + OnI64ConstExpr(2 (0x2)) + OnAtomicRmwExpr(opcode: "i64.atomic.rmw8_u.xchg" (69), align log2: 0, offset: 3) OnDropExpr EndFunctionBody(241) BeginFunctionBody(242) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) OnI64ConstExpr(2 (0x2)) - OnI64ConstExpr(3 (0x3)) - OnAtomicRmwCmpxchgExpr(opcode: "i64.atomic.rmw.cmpxchg" (73), align log2: 3, offset: 7) + OnAtomicRmwExpr(opcode: "i64.atomic.rmw16_u.xchg" (70), align log2: 1, offset: 3) OnDropExpr EndFunctionBody(242) BeginFunctionBody(243) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) - OnI32ConstExpr(2 (0x2)) - OnI32ConstExpr(3 (0x3)) - OnAtomicRmwCmpxchgExpr(opcode: "i32.atomic.rmw8_u.cmpxchg" (74), align log2: 0, offset: 3) + OnI64ConstExpr(2 (0x2)) + OnAtomicRmwExpr(opcode: "i64.atomic.rmw32_u.xchg" (71), align log2: 2, offset: 3) OnDropExpr EndFunctionBody(243) BeginFunctionBody(244) @@ -6527,7 +6596,7 @@ BeginModule(version: 1) OnI32ConstExpr(1 (0x1)) OnI32ConstExpr(2 (0x2)) OnI32ConstExpr(3 (0x3)) - OnAtomicRmwCmpxchgExpr(opcode: "i32.atomic.rmw16_u.cmpxchg" (75), align log2: 1, offset: 3) + OnAtomicRmwCmpxchgExpr(opcode: "i32.atomic.rmw.cmpxchg" (72), align log2: 2, offset: 3) OnDropExpr EndFunctionBody(244) BeginFunctionBody(245) @@ -6535,25 +6604,49 @@ BeginModule(version: 1) OnI32ConstExpr(1 (0x1)) OnI64ConstExpr(2 (0x2)) OnI64ConstExpr(3 (0x3)) - OnAtomicRmwCmpxchgExpr(opcode: "i64.atomic.rmw8_u.cmpxchg" (76), align log2: 0, offset: 3) + OnAtomicRmwCmpxchgExpr(opcode: "i64.atomic.rmw.cmpxchg" (73), align log2: 3, offset: 7) OnDropExpr EndFunctionBody(245) BeginFunctionBody(246) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) + OnI32ConstExpr(2 (0x2)) + OnI32ConstExpr(3 (0x3)) + OnAtomicRmwCmpxchgExpr(opcode: "i32.atomic.rmw8_u.cmpxchg" (74), align log2: 0, offset: 3) + OnDropExpr + EndFunctionBody(246) + BeginFunctionBody(247) + OnLocalDeclCount(0) + OnI32ConstExpr(1 (0x1)) + OnI32ConstExpr(2 (0x2)) + OnI32ConstExpr(3 (0x3)) + OnAtomicRmwCmpxchgExpr(opcode: "i32.atomic.rmw16_u.cmpxchg" (75), align log2: 1, offset: 3) + OnDropExpr + EndFunctionBody(247) + BeginFunctionBody(248) + OnLocalDeclCount(0) + OnI32ConstExpr(1 (0x1)) + OnI64ConstExpr(2 (0x2)) + OnI64ConstExpr(3 (0x3)) + OnAtomicRmwCmpxchgExpr(opcode: "i64.atomic.rmw8_u.cmpxchg" (76), align log2: 0, offset: 3) + OnDropExpr + EndFunctionBody(248) + BeginFunctionBody(249) + OnLocalDeclCount(0) + OnI32ConstExpr(1 (0x1)) OnI64ConstExpr(2 (0x2)) OnI64ConstExpr(3 (0x3)) OnAtomicRmwCmpxchgExpr(opcode: "i64.atomic.rmw16_u.cmpxchg" (77), align log2: 1, offset: 3) OnDropExpr - EndFunctionBody(246) - BeginFunctionBody(247) + EndFunctionBody(249) + BeginFunctionBody(250) OnLocalDeclCount(0) OnI32ConstExpr(1 (0x1)) OnI64ConstExpr(2 (0x2)) OnI64ConstExpr(3 (0x3)) OnAtomicRmwCmpxchgExpr(opcode: "i64.atomic.rmw32_u.cmpxchg" (78), align log2: 2, offset: 3) OnDropExpr - EndFunctionBody(247) + EndFunctionBody(250) EndCodeSection EndModule 0| return @@ -7357,313 +7450,330 @@ EndModule 2615| drop 2616| return 2617| i32.const $1 -2622| i32.atomic.load $0:%[-1]+$3 -2632| drop -2633| return -2634| i32.const $1 -2639| i64.atomic.load $0:%[-1]+$7 -2649| drop -2650| return -2651| i32.const $1 -2656| i32.atomic.load8_u $0:%[-1]+$3 -2666| drop -2667| return -2668| i32.const $1 -2673| i32.atomic.load16_u $0:%[-1]+$3 -2683| drop -2684| return -2685| i32.const $1 -2690| i64.atomic.load8_u $0:%[-1]+$3 -2700| drop -2701| return -2702| i32.const $1 -2707| i64.atomic.load16_u $0:%[-1]+$3 -2717| drop -2718| return -2719| i32.const $1 -2724| i64.atomic.load32_u $0:%[-1]+$3 -2734| drop -2735| return -2736| i32.const $1 -2741| i32.const $2 -2746| i32.atomic.store $0:%[-2]+$3, %[-1] -2756| return -2757| i32.const $1 -2762| i64.const $2 -2771| i64.atomic.store $0:%[-2]+$7, %[-1] -2781| return -2782| i32.const $1 -2787| i32.const $2 -2792| i32.atomic.store8 $0:%[-2]+$3, %[-1] -2802| return -2803| i32.const $1 -2808| i32.const $2 -2813| i32.atomic.store16 $0:%[-2]+$3, %[-1] +2622| i32.const $2 +2627| wake $0:%[-2]+$3, %[-1] +2637| drop +2638| return +2639| i32.const $1 +2644| i32.const $2 +2649| i64.const $3 +2658| i32.wait $0:%[-3]+$3, %[-2], %[-1] +2668| drop +2669| return +2670| i32.const $1 +2675| i64.const $2 +2684| i64.const $3 +2693| i64.wait $0:%[-3]+$3, %[-2], %[-1] +2703| drop +2704| return +2705| i32.const $1 +2710| i32.atomic.load $0:%[-1]+$3 +2720| drop +2721| return +2722| i32.const $1 +2727| i64.atomic.load $0:%[-1]+$7 +2737| drop +2738| return +2739| i32.const $1 +2744| i32.atomic.load8_u $0:%[-1]+$3 +2754| drop +2755| return +2756| i32.const $1 +2761| i32.atomic.load16_u $0:%[-1]+$3 +2771| drop +2772| return +2773| i32.const $1 +2778| i64.atomic.load8_u $0:%[-1]+$3 +2788| drop +2789| return +2790| i32.const $1 +2795| i64.atomic.load16_u $0:%[-1]+$3 +2805| drop +2806| return +2807| i32.const $1 +2812| i64.atomic.load32_u $0:%[-1]+$3 +2822| drop 2823| return 2824| i32.const $1 -2829| i64.const $2 -2838| i64.atomic.store8 $0:%[-2]+$3, %[-1] -2848| return -2849| i32.const $1 -2854| i64.const $2 -2863| i64.atomic.store16 $0:%[-2]+$3, %[-1] -2873| return -2874| i32.const $1 -2879| i64.const $2 -2888| i64.atomic.store32 $0:%[-2]+$3, %[-1] -2898| return -2899| i32.const $1 -2904| i32.const $2 -2909| i32.atomic.rmw.add $0:%[-2]+$3, %[-1] -2919| drop -2920| return -2921| i32.const $1 -2926| i64.const $2 -2935| i64.atomic.rmw.add $0:%[-2]+$7, %[-1] -2945| drop -2946| return -2947| i32.const $1 -2952| i32.const $2 -2957| i32.atomic.rmw8_u.add $0:%[-2]+$3, %[-1] -2967| drop -2968| return -2969| i32.const $1 -2974| i32.const $2 -2979| i32.atomic.rmw16_u.add $0:%[-2]+$3, %[-1] -2989| drop -2990| return -2991| i32.const $1 -2996| i64.const $2 -3005| i64.atomic.rmw8_u.add $0:%[-2]+$3, %[-1] -3015| drop -3016| return -3017| i32.const $1 -3022| i64.const $2 -3031| i64.atomic.rmw16_u.add $0:%[-2]+$3, %[-1] -3041| drop -3042| return -3043| i32.const $1 -3048| i64.const $2 -3057| i64.atomic.rmw32_u.add $0:%[-2]+$3, %[-1] -3067| drop -3068| return -3069| i32.const $1 -3074| i32.const $2 -3079| i32.atomic.rmw.sub $0:%[-2]+$3, %[-1] -3089| drop -3090| return -3091| i32.const $1 -3096| i64.const $2 -3105| i64.atomic.rmw.sub $0:%[-2]+$7, %[-1] -3115| drop -3116| return -3117| i32.const $1 -3122| i32.const $2 -3127| i32.atomic.rmw8_u.sub $0:%[-2]+$3, %[-1] -3137| drop -3138| return -3139| i32.const $1 -3144| i32.const $2 -3149| i32.atomic.rmw16_u.sub $0:%[-2]+$3, %[-1] -3159| drop -3160| return -3161| i32.const $1 -3166| i64.const $2 -3175| i64.atomic.rmw8_u.sub $0:%[-2]+$3, %[-1] -3185| drop -3186| return -3187| i32.const $1 -3192| i64.const $2 -3201| i64.atomic.rmw16_u.sub $0:%[-2]+$3, %[-1] -3211| drop -3212| return -3213| i32.const $1 -3218| i64.const $2 -3227| i64.atomic.rmw32_u.sub $0:%[-2]+$3, %[-1] -3237| drop -3238| return -3239| i32.const $1 -3244| i32.const $2 -3249| i32.atomic.rmw.and $0:%[-2]+$3, %[-1] -3259| drop -3260| return -3261| i32.const $1 -3266| i64.const $2 -3275| i64.atomic.rmw.and $0:%[-2]+$7, %[-1] -3285| drop -3286| return -3287| i32.const $1 -3292| i32.const $2 -3297| i32.atomic.rmw8_u.and $0:%[-2]+$3, %[-1] -3307| drop -3308| return -3309| i32.const $1 -3314| i32.const $2 -3319| i32.atomic.rmw16_u.and $0:%[-2]+$3, %[-1] -3329| drop -3330| return -3331| i32.const $1 -3336| i64.const $2 -3345| i64.atomic.rmw8_u.and $0:%[-2]+$3, %[-1] -3355| drop -3356| return -3357| i32.const $1 -3362| i64.const $2 -3371| i64.atomic.rmw16_u.and $0:%[-2]+$3, %[-1] -3381| drop -3382| return -3383| i32.const $1 -3388| i64.const $2 -3397| i64.atomic.rmw32_u.and $0:%[-2]+$3, %[-1] -3407| drop -3408| return -3409| i32.const $1 -3414| i32.const $2 -3419| i32.atomic.rmw.or $0:%[-2]+$3, %[-1] -3429| drop -3430| return -3431| i32.const $1 -3436| i64.const $2 -3445| i64.atomic.rmw.or $0:%[-2]+$7, %[-1] -3455| drop -3456| return -3457| i32.const $1 -3462| i32.const $2 -3467| i32.atomic.rmw8_u.or $0:%[-2]+$3, %[-1] -3477| drop -3478| return -3479| i32.const $1 -3484| i32.const $2 -3489| i32.atomic.rmw16_u.or $0:%[-2]+$3, %[-1] -3499| drop -3500| return -3501| i32.const $1 -3506| i64.const $2 -3515| i64.atomic.rmw8_u.or $0:%[-2]+$3, %[-1] -3525| drop -3526| return -3527| i32.const $1 -3532| i64.const $2 -3541| i64.atomic.rmw16_u.or $0:%[-2]+$3, %[-1] -3551| drop -3552| return -3553| i32.const $1 -3558| i64.const $2 -3567| i64.atomic.rmw32_u.or $0:%[-2]+$3, %[-1] -3577| drop -3578| return -3579| i32.const $1 -3584| i32.const $2 -3589| i32.atomic.rmw.xor $0:%[-2]+$3, %[-1] -3599| drop -3600| return -3601| i32.const $1 -3606| i64.const $2 -3615| i64.atomic.rmw.xor $0:%[-2]+$7, %[-1] -3625| drop -3626| return -3627| i32.const $1 -3632| i32.const $2 -3637| i32.atomic.rmw8_u.xor $0:%[-2]+$3, %[-1] -3647| drop -3648| return -3649| i32.const $1 -3654| i32.const $2 -3659| i32.atomic.rmw16_u.xor $0:%[-2]+$3, %[-1] -3669| drop -3670| return -3671| i32.const $1 -3676| i64.const $2 -3685| i64.atomic.rmw8_u.xor $0:%[-2]+$3, %[-1] -3695| drop -3696| return -3697| i32.const $1 -3702| i64.const $2 -3711| i64.atomic.rmw16_u.xor $0:%[-2]+$3, %[-1] -3721| drop -3722| return -3723| i32.const $1 -3728| i64.const $2 -3737| i64.atomic.rmw32_u.xor $0:%[-2]+$3, %[-1] -3747| drop -3748| return -3749| i32.const $1 -3754| i32.const $2 -3759| i32.atomic.rmw.xchg $0:%[-2]+$3, %[-1] -3769| drop -3770| return -3771| i32.const $1 -3776| i64.const $2 -3785| i64.atomic.rmw.xchg $0:%[-2]+$7, %[-1] -3795| drop -3796| return -3797| i32.const $1 -3802| i32.const $2 -3807| i32.atomic.rmw8_u.xchg $0:%[-2]+$3, %[-1] -3817| drop -3818| return -3819| i32.const $1 -3824| i32.const $2 -3829| i32.atomic.rmw16_u.xchg $0:%[-2]+$3, %[-1] -3839| drop -3840| return -3841| i32.const $1 -3846| i64.const $2 -3855| i64.atomic.rmw8_u.xchg $0:%[-2]+$3, %[-1] -3865| drop -3866| return -3867| i32.const $1 -3872| i64.const $2 -3881| i64.atomic.rmw16_u.xchg $0:%[-2]+$3, %[-1] -3891| drop -3892| return -3893| i32.const $1 -3898| i64.const $2 -3907| i64.atomic.rmw32_u.xchg $0:%[-2]+$3, %[-1] -3917| drop -3918| return -3919| i32.const $1 -3924| i32.const $2 -3929| i32.const $3 -3934| i32.atomic.rmw.cmpxchg $0:%[-3]+$3, %[-2], %[-1] -3944| drop -3945| return -3946| i32.const $1 -3951| i64.const $2 -3960| i64.const $3 -3969| i64.atomic.rmw.cmpxchg $0:%[-3]+$7, %[-2], %[-1] +2829| i32.const $2 +2834| i32.atomic.store $0:%[-2]+$3, %[-1] +2844| return +2845| i32.const $1 +2850| i64.const $2 +2859| i64.atomic.store $0:%[-2]+$7, %[-1] +2869| return +2870| i32.const $1 +2875| i32.const $2 +2880| i32.atomic.store8 $0:%[-2]+$3, %[-1] +2890| return +2891| i32.const $1 +2896| i32.const $2 +2901| i32.atomic.store16 $0:%[-2]+$3, %[-1] +2911| return +2912| i32.const $1 +2917| i64.const $2 +2926| i64.atomic.store8 $0:%[-2]+$3, %[-1] +2936| return +2937| i32.const $1 +2942| i64.const $2 +2951| i64.atomic.store16 $0:%[-2]+$3, %[-1] +2961| return +2962| i32.const $1 +2967| i64.const $2 +2976| i64.atomic.store32 $0:%[-2]+$3, %[-1] +2986| return +2987| i32.const $1 +2992| i32.const $2 +2997| i32.atomic.rmw.add $0:%[-2]+$3, %[-1] +3007| drop +3008| return +3009| i32.const $1 +3014| i64.const $2 +3023| i64.atomic.rmw.add $0:%[-2]+$7, %[-1] +3033| drop +3034| return +3035| i32.const $1 +3040| i32.const $2 +3045| i32.atomic.rmw8_u.add $0:%[-2]+$3, %[-1] +3055| drop +3056| return +3057| i32.const $1 +3062| i32.const $2 +3067| i32.atomic.rmw16_u.add $0:%[-2]+$3, %[-1] +3077| drop +3078| return +3079| i32.const $1 +3084| i64.const $2 +3093| i64.atomic.rmw8_u.add $0:%[-2]+$3, %[-1] +3103| drop +3104| return +3105| i32.const $1 +3110| i64.const $2 +3119| i64.atomic.rmw16_u.add $0:%[-2]+$3, %[-1] +3129| drop +3130| return +3131| i32.const $1 +3136| i64.const $2 +3145| i64.atomic.rmw32_u.add $0:%[-2]+$3, %[-1] +3155| drop +3156| return +3157| i32.const $1 +3162| i32.const $2 +3167| i32.atomic.rmw.sub $0:%[-2]+$3, %[-1] +3177| drop +3178| return +3179| i32.const $1 +3184| i64.const $2 +3193| i64.atomic.rmw.sub $0:%[-2]+$7, %[-1] +3203| drop +3204| return +3205| i32.const $1 +3210| i32.const $2 +3215| i32.atomic.rmw8_u.sub $0:%[-2]+$3, %[-1] +3225| drop +3226| return +3227| i32.const $1 +3232| i32.const $2 +3237| i32.atomic.rmw16_u.sub $0:%[-2]+$3, %[-1] +3247| drop +3248| return +3249| i32.const $1 +3254| i64.const $2 +3263| i64.atomic.rmw8_u.sub $0:%[-2]+$3, %[-1] +3273| drop +3274| return +3275| i32.const $1 +3280| i64.const $2 +3289| i64.atomic.rmw16_u.sub $0:%[-2]+$3, %[-1] +3299| drop +3300| return +3301| i32.const $1 +3306| i64.const $2 +3315| i64.atomic.rmw32_u.sub $0:%[-2]+$3, %[-1] +3325| drop +3326| return +3327| i32.const $1 +3332| i32.const $2 +3337| i32.atomic.rmw.and $0:%[-2]+$3, %[-1] +3347| drop +3348| return +3349| i32.const $1 +3354| i64.const $2 +3363| i64.atomic.rmw.and $0:%[-2]+$7, %[-1] +3373| drop +3374| return +3375| i32.const $1 +3380| i32.const $2 +3385| i32.atomic.rmw8_u.and $0:%[-2]+$3, %[-1] +3395| drop +3396| return +3397| i32.const $1 +3402| i32.const $2 +3407| i32.atomic.rmw16_u.and $0:%[-2]+$3, %[-1] +3417| drop +3418| return +3419| i32.const $1 +3424| i64.const $2 +3433| i64.atomic.rmw8_u.and $0:%[-2]+$3, %[-1] +3443| drop +3444| return +3445| i32.const $1 +3450| i64.const $2 +3459| i64.atomic.rmw16_u.and $0:%[-2]+$3, %[-1] +3469| drop +3470| return +3471| i32.const $1 +3476| i64.const $2 +3485| i64.atomic.rmw32_u.and $0:%[-2]+$3, %[-1] +3495| drop +3496| return +3497| i32.const $1 +3502| i32.const $2 +3507| i32.atomic.rmw.or $0:%[-2]+$3, %[-1] +3517| drop +3518| return +3519| i32.const $1 +3524| i64.const $2 +3533| i64.atomic.rmw.or $0:%[-2]+$7, %[-1] +3543| drop +3544| return +3545| i32.const $1 +3550| i32.const $2 +3555| i32.atomic.rmw8_u.or $0:%[-2]+$3, %[-1] +3565| drop +3566| return +3567| i32.const $1 +3572| i32.const $2 +3577| i32.atomic.rmw16_u.or $0:%[-2]+$3, %[-1] +3587| drop +3588| return +3589| i32.const $1 +3594| i64.const $2 +3603| i64.atomic.rmw8_u.or $0:%[-2]+$3, %[-1] +3613| drop +3614| return +3615| i32.const $1 +3620| i64.const $2 +3629| i64.atomic.rmw16_u.or $0:%[-2]+$3, %[-1] +3639| drop +3640| return +3641| i32.const $1 +3646| i64.const $2 +3655| i64.atomic.rmw32_u.or $0:%[-2]+$3, %[-1] +3665| drop +3666| return +3667| i32.const $1 +3672| i32.const $2 +3677| i32.atomic.rmw.xor $0:%[-2]+$3, %[-1] +3687| drop +3688| return +3689| i32.const $1 +3694| i64.const $2 +3703| i64.atomic.rmw.xor $0:%[-2]+$7, %[-1] +3713| drop +3714| return +3715| i32.const $1 +3720| i32.const $2 +3725| i32.atomic.rmw8_u.xor $0:%[-2]+$3, %[-1] +3735| drop +3736| return +3737| i32.const $1 +3742| i32.const $2 +3747| i32.atomic.rmw16_u.xor $0:%[-2]+$3, %[-1] +3757| drop +3758| return +3759| i32.const $1 +3764| i64.const $2 +3773| i64.atomic.rmw8_u.xor $0:%[-2]+$3, %[-1] +3783| drop +3784| return +3785| i32.const $1 +3790| i64.const $2 +3799| i64.atomic.rmw16_u.xor $0:%[-2]+$3, %[-1] +3809| drop +3810| return +3811| i32.const $1 +3816| i64.const $2 +3825| i64.atomic.rmw32_u.xor $0:%[-2]+$3, %[-1] +3835| drop +3836| return +3837| i32.const $1 +3842| i32.const $2 +3847| i32.atomic.rmw.xchg $0:%[-2]+$3, %[-1] +3857| drop +3858| return +3859| i32.const $1 +3864| i64.const $2 +3873| i64.atomic.rmw.xchg $0:%[-2]+$7, %[-1] +3883| drop +3884| return +3885| i32.const $1 +3890| i32.const $2 +3895| i32.atomic.rmw8_u.xchg $0:%[-2]+$3, %[-1] +3905| drop +3906| return +3907| i32.const $1 +3912| i32.const $2 +3917| i32.atomic.rmw16_u.xchg $0:%[-2]+$3, %[-1] +3927| drop +3928| return +3929| i32.const $1 +3934| i64.const $2 +3943| i64.atomic.rmw8_u.xchg $0:%[-2]+$3, %[-1] +3953| drop +3954| return +3955| i32.const $1 +3960| i64.const $2 +3969| i64.atomic.rmw16_u.xchg $0:%[-2]+$3, %[-1] 3979| drop 3980| return 3981| i32.const $1 -3986| i32.const $2 -3991| i32.const $3 -3996| i32.atomic.rmw8_u.cmpxchg $0:%[-3]+$3, %[-2], %[-1] -4006| drop -4007| return -4008| i32.const $1 -4013| i32.const $2 -4018| i32.const $3 -4023| i32.atomic.rmw16_u.cmpxchg $0:%[-3]+$3, %[-2], %[-1] -4033| drop -4034| return -4035| i32.const $1 -4040| i64.const $2 -4049| i64.const $3 -4058| i64.atomic.rmw8_u.cmpxchg $0:%[-3]+$3, %[-2], %[-1] -4068| drop -4069| return -4070| i32.const $1 -4075| i64.const $2 -4084| i64.const $3 -4093| i64.atomic.rmw16_u.cmpxchg $0:%[-3]+$3, %[-2], %[-1] -4103| drop -4104| return -4105| i32.const $1 -4110| i64.const $2 -4119| i64.const $3 -4128| i64.atomic.rmw32_u.cmpxchg $0:%[-3]+$3, %[-2], %[-1] -4138| drop -4139| return +3986| i64.const $2 +3995| i64.atomic.rmw32_u.xchg $0:%[-2]+$3, %[-1] +4005| drop +4006| return +4007| i32.const $1 +4012| i32.const $2 +4017| i32.const $3 +4022| i32.atomic.rmw.cmpxchg $0:%[-3]+$3, %[-2], %[-1] +4032| drop +4033| return +4034| i32.const $1 +4039| i64.const $2 +4048| i64.const $3 +4057| i64.atomic.rmw.cmpxchg $0:%[-3]+$7, %[-2], %[-1] +4067| drop +4068| return +4069| i32.const $1 +4074| i32.const $2 +4079| i32.const $3 +4084| i32.atomic.rmw8_u.cmpxchg $0:%[-3]+$3, %[-2], %[-1] +4094| drop +4095| return +4096| i32.const $1 +4101| i32.const $2 +4106| i32.const $3 +4111| i32.atomic.rmw16_u.cmpxchg $0:%[-3]+$3, %[-2], %[-1] +4121| drop +4122| return +4123| i32.const $1 +4128| i64.const $2 +4137| i64.const $3 +4146| i64.atomic.rmw8_u.cmpxchg $0:%[-3]+$3, %[-2], %[-1] +4156| drop +4157| return +4158| i32.const $1 +4163| i64.const $2 +4172| i64.const $3 +4181| i64.atomic.rmw16_u.cmpxchg $0:%[-3]+$3, %[-2], %[-1] +4191| drop +4192| return +4193| i32.const $1 +4198| i64.const $2 +4207| i64.const $3 +4216| i64.atomic.rmw32_u.cmpxchg $0:%[-3]+$3, %[-2], %[-1] +4226| drop +4227| return unreachable() => error: unreachable executed br() => br_table() => @@ -7848,6 +7958,9 @@ i64.trunc_s:sat/f32() => i64.trunc_u:sat/f32() => i64.trunc_s:sat/f64() => i64.trunc_u:sat/f64() => +wake() => error: unreachable executed +i32.wait() => error: unreachable executed +i64.wait() => error: unreachable executed i32.atomic.load() => i64.atomic.load() => i32.atomic.load8_u() => diff --git a/test/interp/tracing-all-opcodes.txt b/test/interp/tracing-all-opcodes.txt index 1ec50ace..d23cf538 100644 --- a/test/interp/tracing-all-opcodes.txt +++ b/test/interp/tracing-all-opcodes.txt @@ -213,6 +213,9 @@ (; 0xfc 0x07 ;) (func (export "i64.trunc_u:sat/f64") f64.const 1 i64.trunc_u:sat/f64 drop) ;; --enable-threads + (; 0xfe 0x00 ;) (func (export "wake") i32.const 1 i32.const 2 wake offset=3 drop) + (; 0xfe 0x01 ;) (func (export "i32.wait") i32.const 1 i32.const 2 i64.const 3 i32.wait offset=3 drop) + (; 0xfe 0x02 ;) (func (export "i64.wait") i32.const 1 i64.const 2 i64.const 3 i64.wait offset=3 drop) (; 0xfe 0x10 ;) (func (export "i32.atomic.load") i32.const 1 i32.atomic.load offset=3 drop) (; 0xfe 0x11 ;) (func (export "i64.atomic.load") i32.const 1 i64.atomic.load offset=7 drop) (; 0xfe 0x12 ;) (func (export "i32.atomic.load8_u") i32.const 1 i32.atomic.load8_u offset=3 drop) @@ -1436,438 +1439,455 @@ i64.trunc_s:sat/f64() => #0. 2586: V:1 | drop #0. 2587: V:0 | return i64.trunc_u:sat/f64() => ->>> running export "i32.atomic.load": +>>> running export "wake": #0. 2588: V:0 | i32.const $1 -#0. 2593: V:1 | i32.atomic.load $0:1+$3 -#0. 2603: V:1 | drop -#0. 2604: V:0 | return +#0. 2593: V:1 | i32.const $2 +#0. 2598: V:2 | wake $0:1+$3, 2 +wake() => error: unreachable executed +>>> running export "i32.wait": +#0. 2610: V:0 | i32.const $1 +#0. 2615: V:1 | i32.const $2 +#0. 2620: V:2 | i64.const $3 +#0. 2629: V:3 | i32.wait $0:1+$3, 2, 3 +i32.wait() => error: unreachable executed +>>> running export "i64.wait": +#0. 2641: V:0 | i32.const $1 +#0. 2646: V:1 | i64.const $2 +#0. 2655: V:2 | i64.const $3 +#0. 2664: V:3 | i64.wait $0:1+$3, 2, 3 +i64.wait() => error: unreachable executed +>>> running export "i32.atomic.load": +#0. 2676: V:0 | i32.const $1 +#0. 2681: V:1 | i32.atomic.load $0:1+$3 +#0. 2691: V:1 | drop +#0. 2692: V:0 | return i32.atomic.load() => >>> running export "i64.atomic.load": -#0. 2605: V:0 | i32.const $1 -#0. 2610: V:1 | i64.atomic.load $0:1+$7 -#0. 2620: V:1 | drop -#0. 2621: V:0 | return +#0. 2693: V:0 | i32.const $1 +#0. 2698: V:1 | i64.atomic.load $0:1+$7 +#0. 2708: V:1 | drop +#0. 2709: V:0 | return i64.atomic.load() => >>> running export "i32.atomic.load8_u": -#0. 2622: V:0 | i32.const $1 -#0. 2627: V:1 | i32.atomic.load8_u $0:1+$3 -#0. 2637: V:1 | drop -#0. 2638: V:0 | return +#0. 2710: V:0 | i32.const $1 +#0. 2715: V:1 | i32.atomic.load8_u $0:1+$3 +#0. 2725: V:1 | drop +#0. 2726: V:0 | return i32.atomic.load8_u() => >>> running export "i32.atomic.load16_u": -#0. 2639: V:0 | i32.const $1 -#0. 2644: V:1 | i32.atomic.load16_u $0:1+$3 -#0. 2654: V:1 | drop -#0. 2655: V:0 | return +#0. 2727: V:0 | i32.const $1 +#0. 2732: V:1 | i32.atomic.load16_u $0:1+$3 +#0. 2742: V:1 | drop +#0. 2743: V:0 | return i32.atomic.load16_u() => >>> running export "i64.atomic.load8_u": -#0. 2656: V:0 | i32.const $1 -#0. 2661: V:1 | i64.atomic.load8_u $0:1+$3 -#0. 2671: V:1 | drop -#0. 2672: V:0 | return +#0. 2744: V:0 | i32.const $1 +#0. 2749: V:1 | i64.atomic.load8_u $0:1+$3 +#0. 2759: V:1 | drop +#0. 2760: V:0 | return i64.atomic.load8_u() => >>> running export "i64.atomic.load16_u": -#0. 2673: V:0 | i32.const $1 -#0. 2678: V:1 | i64.atomic.load16_u $0:1+$3 -#0. 2688: V:1 | drop -#0. 2689: V:0 | return +#0. 2761: V:0 | i32.const $1 +#0. 2766: V:1 | i64.atomic.load16_u $0:1+$3 +#0. 2776: V:1 | drop +#0. 2777: V:0 | return i64.atomic.load16_u() => >>> running export "i64.atomic.load32_u": -#0. 2690: V:0 | i32.const $1 -#0. 2695: V:1 | i64.atomic.load32_u $0:1+$3 -#0. 2705: V:1 | drop -#0. 2706: V:0 | return +#0. 2778: V:0 | i32.const $1 +#0. 2783: V:1 | i64.atomic.load32_u $0:1+$3 +#0. 2793: V:1 | drop +#0. 2794: V:0 | return i64.atomic.load32_u() => >>> running export "i32.atomic.store": -#0. 2707: V:0 | i32.const $1 -#0. 2712: V:1 | i32.const $2 -#0. 2717: V:2 | i32.atomic.store $0:1+$3, 2 -#0. 2727: V:0 | return +#0. 2795: V:0 | i32.const $1 +#0. 2800: V:1 | i32.const $2 +#0. 2805: V:2 | i32.atomic.store $0:1+$3, 2 +#0. 2815: V:0 | return i32.atomic.store() => >>> running export "i64.atomic.store": -#0. 2728: V:0 | i32.const $1 -#0. 2733: V:1 | i64.const $2 -#0. 2742: V:2 | i64.atomic.store $0:1+$7, 2 -#0. 2752: V:0 | return +#0. 2816: V:0 | i32.const $1 +#0. 2821: V:1 | i64.const $2 +#0. 2830: V:2 | i64.atomic.store $0:1+$7, 2 +#0. 2840: V:0 | return i64.atomic.store() => >>> running export "i32.atomic.store8": -#0. 2753: V:0 | i32.const $1 -#0. 2758: V:1 | i32.const $2 -#0. 2763: V:2 | i32.atomic.store8 $0:1+$3, 2 -#0. 2773: V:0 | return +#0. 2841: V:0 | i32.const $1 +#0. 2846: V:1 | i32.const $2 +#0. 2851: V:2 | i32.atomic.store8 $0:1+$3, 2 +#0. 2861: V:0 | return i32.atomic.store8() => >>> running export "i32.atomic.store16": -#0. 2774: V:0 | i32.const $1 -#0. 2779: V:1 | i32.const $2 -#0. 2784: V:2 | i32.atomic.store16 $0:1+$3, 2 -#0. 2794: V:0 | return +#0. 2862: V:0 | i32.const $1 +#0. 2867: V:1 | i32.const $2 +#0. 2872: V:2 | i32.atomic.store16 $0:1+$3, 2 +#0. 2882: V:0 | return i32.atomic.store16() => >>> running export "i64.atomic.store8": -#0. 2795: V:0 | i32.const $1 -#0. 2800: V:1 | i64.const $2 -#0. 2809: V:2 | i64.atomic.store8 $0:1+$3, 2 -#0. 2819: V:0 | return +#0. 2883: V:0 | i32.const $1 +#0. 2888: V:1 | i64.const $2 +#0. 2897: V:2 | i64.atomic.store8 $0:1+$3, 2 +#0. 2907: V:0 | return i64.atomic.store8() => >>> running export "i64.atomic.store16": -#0. 2820: V:0 | i32.const $1 -#0. 2825: V:1 | i64.const $2 -#0. 2834: V:2 | i64.atomic.store16 $0:1+$3, 2 -#0. 2844: V:0 | return +#0. 2908: V:0 | i32.const $1 +#0. 2913: V:1 | i64.const $2 +#0. 2922: V:2 | i64.atomic.store16 $0:1+$3, 2 +#0. 2932: V:0 | return i64.atomic.store16() => >>> running export "i64.atomic.store32": -#0. 2845: V:0 | i32.const $1 -#0. 2850: V:1 | i64.const $2 -#0. 2859: V:2 | i64.atomic.store32 $0:1+$3, 2 -#0. 2869: V:0 | return +#0. 2933: V:0 | i32.const $1 +#0. 2938: V:1 | i64.const $2 +#0. 2947: V:2 | i64.atomic.store32 $0:1+$3, 2 +#0. 2957: V:0 | return i64.atomic.store32() => >>> running export "i32.atomic.rmw.add": -#0. 2870: V:0 | i32.const $1 -#0. 2875: V:1 | i32.const $2 -#0. 2880: V:2 | i32.atomic.rmw.add $0:1+$3, 2 -#0. 2890: V:1 | drop -#0. 2891: V:0 | return +#0. 2958: V:0 | i32.const $1 +#0. 2963: V:1 | i32.const $2 +#0. 2968: V:2 | i32.atomic.rmw.add $0:1+$3, 2 +#0. 2978: V:1 | drop +#0. 2979: V:0 | return i32.atomic.rmw.add() => >>> running export "i64.atomic.rmw.add": -#0. 2892: V:0 | i32.const $1 -#0. 2897: V:1 | i64.const $2 -#0. 2906: V:2 | i64.atomic.rmw.add $0:1+$7, 2 -#0. 2916: V:1 | drop -#0. 2917: V:0 | return +#0. 2980: V:0 | i32.const $1 +#0. 2985: V:1 | i64.const $2 +#0. 2994: V:2 | i64.atomic.rmw.add $0:1+$7, 2 +#0. 3004: V:1 | drop +#0. 3005: V:0 | return i64.atomic.rmw.add() => >>> running export "i32.atomic.rmw8_u.add": -#0. 2918: V:0 | i32.const $1 -#0. 2923: V:1 | i32.const $2 -#0. 2928: V:2 | i32.atomic.rmw8_u.add $0:1+$3, 2 -#0. 2938: V:1 | drop -#0. 2939: V:0 | return +#0. 3006: V:0 | i32.const $1 +#0. 3011: V:1 | i32.const $2 +#0. 3016: V:2 | i32.atomic.rmw8_u.add $0:1+$3, 2 +#0. 3026: V:1 | drop +#0. 3027: V:0 | return i32.atomic.rmw8_u.add() => >>> running export "i32.atomic.rmw16_u.add": -#0. 2940: V:0 | i32.const $1 -#0. 2945: V:1 | i32.const $2 -#0. 2950: V:2 | i32.atomic.rmw16_u.add $0:1+$3, 2 -#0. 2960: V:1 | drop -#0. 2961: V:0 | return +#0. 3028: V:0 | i32.const $1 +#0. 3033: V:1 | i32.const $2 +#0. 3038: V:2 | i32.atomic.rmw16_u.add $0:1+$3, 2 +#0. 3048: V:1 | drop +#0. 3049: V:0 | return i32.atomic.rmw16_u.add() => >>> running export "i64.atomic.rmw8_u.add": -#0. 2962: V:0 | i32.const $1 -#0. 2967: V:1 | i64.const $2 -#0. 2976: V:2 | i64.atomic.rmw8_u.add $0:1+$3, 2 -#0. 2986: V:1 | drop -#0. 2987: V:0 | return +#0. 3050: V:0 | i32.const $1 +#0. 3055: V:1 | i64.const $2 +#0. 3064: V:2 | i64.atomic.rmw8_u.add $0:1+$3, 2 +#0. 3074: V:1 | drop +#0. 3075: V:0 | return i64.atomic.rmw8_u.add() => >>> running export "i64.atomic.rmw16_u.add": -#0. 2988: V:0 | i32.const $1 -#0. 2993: V:1 | i64.const $2 -#0. 3002: V:2 | i64.atomic.rmw16_u.add $0:1+$3, 2 -#0. 3012: V:1 | drop -#0. 3013: V:0 | return +#0. 3076: V:0 | i32.const $1 +#0. 3081: V:1 | i64.const $2 +#0. 3090: V:2 | i64.atomic.rmw16_u.add $0:1+$3, 2 +#0. 3100: V:1 | drop +#0. 3101: V:0 | return i64.atomic.rmw16_u.add() => >>> running export "i64.atomic.rmw32_u.add": -#0. 3014: V:0 | i32.const $1 -#0. 3019: V:1 | i64.const $2 -#0. 3028: V:2 | i64.atomic.rmw32_u.add $0:1+$3, 2 -#0. 3038: V:1 | drop -#0. 3039: V:0 | return +#0. 3102: V:0 | i32.const $1 +#0. 3107: V:1 | i64.const $2 +#0. 3116: V:2 | i64.atomic.rmw32_u.add $0:1+$3, 2 +#0. 3126: V:1 | drop +#0. 3127: V:0 | return i64.atomic.rmw32_u.add() => >>> running export "i32.atomic.rmw.sub": -#0. 3040: V:0 | i32.const $1 -#0. 3045: V:1 | i32.const $2 -#0. 3050: V:2 | i32.atomic.rmw.sub $0:1+$3, 2 -#0. 3060: V:1 | drop -#0. 3061: V:0 | return +#0. 3128: V:0 | i32.const $1 +#0. 3133: V:1 | i32.const $2 +#0. 3138: V:2 | i32.atomic.rmw.sub $0:1+$3, 2 +#0. 3148: V:1 | drop +#0. 3149: V:0 | return i32.atomic.rmw.sub() => >>> running export "i64.atomic.rmw.sub": -#0. 3062: V:0 | i32.const $1 -#0. 3067: V:1 | i64.const $2 -#0. 3076: V:2 | i64.atomic.rmw.sub $0:1+$7, 2 -#0. 3086: V:1 | drop -#0. 3087: V:0 | return +#0. 3150: V:0 | i32.const $1 +#0. 3155: V:1 | i64.const $2 +#0. 3164: V:2 | i64.atomic.rmw.sub $0:1+$7, 2 +#0. 3174: V:1 | drop +#0. 3175: V:0 | return i64.atomic.rmw.sub() => >>> running export "i32.atomic.rmw8_u.sub": -#0. 3088: V:0 | i32.const $1 -#0. 3093: V:1 | i32.const $2 -#0. 3098: V:2 | i32.atomic.rmw8_u.sub $0:1+$3, 2 -#0. 3108: V:1 | drop -#0. 3109: V:0 | return +#0. 3176: V:0 | i32.const $1 +#0. 3181: V:1 | i32.const $2 +#0. 3186: V:2 | i32.atomic.rmw8_u.sub $0:1+$3, 2 +#0. 3196: V:1 | drop +#0. 3197: V:0 | return i32.atomic.rmw8_u.sub() => >>> running export "i32.atomic.rmw16_u.sub": -#0. 3110: V:0 | i32.const $1 -#0. 3115: V:1 | i32.const $2 -#0. 3120: V:2 | i32.atomic.rmw16_u.sub $0:1+$3, 2 -#0. 3130: V:1 | drop -#0. 3131: V:0 | return +#0. 3198: V:0 | i32.const $1 +#0. 3203: V:1 | i32.const $2 +#0. 3208: V:2 | i32.atomic.rmw16_u.sub $0:1+$3, 2 +#0. 3218: V:1 | drop +#0. 3219: V:0 | return i32.atomic.rmw16_u.sub() => >>> running export "i64.atomic.rmw8_u.sub": -#0. 3132: V:0 | i32.const $1 -#0. 3137: V:1 | i64.const $2 -#0. 3146: V:2 | i64.atomic.rmw8_u.sub $0:1+$3, 2 -#0. 3156: V:1 | drop -#0. 3157: V:0 | return +#0. 3220: V:0 | i32.const $1 +#0. 3225: V:1 | i64.const $2 +#0. 3234: V:2 | i64.atomic.rmw8_u.sub $0:1+$3, 2 +#0. 3244: V:1 | drop +#0. 3245: V:0 | return i64.atomic.rmw8_u.sub() => >>> running export "i64.atomic.rmw16_u.sub": -#0. 3158: V:0 | i32.const $1 -#0. 3163: V:1 | i64.const $2 -#0. 3172: V:2 | i64.atomic.rmw16_u.sub $0:1+$3, 2 -#0. 3182: V:1 | drop -#0. 3183: V:0 | return +#0. 3246: V:0 | i32.const $1 +#0. 3251: V:1 | i64.const $2 +#0. 3260: V:2 | i64.atomic.rmw16_u.sub $0:1+$3, 2 +#0. 3270: V:1 | drop +#0. 3271: V:0 | return i64.atomic.rmw16_u.sub() => >>> running export "i64.atomic.rmw32_u.sub": -#0. 3184: V:0 | i32.const $1 -#0. 3189: V:1 | i64.const $2 -#0. 3198: V:2 | i64.atomic.rmw32_u.sub $0:1+$3, 2 -#0. 3208: V:1 | drop -#0. 3209: V:0 | return +#0. 3272: V:0 | i32.const $1 +#0. 3277: V:1 | i64.const $2 +#0. 3286: V:2 | i64.atomic.rmw32_u.sub $0:1+$3, 2 +#0. 3296: V:1 | drop +#0. 3297: V:0 | return i64.atomic.rmw32_u.sub() => >>> running export "i32.atomic.rmw.and": -#0. 3210: V:0 | i32.const $1 -#0. 3215: V:1 | i32.const $2 -#0. 3220: V:2 | i32.atomic.rmw.and $0:1+$3, 2 -#0. 3230: V:1 | drop -#0. 3231: V:0 | return +#0. 3298: V:0 | i32.const $1 +#0. 3303: V:1 | i32.const $2 +#0. 3308: V:2 | i32.atomic.rmw.and $0:1+$3, 2 +#0. 3318: V:1 | drop +#0. 3319: V:0 | return i32.atomic.rmw.and() => >>> running export "i64.atomic.rmw.and": -#0. 3232: V:0 | i32.const $1 -#0. 3237: V:1 | i64.const $2 -#0. 3246: V:2 | i64.atomic.rmw.and $0:1+$7, 2 -#0. 3256: V:1 | drop -#0. 3257: V:0 | return +#0. 3320: V:0 | i32.const $1 +#0. 3325: V:1 | i64.const $2 +#0. 3334: V:2 | i64.atomic.rmw.and $0:1+$7, 2 +#0. 3344: V:1 | drop +#0. 3345: V:0 | return i64.atomic.rmw.and() => >>> running export "i32.atomic.rmw8_u.and": -#0. 3258: V:0 | i32.const $1 -#0. 3263: V:1 | i32.const $2 -#0. 3268: V:2 | i32.atomic.rmw8_u.and $0:1+$3, 2 -#0. 3278: V:1 | drop -#0. 3279: V:0 | return +#0. 3346: V:0 | i32.const $1 +#0. 3351: V:1 | i32.const $2 +#0. 3356: V:2 | i32.atomic.rmw8_u.and $0:1+$3, 2 +#0. 3366: V:1 | drop +#0. 3367: V:0 | return i32.atomic.rmw8_u.and() => >>> running export "i32.atomic.rmw16_u.and": -#0. 3280: V:0 | i32.const $1 -#0. 3285: V:1 | i32.const $2 -#0. 3290: V:2 | i32.atomic.rmw16_u.and $0:1+$3, 2 -#0. 3300: V:1 | drop -#0. 3301: V:0 | return +#0. 3368: V:0 | i32.const $1 +#0. 3373: V:1 | i32.const $2 +#0. 3378: V:2 | i32.atomic.rmw16_u.and $0:1+$3, 2 +#0. 3388: V:1 | drop +#0. 3389: V:0 | return i32.atomic.rmw16_u.and() => >>> running export "i64.atomic.rmw8_u.and": -#0. 3302: V:0 | i32.const $1 -#0. 3307: V:1 | i64.const $2 -#0. 3316: V:2 | i64.atomic.rmw8_u.and $0:1+$3, 2 -#0. 3326: V:1 | drop -#0. 3327: V:0 | return +#0. 3390: V:0 | i32.const $1 +#0. 3395: V:1 | i64.const $2 +#0. 3404: V:2 | i64.atomic.rmw8_u.and $0:1+$3, 2 +#0. 3414: V:1 | drop +#0. 3415: V:0 | return i64.atomic.rmw8_u.and() => >>> running export "i64.atomic.rmw16_u.and": -#0. 3328: V:0 | i32.const $1 -#0. 3333: V:1 | i64.const $2 -#0. 3342: V:2 | i64.atomic.rmw16_u.and $0:1+$3, 2 -#0. 3352: V:1 | drop -#0. 3353: V:0 | return +#0. 3416: V:0 | i32.const $1 +#0. 3421: V:1 | i64.const $2 +#0. 3430: V:2 | i64.atomic.rmw16_u.and $0:1+$3, 2 +#0. 3440: V:1 | drop +#0. 3441: V:0 | return i64.atomic.rmw16_u.and() => >>> running export "i64.atomic.rmw32_u.and": -#0. 3354: V:0 | i32.const $1 -#0. 3359: V:1 | i64.const $2 -#0. 3368: V:2 | i64.atomic.rmw32_u.and $0:1+$3, 2 -#0. 3378: V:1 | drop -#0. 3379: V:0 | return +#0. 3442: V:0 | i32.const $1 +#0. 3447: V:1 | i64.const $2 +#0. 3456: V:2 | i64.atomic.rmw32_u.and $0:1+$3, 2 +#0. 3466: V:1 | drop +#0. 3467: V:0 | return i64.atomic.rmw32_u.and() => >>> running export "i32.atomic.rmw.or": -#0. 3380: V:0 | i32.const $1 -#0. 3385: V:1 | i32.const $2 -#0. 3390: V:2 | i32.atomic.rmw.or $0:1+$3, 2 -#0. 3400: V:1 | drop -#0. 3401: V:0 | return +#0. 3468: V:0 | i32.const $1 +#0. 3473: V:1 | i32.const $2 +#0. 3478: V:2 | i32.atomic.rmw.or $0:1+$3, 2 +#0. 3488: V:1 | drop +#0. 3489: V:0 | return i32.atomic.rmw.or() => >>> running export "i64.atomic.rmw.or": -#0. 3402: V:0 | i32.const $1 -#0. 3407: V:1 | i64.const $2 -#0. 3416: V:2 | i64.atomic.rmw.or $0:1+$7, 2 -#0. 3426: V:1 | drop -#0. 3427: V:0 | return +#0. 3490: V:0 | i32.const $1 +#0. 3495: V:1 | i64.const $2 +#0. 3504: V:2 | i64.atomic.rmw.or $0:1+$7, 2 +#0. 3514: V:1 | drop +#0. 3515: V:0 | return i64.atomic.rmw.or() => >>> running export "i32.atomic.rmw8_u.or": -#0. 3428: V:0 | i32.const $1 -#0. 3433: V:1 | i32.const $2 -#0. 3438: V:2 | i32.atomic.rmw8_u.or $0:1+$3, 2 -#0. 3448: V:1 | drop -#0. 3449: V:0 | return +#0. 3516: V:0 | i32.const $1 +#0. 3521: V:1 | i32.const $2 +#0. 3526: V:2 | i32.atomic.rmw8_u.or $0:1+$3, 2 +#0. 3536: V:1 | drop +#0. 3537: V:0 | return i32.atomic.rmw8_u.or() => >>> running export "i32.atomic.rmw16_u.or": -#0. 3450: V:0 | i32.const $1 -#0. 3455: V:1 | i32.const $2 -#0. 3460: V:2 | i32.atomic.rmw16_u.or $0:1+$3, 2 -#0. 3470: V:1 | drop -#0. 3471: V:0 | return +#0. 3538: V:0 | i32.const $1 +#0. 3543: V:1 | i32.const $2 +#0. 3548: V:2 | i32.atomic.rmw16_u.or $0:1+$3, 2 +#0. 3558: V:1 | drop +#0. 3559: V:0 | return i32.atomic.rmw16_u.or() => >>> running export "i64.atomic.rmw8_u.or": -#0. 3472: V:0 | i32.const $1 -#0. 3477: V:1 | i64.const $2 -#0. 3486: V:2 | i64.atomic.rmw8_u.or $0:1+$3, 2 -#0. 3496: V:1 | drop -#0. 3497: V:0 | return +#0. 3560: V:0 | i32.const $1 +#0. 3565: V:1 | i64.const $2 +#0. 3574: V:2 | i64.atomic.rmw8_u.or $0:1+$3, 2 +#0. 3584: V:1 | drop +#0. 3585: V:0 | return i64.atomic.rmw8_u.or() => >>> running export "i64.atomic.rmw16_u.or": -#0. 3498: V:0 | i32.const $1 -#0. 3503: V:1 | i64.const $2 -#0. 3512: V:2 | i64.atomic.rmw16_u.or $0:1+$3, 2 -#0. 3522: V:1 | drop -#0. 3523: V:0 | return +#0. 3586: V:0 | i32.const $1 +#0. 3591: V:1 | i64.const $2 +#0. 3600: V:2 | i64.atomic.rmw16_u.or $0:1+$3, 2 +#0. 3610: V:1 | drop +#0. 3611: V:0 | return i64.atomic.rmw16_u.or() => >>> running export "i64.atomic.rmw32_u.or": -#0. 3524: V:0 | i32.const $1 -#0. 3529: V:1 | i64.const $2 -#0. 3538: V:2 | i64.atomic.rmw32_u.or $0:1+$3, 2 -#0. 3548: V:1 | drop -#0. 3549: V:0 | return +#0. 3612: V:0 | i32.const $1 +#0. 3617: V:1 | i64.const $2 +#0. 3626: V:2 | i64.atomic.rmw32_u.or $0:1+$3, 2 +#0. 3636: V:1 | drop +#0. 3637: V:0 | return i64.atomic.rmw32_u.or() => >>> running export "i32.atomic.rmw.xor": -#0. 3550: V:0 | i32.const $1 -#0. 3555: V:1 | i32.const $2 -#0. 3560: V:2 | i32.atomic.rmw.xor $0:1+$3, 2 -#0. 3570: V:1 | drop -#0. 3571: V:0 | return +#0. 3638: V:0 | i32.const $1 +#0. 3643: V:1 | i32.const $2 +#0. 3648: V:2 | i32.atomic.rmw.xor $0:1+$3, 2 +#0. 3658: V:1 | drop +#0. 3659: V:0 | return i32.atomic.rmw.xor() => >>> running export "i64.atomic.rmw.xor": -#0. 3572: V:0 | i32.const $1 -#0. 3577: V:1 | i64.const $2 -#0. 3586: V:2 | i64.atomic.rmw.xor $0:1+$7, 2 -#0. 3596: V:1 | drop -#0. 3597: V:0 | return +#0. 3660: V:0 | i32.const $1 +#0. 3665: V:1 | i64.const $2 +#0. 3674: V:2 | i64.atomic.rmw.xor $0:1+$7, 2 +#0. 3684: V:1 | drop +#0. 3685: V:0 | return i64.atomic.rmw.xor() => >>> running export "i32.atomic.rmw8_u.xor": -#0. 3598: V:0 | i32.const $1 -#0. 3603: V:1 | i32.const $2 -#0. 3608: V:2 | i32.atomic.rmw8_u.xor $0:1+$3, 2 -#0. 3618: V:1 | drop -#0. 3619: V:0 | return +#0. 3686: V:0 | i32.const $1 +#0. 3691: V:1 | i32.const $2 +#0. 3696: V:2 | i32.atomic.rmw8_u.xor $0:1+$3, 2 +#0. 3706: V:1 | drop +#0. 3707: V:0 | return i32.atomic.rmw8_u.xor() => >>> running export "i32.atomic.rmw16_u.xor": -#0. 3620: V:0 | i32.const $1 -#0. 3625: V:1 | i32.const $2 -#0. 3630: V:2 | i32.atomic.rmw16_u.xor $0:1+$3, 2 -#0. 3640: V:1 | drop -#0. 3641: V:0 | return +#0. 3708: V:0 | i32.const $1 +#0. 3713: V:1 | i32.const $2 +#0. 3718: V:2 | i32.atomic.rmw16_u.xor $0:1+$3, 2 +#0. 3728: V:1 | drop +#0. 3729: V:0 | return i32.atomic.rmw16_u.xor() => >>> running export "i64.atomic.rmw8_u.xor": -#0. 3642: V:0 | i32.const $1 -#0. 3647: V:1 | i64.const $2 -#0. 3656: V:2 | i64.atomic.rmw8_u.xor $0:1+$3, 2 -#0. 3666: V:1 | drop -#0. 3667: V:0 | return +#0. 3730: V:0 | i32.const $1 +#0. 3735: V:1 | i64.const $2 +#0. 3744: V:2 | i64.atomic.rmw8_u.xor $0:1+$3, 2 +#0. 3754: V:1 | drop +#0. 3755: V:0 | return i64.atomic.rmw8_u.xor() => >>> running export "i64.atomic.rmw16_u.xor": -#0. 3668: V:0 | i32.const $1 -#0. 3673: V:1 | i64.const $2 -#0. 3682: V:2 | i64.atomic.rmw16_u.xor $0:1+$3, 2 -#0. 3692: V:1 | drop -#0. 3693: V:0 | return +#0. 3756: V:0 | i32.const $1 +#0. 3761: V:1 | i64.const $2 +#0. 3770: V:2 | i64.atomic.rmw16_u.xor $0:1+$3, 2 +#0. 3780: V:1 | drop +#0. 3781: V:0 | return i64.atomic.rmw16_u.xor() => >>> running export "i64.atomic.rmw32_u.xor": -#0. 3694: V:0 | i32.const $1 -#0. 3699: V:1 | i64.const $2 -#0. 3708: V:2 | i64.atomic.rmw32_u.xor $0:1+$3, 2 -#0. 3718: V:1 | drop -#0. 3719: V:0 | return +#0. 3782: V:0 | i32.const $1 +#0. 3787: V:1 | i64.const $2 +#0. 3796: V:2 | i64.atomic.rmw32_u.xor $0:1+$3, 2 +#0. 3806: V:1 | drop +#0. 3807: V:0 | return i64.atomic.rmw32_u.xor() => >>> running export "i32.atomic.rmw.xchg": -#0. 3720: V:0 | i32.const $1 -#0. 3725: V:1 | i32.const $2 -#0. 3730: V:2 | i32.atomic.rmw.xchg $0:1+$3, 2 -#0. 3740: V:1 | drop -#0. 3741: V:0 | return +#0. 3808: V:0 | i32.const $1 +#0. 3813: V:1 | i32.const $2 +#0. 3818: V:2 | i32.atomic.rmw.xchg $0:1+$3, 2 +#0. 3828: V:1 | drop +#0. 3829: V:0 | return i32.atomic.rmw.xchg() => >>> running export "i64.atomic.rmw.xchg": -#0. 3742: V:0 | i32.const $1 -#0. 3747: V:1 | i64.const $2 -#0. 3756: V:2 | i64.atomic.rmw.xchg $0:1+$7, 2 -#0. 3766: V:1 | drop -#0. 3767: V:0 | return +#0. 3830: V:0 | i32.const $1 +#0. 3835: V:1 | i64.const $2 +#0. 3844: V:2 | i64.atomic.rmw.xchg $0:1+$7, 2 +#0. 3854: V:1 | drop +#0. 3855: V:0 | return i64.atomic.rmw.xchg() => >>> running export "i32.atomic.rmw8_u.xchg": -#0. 3768: V:0 | i32.const $1 -#0. 3773: V:1 | i32.const $2 -#0. 3778: V:2 | i32.atomic.rmw8_u.xchg $0:1+$3, 2 -#0. 3788: V:1 | drop -#0. 3789: V:0 | return +#0. 3856: V:0 | i32.const $1 +#0. 3861: V:1 | i32.const $2 +#0. 3866: V:2 | i32.atomic.rmw8_u.xchg $0:1+$3, 2 +#0. 3876: V:1 | drop +#0. 3877: V:0 | return i32.atomic.rmw8_u.xchg() => >>> running export "i32.atomic.rmw16_u.xchg": -#0. 3790: V:0 | i32.const $1 -#0. 3795: V:1 | i32.const $2 -#0. 3800: V:2 | i32.atomic.rmw16_u.xchg $0:1+$3, 2 -#0. 3810: V:1 | drop -#0. 3811: V:0 | return +#0. 3878: V:0 | i32.const $1 +#0. 3883: V:1 | i32.const $2 +#0. 3888: V:2 | i32.atomic.rmw16_u.xchg $0:1+$3, 2 +#0. 3898: V:1 | drop +#0. 3899: V:0 | return i32.atomic.rmw16_u.xchg() => >>> running export "i64.atomic.rmw8_u.xchg": -#0. 3812: V:0 | i32.const $1 -#0. 3817: V:1 | i64.const $2 -#0. 3826: V:2 | i64.atomic.rmw8_u.xchg $0:1+$3, 2 -#0. 3836: V:1 | drop -#0. 3837: V:0 | return +#0. 3900: V:0 | i32.const $1 +#0. 3905: V:1 | i64.const $2 +#0. 3914: V:2 | i64.atomic.rmw8_u.xchg $0:1+$3, 2 +#0. 3924: V:1 | drop +#0. 3925: V:0 | return i64.atomic.rmw8_u.xchg() => >>> running export "i64.atomic.rmw16_u.xchg": -#0. 3838: V:0 | i32.const $1 -#0. 3843: V:1 | i64.const $2 -#0. 3852: V:2 | i64.atomic.rmw16_u.xchg $0:1+$3, 2 -#0. 3862: V:1 | drop -#0. 3863: V:0 | return +#0. 3926: V:0 | i32.const $1 +#0. 3931: V:1 | i64.const $2 +#0. 3940: V:2 | i64.atomic.rmw16_u.xchg $0:1+$3, 2 +#0. 3950: V:1 | drop +#0. 3951: V:0 | return i64.atomic.rmw16_u.xchg() => >>> running export "i64.atomic.rmw32_u.xchg": -#0. 3864: V:0 | i32.const $1 -#0. 3869: V:1 | i64.const $2 -#0. 3878: V:2 | i64.atomic.rmw32_u.xchg $0:1+$3, 2 -#0. 3888: V:1 | drop -#0. 3889: V:0 | return +#0. 3952: V:0 | i32.const $1 +#0. 3957: V:1 | i64.const $2 +#0. 3966: V:2 | i64.atomic.rmw32_u.xchg $0:1+$3, 2 +#0. 3976: V:1 | drop +#0. 3977: V:0 | return i64.atomic.rmw32_u.xchg() => >>> running export "i32.atomic.rmw.cmpxchg": -#0. 3890: V:0 | i32.const $1 -#0. 3895: V:1 | i32.const $2 -#0. 3900: V:2 | i32.const $3 -#0. 3905: V:3 | i32.atomic.rmw.cmpxchg $0:1+$3, 2, 3 -#0. 3915: V:1 | drop -#0. 3916: V:0 | return +#0. 3978: V:0 | i32.const $1 +#0. 3983: V:1 | i32.const $2 +#0. 3988: V:2 | i32.const $3 +#0. 3993: V:3 | i32.atomic.rmw.cmpxchg $0:1+$3, 2, 3 +#0. 4003: V:1 | drop +#0. 4004: V:0 | return i32.atomic.rmw.cmpxchg() => >>> running export "i64.atomic.rmw.cmpxchg": -#0. 3917: V:0 | i32.const $1 -#0. 3922: V:1 | i64.const $2 -#0. 3931: V:2 | i64.const $3 -#0. 3940: V:3 | i64.atomic.rmw.cmpxchg $0:1+$7, 2, 3 -#0. 3950: V:1 | drop -#0. 3951: V:0 | return +#0. 4005: V:0 | i32.const $1 +#0. 4010: V:1 | i64.const $2 +#0. 4019: V:2 | i64.const $3 +#0. 4028: V:3 | i64.atomic.rmw.cmpxchg $0:1+$7, 2, 3 +#0. 4038: V:1 | drop +#0. 4039: V:0 | return i64.atomic.rmw.cmpxchg() => >>> running export "i32.atomic.rmw8_u.cmpxchg": -#0. 3952: V:0 | i32.const $1 -#0. 3957: V:1 | i32.const $2 -#0. 3962: V:2 | i32.const $3 -#0. 3967: V:3 | i32.atomic.rmw8_u.cmpxchg $0:1+$3, 2, 3 -#0. 3977: V:1 | drop -#0. 3978: V:0 | return +#0. 4040: V:0 | i32.const $1 +#0. 4045: V:1 | i32.const $2 +#0. 4050: V:2 | i32.const $3 +#0. 4055: V:3 | i32.atomic.rmw8_u.cmpxchg $0:1+$3, 2, 3 +#0. 4065: V:1 | drop +#0. 4066: V:0 | return i32.atomic.rmw8_u.cmpxchg() => >>> running export "i32.atomic.rmw16_u.cmpxchg": -#0. 3979: V:0 | i32.const $1 -#0. 3984: V:1 | i32.const $2 -#0. 3989: V:2 | i32.const $3 -#0. 3994: V:3 | i32.atomic.rmw16_u.cmpxchg $0:1+$3, 2, 3 -#0. 4004: V:1 | drop -#0. 4005: V:0 | return +#0. 4067: V:0 | i32.const $1 +#0. 4072: V:1 | i32.const $2 +#0. 4077: V:2 | i32.const $3 +#0. 4082: V:3 | i32.atomic.rmw16_u.cmpxchg $0:1+$3, 2, 3 +#0. 4092: V:1 | drop +#0. 4093: V:0 | return i32.atomic.rmw16_u.cmpxchg() => >>> running export "i64.atomic.rmw8_u.cmpxchg": -#0. 4006: V:0 | i32.const $1 -#0. 4011: V:1 | i64.const $2 -#0. 4020: V:2 | i64.const $3 -#0. 4029: V:3 | i64.atomic.rmw8_u.cmpxchg $0:1+$3, 2, 3 -#0. 4039: V:1 | drop -#0. 4040: V:0 | return +#0. 4094: V:0 | i32.const $1 +#0. 4099: V:1 | i64.const $2 +#0. 4108: V:2 | i64.const $3 +#0. 4117: V:3 | i64.atomic.rmw8_u.cmpxchg $0:1+$3, 2, 3 +#0. 4127: V:1 | drop +#0. 4128: V:0 | return i64.atomic.rmw8_u.cmpxchg() => >>> running export "i64.atomic.rmw16_u.cmpxchg": -#0. 4041: V:0 | i32.const $1 -#0. 4046: V:1 | i64.const $2 -#0. 4055: V:2 | i64.const $3 -#0. 4064: V:3 | i64.atomic.rmw16_u.cmpxchg $0:1+$3, 2, 3 -#0. 4074: V:1 | drop -#0. 4075: V:0 | return +#0. 4129: V:0 | i32.const $1 +#0. 4134: V:1 | i64.const $2 +#0. 4143: V:2 | i64.const $3 +#0. 4152: V:3 | i64.atomic.rmw16_u.cmpxchg $0:1+$3, 2, 3 +#0. 4162: V:1 | drop +#0. 4163: V:0 | return i64.atomic.rmw16_u.cmpxchg() => >>> running export "i64.atomic.rmw32_u.cmpxchg": -#0. 4076: V:0 | i32.const $1 -#0. 4081: V:1 | i64.const $2 -#0. 4090: V:2 | i64.const $3 -#0. 4099: V:3 | i64.atomic.rmw32_u.cmpxchg $0:1+$3, 2, 3 -#0. 4109: V:1 | drop -#0. 4110: V:0 | return +#0. 4164: V:0 | i32.const $1 +#0. 4169: V:1 | i64.const $2 +#0. 4178: V:2 | i64.const $3 +#0. 4187: V:3 | i64.atomic.rmw32_u.cmpxchg $0:1+$3, 2, 3 +#0. 4197: V:1 | drop +#0. 4198: V:0 | return i64.atomic.rmw32_u.cmpxchg() => ;;; STDOUT ;;) diff --git a/test/parse/expr/atomic-align.txt b/test/parse/expr/atomic-align.txt index f23b5a96..10dfb8d6 100644 --- a/test/parse/expr/atomic-align.txt +++ b/test/parse/expr/atomic-align.txt @@ -2,6 +2,10 @@ (module (memory (shared 1 1)) (func + i32.const 0 i32.const 0 wake align=4 drop + i32.const 0 i32.const 0 i64.const 0 i32.wait align=4 drop + i32.const 0 i64.const 0 i64.const 0 i64.wait align=8 drop + i32.const 0 i32.atomic.load align=4 drop i32.const 0 i64.atomic.load align=8 drop i32.const 0 i32.atomic.load8_u align=1 drop diff --git a/test/parse/expr/atomic-disabled.txt b/test/parse/expr/atomic-disabled.txt index 43124dfe..4184ab46 100644 --- a/test/parse/expr/atomic-disabled.txt +++ b/test/parse/expr/atomic-disabled.txt @@ -3,6 +3,10 @@ (module (memory 1) (func + i32.const 0 i32.const 0 wake drop + i32.const 0 i32.const 0 i64.const 0 i32.wait drop + i32.const 0 i64.const 0 i64.const 0 i64.wait drop + i32.const 0 i32.atomic.load drop i32.const 0 i64.atomic.load drop i32.const 0 i32.atomic.load8_u drop @@ -77,193 +81,202 @@ )) (;; STDERR ;;; -out/test/parse/expr/atomic-disabled.txt:6:17: error: opcode not allowed: i32.atomic.load +out/test/parse/expr/atomic-disabled.txt:6:29: error: opcode not allowed: wake + i32.const 0 i32.const 0 wake drop + ^^^^ +out/test/parse/expr/atomic-disabled.txt:7:41: error: opcode not allowed: i32.wait + i32.const 0 i32.const 0 i64.const 0 i32.wait drop + ^^^^^^^^ +out/test/parse/expr/atomic-disabled.txt:8:41: error: opcode not allowed: i64.wait + i32.const 0 i64.const 0 i64.const 0 i64.wait drop + ^^^^^^^^ +out/test/parse/expr/atomic-disabled.txt:10:17: error: opcode not allowed: i32.atomic.load i32.const 0 i32.atomic.load drop ^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:7:17: error: opcode not allowed: i64.atomic.load +out/test/parse/expr/atomic-disabled.txt:11:17: error: opcode not allowed: i64.atomic.load i32.const 0 i64.atomic.load drop ^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:8:17: error: opcode not allowed: i32.atomic.load8_u +out/test/parse/expr/atomic-disabled.txt:12:17: error: opcode not allowed: i32.atomic.load8_u i32.const 0 i32.atomic.load8_u drop ^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:9:17: error: opcode not allowed: i32.atomic.load16_u +out/test/parse/expr/atomic-disabled.txt:13:17: error: opcode not allowed: i32.atomic.load16_u i32.const 0 i32.atomic.load16_u drop ^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:10:17: error: opcode not allowed: i64.atomic.load8_u +out/test/parse/expr/atomic-disabled.txt:14:17: error: opcode not allowed: i64.atomic.load8_u i32.const 0 i64.atomic.load8_u drop ^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:11:17: error: opcode not allowed: i64.atomic.load16_u +out/test/parse/expr/atomic-disabled.txt:15:17: error: opcode not allowed: i64.atomic.load16_u i32.const 0 i64.atomic.load16_u drop ^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:12:17: error: opcode not allowed: i64.atomic.load32_u +out/test/parse/expr/atomic-disabled.txt:16:17: error: opcode not allowed: i64.atomic.load32_u i32.const 0 i64.atomic.load32_u drop ^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:14:29: error: opcode not allowed: i32.atomic.store +out/test/parse/expr/atomic-disabled.txt:18:29: error: opcode not allowed: i32.atomic.store i32.const 0 i32.const 0 i32.atomic.store ^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:15:29: error: opcode not allowed: i64.atomic.store +out/test/parse/expr/atomic-disabled.txt:19:29: error: opcode not allowed: i64.atomic.store i32.const 0 i64.const 0 i64.atomic.store ^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:16:29: error: opcode not allowed: i32.atomic.store8 +out/test/parse/expr/atomic-disabled.txt:20:29: error: opcode not allowed: i32.atomic.store8 i32.const 0 i32.const 0 i32.atomic.store8 ^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:17:29: error: opcode not allowed: i32.atomic.store16 +out/test/parse/expr/atomic-disabled.txt:21:29: error: opcode not allowed: i32.atomic.store16 i32.const 0 i32.const 0 i32.atomic.store16 ^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:18:29: error: opcode not allowed: i64.atomic.store8 +out/test/parse/expr/atomic-disabled.txt:22:29: error: opcode not allowed: i64.atomic.store8 i32.const 0 i64.const 0 i64.atomic.store8 ^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:19:29: error: opcode not allowed: i64.atomic.store16 +out/test/parse/expr/atomic-disabled.txt:23:29: error: opcode not allowed: i64.atomic.store16 i32.const 0 i64.const 0 i64.atomic.store16 ^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:20:29: error: opcode not allowed: i64.atomic.store32 +out/test/parse/expr/atomic-disabled.txt:24:29: error: opcode not allowed: i64.atomic.store32 i32.const 0 i64.const 0 i64.atomic.store32 ^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:22:29: error: opcode not allowed: i32.atomic.rmw.add +out/test/parse/expr/atomic-disabled.txt:26:29: error: opcode not allowed: i32.atomic.rmw.add i32.const 0 i32.const 0 i32.atomic.rmw.add drop ^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:23:29: error: opcode not allowed: i64.atomic.rmw.add +out/test/parse/expr/atomic-disabled.txt:27:29: error: opcode not allowed: i64.atomic.rmw.add i32.const 0 i64.const 0 i64.atomic.rmw.add drop ^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:24:29: error: opcode not allowed: i32.atomic.rmw8_u.add +out/test/parse/expr/atomic-disabled.txt:28:29: error: opcode not allowed: i32.atomic.rmw8_u.add i32.const 0 i32.const 0 i32.atomic.rmw8_u.add drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:25:29: error: opcode not allowed: i32.atomic.rmw16_u.add +out/test/parse/expr/atomic-disabled.txt:29:29: error: opcode not allowed: i32.atomic.rmw16_u.add i32.const 0 i32.const 0 i32.atomic.rmw16_u.add drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:26:29: error: opcode not allowed: i64.atomic.rmw8_u.add +out/test/parse/expr/atomic-disabled.txt:30:29: error: opcode not allowed: i64.atomic.rmw8_u.add i32.const 0 i64.const 0 i64.atomic.rmw8_u.add drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:27:29: error: opcode not allowed: i64.atomic.rmw16_u.add +out/test/parse/expr/atomic-disabled.txt:31:29: error: opcode not allowed: i64.atomic.rmw16_u.add i32.const 0 i64.const 0 i64.atomic.rmw16_u.add drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:28:29: error: opcode not allowed: i64.atomic.rmw32_u.add +out/test/parse/expr/atomic-disabled.txt:32:29: error: opcode not allowed: i64.atomic.rmw32_u.add i32.const 0 i64.const 0 i64.atomic.rmw32_u.add drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:30:29: error: opcode not allowed: i32.atomic.rmw.sub +out/test/parse/expr/atomic-disabled.txt:34:29: error: opcode not allowed: i32.atomic.rmw.sub i32.const 0 i32.const 0 i32.atomic.rmw.sub drop ^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:31:29: error: opcode not allowed: i64.atomic.rmw.sub +out/test/parse/expr/atomic-disabled.txt:35:29: error: opcode not allowed: i64.atomic.rmw.sub i32.const 0 i64.const 0 i64.atomic.rmw.sub drop ^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:32:29: error: opcode not allowed: i32.atomic.rmw8_u.sub +out/test/parse/expr/atomic-disabled.txt:36:29: error: opcode not allowed: i32.atomic.rmw8_u.sub i32.const 0 i32.const 0 i32.atomic.rmw8_u.sub drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:33:29: error: opcode not allowed: i32.atomic.rmw16_u.sub +out/test/parse/expr/atomic-disabled.txt:37:29: error: opcode not allowed: i32.atomic.rmw16_u.sub i32.const 0 i32.const 0 i32.atomic.rmw16_u.sub drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:34:29: error: opcode not allowed: i64.atomic.rmw8_u.sub +out/test/parse/expr/atomic-disabled.txt:38:29: error: opcode not allowed: i64.atomic.rmw8_u.sub i32.const 0 i64.const 0 i64.atomic.rmw8_u.sub drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:35:29: error: opcode not allowed: i64.atomic.rmw16_u.sub +out/test/parse/expr/atomic-disabled.txt:39:29: error: opcode not allowed: i64.atomic.rmw16_u.sub i32.const 0 i64.const 0 i64.atomic.rmw16_u.sub drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:36:29: error: opcode not allowed: i64.atomic.rmw32_u.sub +out/test/parse/expr/atomic-disabled.txt:40:29: error: opcode not allowed: i64.atomic.rmw32_u.sub i32.const 0 i64.const 0 i64.atomic.rmw32_u.sub drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:38:29: error: opcode not allowed: i32.atomic.rmw.and +out/test/parse/expr/atomic-disabled.txt:42:29: error: opcode not allowed: i32.atomic.rmw.and i32.const 0 i32.const 0 i32.atomic.rmw.and drop ^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:39:29: error: opcode not allowed: i64.atomic.rmw.and +out/test/parse/expr/atomic-disabled.txt:43:29: error: opcode not allowed: i64.atomic.rmw.and i32.const 0 i64.const 0 i64.atomic.rmw.and drop ^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:40:29: error: opcode not allowed: i32.atomic.rmw8_u.and +out/test/parse/expr/atomic-disabled.txt:44:29: error: opcode not allowed: i32.atomic.rmw8_u.and i32.const 0 i32.const 0 i32.atomic.rmw8_u.and drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:41:29: error: opcode not allowed: i32.atomic.rmw16_u.and +out/test/parse/expr/atomic-disabled.txt:45:29: error: opcode not allowed: i32.atomic.rmw16_u.and i32.const 0 i32.const 0 i32.atomic.rmw16_u.and drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:42:29: error: opcode not allowed: i64.atomic.rmw8_u.and +out/test/parse/expr/atomic-disabled.txt:46:29: error: opcode not allowed: i64.atomic.rmw8_u.and i32.const 0 i64.const 0 i64.atomic.rmw8_u.and drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:43:29: error: opcode not allowed: i64.atomic.rmw16_u.and +out/test/parse/expr/atomic-disabled.txt:47:29: error: opcode not allowed: i64.atomic.rmw16_u.and i32.const 0 i64.const 0 i64.atomic.rmw16_u.and drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:44:29: error: opcode not allowed: i64.atomic.rmw32_u.and +out/test/parse/expr/atomic-disabled.txt:48:29: error: opcode not allowed: i64.atomic.rmw32_u.and i32.const 0 i64.const 0 i64.atomic.rmw32_u.and drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:46:29: error: opcode not allowed: i32.atomic.rmw.or +out/test/parse/expr/atomic-disabled.txt:50:29: error: opcode not allowed: i32.atomic.rmw.or i32.const 0 i32.const 0 i32.atomic.rmw.or drop ^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:47:29: error: opcode not allowed: i64.atomic.rmw.or +out/test/parse/expr/atomic-disabled.txt:51:29: error: opcode not allowed: i64.atomic.rmw.or i32.const 0 i64.const 0 i64.atomic.rmw.or drop ^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:48:29: error: opcode not allowed: i32.atomic.rmw8_u.or +out/test/parse/expr/atomic-disabled.txt:52:29: error: opcode not allowed: i32.atomic.rmw8_u.or i32.const 0 i32.const 0 i32.atomic.rmw8_u.or drop ^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:49:29: error: opcode not allowed: i32.atomic.rmw16_u.or +out/test/parse/expr/atomic-disabled.txt:53:29: error: opcode not allowed: i32.atomic.rmw16_u.or i32.const 0 i32.const 0 i32.atomic.rmw16_u.or drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:50:29: error: opcode not allowed: i64.atomic.rmw8_u.or +out/test/parse/expr/atomic-disabled.txt:54:29: error: opcode not allowed: i64.atomic.rmw8_u.or i32.const 0 i64.const 0 i64.atomic.rmw8_u.or drop ^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:51:29: error: opcode not allowed: i64.atomic.rmw16_u.or +out/test/parse/expr/atomic-disabled.txt:55:29: error: opcode not allowed: i64.atomic.rmw16_u.or i32.const 0 i64.const 0 i64.atomic.rmw16_u.or drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:52:29: error: opcode not allowed: i64.atomic.rmw32_u.or +out/test/parse/expr/atomic-disabled.txt:56:29: error: opcode not allowed: i64.atomic.rmw32_u.or i32.const 0 i64.const 0 i64.atomic.rmw32_u.or drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:54:29: error: opcode not allowed: i32.atomic.rmw.xor +out/test/parse/expr/atomic-disabled.txt:58:29: error: opcode not allowed: i32.atomic.rmw.xor i32.const 0 i32.const 0 i32.atomic.rmw.xor drop ^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:55:29: error: opcode not allowed: i64.atomic.rmw.xor +out/test/parse/expr/atomic-disabled.txt:59:29: error: opcode not allowed: i64.atomic.rmw.xor i32.const 0 i64.const 0 i64.atomic.rmw.xor drop ^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:56:29: error: opcode not allowed: i32.atomic.rmw8_u.xor +out/test/parse/expr/atomic-disabled.txt:60:29: error: opcode not allowed: i32.atomic.rmw8_u.xor i32.const 0 i32.const 0 i32.atomic.rmw8_u.xor drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:57:29: error: opcode not allowed: i32.atomic.rmw16_u.xor +out/test/parse/expr/atomic-disabled.txt:61:29: error: opcode not allowed: i32.atomic.rmw16_u.xor i32.const 0 i32.const 0 i32.atomic.rmw16_u.xor drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:58:29: error: opcode not allowed: i64.atomic.rmw8_u.xor +out/test/parse/expr/atomic-disabled.txt:62:29: error: opcode not allowed: i64.atomic.rmw8_u.xor i32.const 0 i64.const 0 i64.atomic.rmw8_u.xor drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:59:29: error: opcode not allowed: i64.atomic.rmw16_u.xor +out/test/parse/expr/atomic-disabled.txt:63:29: error: opcode not allowed: i64.atomic.rmw16_u.xor i32.const 0 i64.const 0 i64.atomic.rmw16_u.xor drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:60:29: error: opcode not allowed: i64.atomic.rmw32_u.xor +out/test/parse/expr/atomic-disabled.txt:64:29: error: opcode not allowed: i64.atomic.rmw32_u.xor i32.const 0 i64.const 0 i64.atomic.rmw32_u.xor drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:62:29: error: opcode not allowed: i32.atomic.rmw.xchg +out/test/parse/expr/atomic-disabled.txt:66:29: error: opcode not allowed: i32.atomic.rmw.xchg i32.const 0 i32.const 0 i32.atomic.rmw.xchg drop ^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:63:29: error: opcode not allowed: i64.atomic.rmw.xchg +out/test/parse/expr/atomic-disabled.txt:67:29: error: opcode not allowed: i64.atomic.rmw.xchg i32.const 0 i64.const 0 i64.atomic.rmw.xchg drop ^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:64:29: error: opcode not allowed: i32.atomic.rmw8_u.xchg +out/test/parse/expr/atomic-disabled.txt:68:29: error: opcode not allowed: i32.atomic.rmw8_u.xchg i32.const 0 i32.const 0 i32.atomic.rmw8_u.xchg drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:65:29: error: opcode not allowed: i32.atomic.rmw16_u.xchg +out/test/parse/expr/atomic-disabled.txt:69:29: error: opcode not allowed: i32.atomic.rmw16_u.xchg i32.const 0 i32.const 0 i32.atomic.rmw16_u.xchg drop ^^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:66:29: error: opcode not allowed: i64.atomic.rmw8_u.xchg +out/test/parse/expr/atomic-disabled.txt:70:29: error: opcode not allowed: i64.atomic.rmw8_u.xchg i32.const 0 i64.const 0 i64.atomic.rmw8_u.xchg drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:67:29: error: opcode not allowed: i64.atomic.rmw16_u.xchg +out/test/parse/expr/atomic-disabled.txt:71:29: error: opcode not allowed: i64.atomic.rmw16_u.xchg i32.const 0 i64.const 0 i64.atomic.rmw16_u.xchg drop ^^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:68:29: error: opcode not allowed: i64.atomic.rmw32_u.xchg +out/test/parse/expr/atomic-disabled.txt:72:29: error: opcode not allowed: i64.atomic.rmw32_u.xchg i32.const 0 i64.const 0 i64.atomic.rmw32_u.xchg drop ^^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:70:41: error: opcode not allowed: i32.atomic.rmw.cmpxchg +out/test/parse/expr/atomic-disabled.txt:74:41: error: opcode not allowed: i32.atomic.rmw.cmpxchg i32.const 0 i32.const 0 i32.const 0 i32.atomic.rmw.cmpxchg drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:71:41: error: opcode not allowed: i64.atomic.rmw.cmpxchg +out/test/parse/expr/atomic-disabled.txt:75:41: error: opcode not allowed: i64.atomic.rmw.cmpxchg i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw.cmpxchg drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:72:41: error: opcode not allowed: i32.atomic.rmw8_u.cmpxchg +out/test/parse/expr/atomic-disabled.txt:76:41: error: opcode not allowed: i32.atomic.rmw8_u.cmpxchg i32.const 0 i32.const 0 i32.const 0 i32.atomic.rmw8_u.cmpxchg drop ^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:73:41: error: opcode not allowed: i32.atomic.rmw16_u.cmpxchg +out/test/parse/expr/atomic-disabled.txt:77:41: error: opcode not allowed: i32.atomic.rmw16_u.cmpxchg i32.const 0 i32.const 0 i32.const 0 i32.atomic.rmw16_u.cmpxchg drop ^^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:74:41: error: opcode not allowed: i64.atomic.rmw8_u.cmpxchg +out/test/parse/expr/atomic-disabled.txt:78:41: error: opcode not allowed: i64.atomic.rmw8_u.cmpxchg i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw8_u.cmpxchg drop ^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:75:41: error: opcode not allowed: i64.atomic.rmw16_u.cmpxchg +out/test/parse/expr/atomic-disabled.txt:79:41: error: opcode not allowed: i64.atomic.rmw16_u.cmpxchg i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw16_u.cmpxchg drop ^^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/atomic-disabled.txt:76:41: error: opcode not allowed: i64.atomic.rmw32_u.cmpxchg +out/test/parse/expr/atomic-disabled.txt:80:41: error: opcode not allowed: i64.atomic.rmw32_u.cmpxchg i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw32_u.cmpxchg drop ^^^^^^^^^^^^^^^^^^^^^^^^^^ ;;; STDERR ;;) diff --git a/test/parse/expr/atomic.txt b/test/parse/expr/atomic.txt index 12ec3599..78bac9f4 100644 --- a/test/parse/expr/atomic.txt +++ b/test/parse/expr/atomic.txt @@ -2,6 +2,10 @@ (module (memory (shared 1 1)) (func + i32.const 0 i32.const 0 wake drop + i32.const 0 i32.const 0 i64.const 0 i32.wait drop + i32.const 0 i64.const 0 i64.const 0 i64.wait drop + i32.const 0 i32.atomic.load drop i32.const 0 i64.atomic.load drop i32.const 0 i32.atomic.load8_u drop diff --git a/test/parse/expr/bad-atomic-unnatural-align.txt b/test/parse/expr/bad-atomic-unnatural-align.txt index 4e63fea0..2a29dc65 100644 --- a/test/parse/expr/bad-atomic-unnatural-align.txt +++ b/test/parse/expr/bad-atomic-unnatural-align.txt @@ -3,6 +3,10 @@ (module (memory (shared 1 1)) (func + i32.const 0 i32.const 0 wake align=8 drop + i32.const 0 i32.const 0 i64.const 0 i32.wait align=8 drop + i32.const 0 i64.const 0 i64.const 0 i64.wait align=16 drop + i32.const 0 i32.atomic.load align=8 drop i32.const 0 i64.atomic.load align=16 drop i32.const 0 i32.atomic.load8_u align=2 drop @@ -78,187 +82,196 @@ )) (;; STDERR ;;; -out/test/parse/expr/bad-atomic-unnatural-align.txt:6:17: error: alignment must be equal to natural alignment (4) +out/test/parse/expr/bad-atomic-unnatural-align.txt:6:29: error: alignment must be equal to natural alignment (4) + i32.const 0 i32.const 0 wake align=8 drop + ^^^^ +out/test/parse/expr/bad-atomic-unnatural-align.txt:7:41: error: alignment must be equal to natural alignment (4) + i32.const 0 i32.const 0 i64.const 0 i32.wait align=8 drop + ^^^^^^^^ +out/test/parse/expr/bad-atomic-unnatural-align.txt:8:41: error: alignment must be equal to natural alignment (8) + i32.const 0 i64.const 0 i64.const 0 i64.wait align=16 drop + ^^^^^^^^ +out/test/parse/expr/bad-atomic-unnatural-align.txt:10:17: error: alignment must be equal to natural alignment (4) i32.const 0 i32.atomic.load align=8 drop ^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:7:17: error: alignment must be equal to natural alignment (8) +out/test/parse/expr/bad-atomic-unnatural-align.txt:11:17: error: alignment must be equal to natural alignment (8) i32.const 0 i64.atomic.load align=16 drop ^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:8:17: error: alignment must be equal to natural alignment (1) +out/test/parse/expr/bad-atomic-unnatural-align.txt:12:17: error: alignment must be equal to natural alignment (1) i32.const 0 i32.atomic.load8_u align=2 drop ^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:9:17: error: alignment must be equal to natural alignment (2) +out/test/parse/expr/bad-atomic-unnatural-align.txt:13:17: error: alignment must be equal to natural alignment (2) i32.const 0 i32.atomic.load16_u align=4 drop ^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:10:17: error: alignment must be equal to natural alignment (1) +out/test/parse/expr/bad-atomic-unnatural-align.txt:14:17: error: alignment must be equal to natural alignment (1) i32.const 0 i64.atomic.load8_u align=2 drop ^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:11:17: error: alignment must be equal to natural alignment (2) +out/test/parse/expr/bad-atomic-unnatural-align.txt:15:17: error: alignment must be equal to natural alignment (2) i32.const 0 i64.atomic.load16_u align=4 drop ^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:12:17: error: alignment must be equal to natural alignment (4) +out/test/parse/expr/bad-atomic-unnatural-align.txt:16:17: error: alignment must be equal to natural alignment (4) i32.const 0 i64.atomic.load32_u align=8 drop ^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:14:29: error: alignment must be equal to natural alignment (4) +out/test/parse/expr/bad-atomic-unnatural-align.txt:18:29: error: alignment must be equal to natural alignment (4) i32.const 0 i32.const 0 i32.atomic.store align=8 ^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:15:29: error: alignment must be equal to natural alignment (8) +out/test/parse/expr/bad-atomic-unnatural-align.txt:19:29: error: alignment must be equal to natural alignment (8) i32.const 0 i64.const 0 i64.atomic.store align=16 ^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:17:29: error: alignment must be equal to natural alignment (2) +out/test/parse/expr/bad-atomic-unnatural-align.txt:21:29: error: alignment must be equal to natural alignment (2) i32.const 0 i32.const 0 i32.atomic.store16 align=4 ^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:19:29: error: alignment must be equal to natural alignment (2) +out/test/parse/expr/bad-atomic-unnatural-align.txt:23:29: error: alignment must be equal to natural alignment (2) i32.const 0 i64.const 0 i64.atomic.store16 align=4 ^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:20:29: error: alignment must be equal to natural alignment (4) +out/test/parse/expr/bad-atomic-unnatural-align.txt:24:29: error: alignment must be equal to natural alignment (4) i32.const 0 i64.const 0 i64.atomic.store32 align=8 ^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:22:29: error: alignment must be equal to natural alignment (4) +out/test/parse/expr/bad-atomic-unnatural-align.txt:26:29: error: alignment must be equal to natural alignment (4) i32.const 0 i32.const 0 i32.atomic.rmw.add align=8 drop ^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:23:29: error: alignment must be equal to natural alignment (8) +out/test/parse/expr/bad-atomic-unnatural-align.txt:27:29: error: alignment must be equal to natural alignment (8) i32.const 0 i64.const 0 i64.atomic.rmw.add align=16 drop ^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:24:29: error: alignment must be equal to natural alignment (1) +out/test/parse/expr/bad-atomic-unnatural-align.txt:28:29: error: alignment must be equal to natural alignment (1) i32.const 0 i32.const 0 i32.atomic.rmw8_u.add align=2 drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:25:29: error: alignment must be equal to natural alignment (2) +out/test/parse/expr/bad-atomic-unnatural-align.txt:29:29: error: alignment must be equal to natural alignment (2) i32.const 0 i32.const 0 i32.atomic.rmw16_u.add align=4 drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:26:29: error: alignment must be equal to natural alignment (1) +out/test/parse/expr/bad-atomic-unnatural-align.txt:30:29: error: alignment must be equal to natural alignment (1) i32.const 0 i64.const 0 i64.atomic.rmw8_u.add align=2 drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:27:29: error: alignment must be equal to natural alignment (2) +out/test/parse/expr/bad-atomic-unnatural-align.txt:31:29: error: alignment must be equal to natural alignment (2) i32.const 0 i64.const 0 i64.atomic.rmw16_u.add align=4 drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:28:29: error: alignment must be equal to natural alignment (4) +out/test/parse/expr/bad-atomic-unnatural-align.txt:32:29: error: alignment must be equal to natural alignment (4) i32.const 0 i64.const 0 i64.atomic.rmw32_u.add align=8 drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:30:29: error: alignment must be equal to natural alignment (4) +out/test/parse/expr/bad-atomic-unnatural-align.txt:34:29: error: alignment must be equal to natural alignment (4) i32.const 0 i32.const 0 i32.atomic.rmw.sub align=8 drop ^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:31:29: error: alignment must be equal to natural alignment (8) +out/test/parse/expr/bad-atomic-unnatural-align.txt:35:29: error: alignment must be equal to natural alignment (8) i32.const 0 i64.const 0 i64.atomic.rmw.sub align=16 drop ^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:32:29: error: alignment must be equal to natural alignment (1) +out/test/parse/expr/bad-atomic-unnatural-align.txt:36:29: error: alignment must be equal to natural alignment (1) i32.const 0 i32.const 0 i32.atomic.rmw8_u.sub align=2 drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:33:29: error: alignment must be equal to natural alignment (2) +out/test/parse/expr/bad-atomic-unnatural-align.txt:37:29: error: alignment must be equal to natural alignment (2) i32.const 0 i32.const 0 i32.atomic.rmw16_u.sub align=4 drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:34:29: error: alignment must be equal to natural alignment (1) +out/test/parse/expr/bad-atomic-unnatural-align.txt:38:29: error: alignment must be equal to natural alignment (1) i32.const 0 i64.const 0 i64.atomic.rmw8_u.sub align=2 drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:35:29: error: alignment must be equal to natural alignment (2) +out/test/parse/expr/bad-atomic-unnatural-align.txt:39:29: error: alignment must be equal to natural alignment (2) i32.const 0 i64.const 0 i64.atomic.rmw16_u.sub align=4 drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:36:29: error: alignment must be equal to natural alignment (4) +out/test/parse/expr/bad-atomic-unnatural-align.txt:40:29: error: alignment must be equal to natural alignment (4) i32.const 0 i64.const 0 i64.atomic.rmw32_u.sub align=8 drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:38:29: error: alignment must be equal to natural alignment (4) +out/test/parse/expr/bad-atomic-unnatural-align.txt:42:29: error: alignment must be equal to natural alignment (4) i32.const 0 i32.const 0 i32.atomic.rmw.and align=8 drop ^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:39:29: error: alignment must be equal to natural alignment (8) +out/test/parse/expr/bad-atomic-unnatural-align.txt:43:29: error: alignment must be equal to natural alignment (8) i32.const 0 i64.const 0 i64.atomic.rmw.and align=16 drop ^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:40:29: error: alignment must be equal to natural alignment (1) +out/test/parse/expr/bad-atomic-unnatural-align.txt:44:29: error: alignment must be equal to natural alignment (1) i32.const 0 i32.const 0 i32.atomic.rmw8_u.and align=2 drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:41:29: error: alignment must be equal to natural alignment (2) +out/test/parse/expr/bad-atomic-unnatural-align.txt:45:29: error: alignment must be equal to natural alignment (2) i32.const 0 i32.const 0 i32.atomic.rmw16_u.and align=4 drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:42:29: error: alignment must be equal to natural alignment (1) +out/test/parse/expr/bad-atomic-unnatural-align.txt:46:29: error: alignment must be equal to natural alignment (1) i32.const 0 i64.const 0 i64.atomic.rmw8_u.and align=2 drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:43:29: error: alignment must be equal to natural alignment (2) +out/test/parse/expr/bad-atomic-unnatural-align.txt:47:29: error: alignment must be equal to natural alignment (2) i32.const 0 i64.const 0 i64.atomic.rmw16_u.and align=4 drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:44:29: error: alignment must be equal to natural alignment (4) +out/test/parse/expr/bad-atomic-unnatural-align.txt:48:29: error: alignment must be equal to natural alignment (4) i32.const 0 i64.const 0 i64.atomic.rmw32_u.and align=8 drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:46:29: error: alignment must be equal to natural alignment (4) +out/test/parse/expr/bad-atomic-unnatural-align.txt:50:29: error: alignment must be equal to natural alignment (4) i32.const 0 i32.const 0 i32.atomic.rmw.or align=8 drop ^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:47:29: error: alignment must be equal to natural alignment (8) +out/test/parse/expr/bad-atomic-unnatural-align.txt:51:29: error: alignment must be equal to natural alignment (8) i32.const 0 i64.const 0 i64.atomic.rmw.or align=16 drop ^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:48:29: error: alignment must be equal to natural alignment (1) +out/test/parse/expr/bad-atomic-unnatural-align.txt:52:29: error: alignment must be equal to natural alignment (1) i32.const 0 i32.const 0 i32.atomic.rmw8_u.or align=2 drop ^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:49:29: error: alignment must be equal to natural alignment (2) +out/test/parse/expr/bad-atomic-unnatural-align.txt:53:29: error: alignment must be equal to natural alignment (2) i32.const 0 i32.const 0 i32.atomic.rmw16_u.or align=4 drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:50:29: error: alignment must be equal to natural alignment (1) +out/test/parse/expr/bad-atomic-unnatural-align.txt:54:29: error: alignment must be equal to natural alignment (1) i32.const 0 i64.const 0 i64.atomic.rmw8_u.or align=2 drop ^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:51:29: error: alignment must be equal to natural alignment (2) +out/test/parse/expr/bad-atomic-unnatural-align.txt:55:29: error: alignment must be equal to natural alignment (2) i32.const 0 i64.const 0 i64.atomic.rmw16_u.or align=4 drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:52:29: error: alignment must be equal to natural alignment (4) +out/test/parse/expr/bad-atomic-unnatural-align.txt:56:29: error: alignment must be equal to natural alignment (4) i32.const 0 i64.const 0 i64.atomic.rmw32_u.or align=8 drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:54:29: error: alignment must be equal to natural alignment (4) +out/test/parse/expr/bad-atomic-unnatural-align.txt:58:29: error: alignment must be equal to natural alignment (4) i32.const 0 i32.const 0 i32.atomic.rmw.xor align=8 drop ^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:55:29: error: alignment must be equal to natural alignment (8) +out/test/parse/expr/bad-atomic-unnatural-align.txt:59:29: error: alignment must be equal to natural alignment (8) i32.const 0 i64.const 0 i64.atomic.rmw.xor align=16 drop ^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:56:29: error: alignment must be equal to natural alignment (1) +out/test/parse/expr/bad-atomic-unnatural-align.txt:60:29: error: alignment must be equal to natural alignment (1) i32.const 0 i32.const 0 i32.atomic.rmw8_u.xor align=2 drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:57:29: error: alignment must be equal to natural alignment (2) +out/test/parse/expr/bad-atomic-unnatural-align.txt:61:29: error: alignment must be equal to natural alignment (2) i32.const 0 i32.const 0 i32.atomic.rmw16_u.xor align=4 drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:58:29: error: alignment must be equal to natural alignment (1) +out/test/parse/expr/bad-atomic-unnatural-align.txt:62:29: error: alignment must be equal to natural alignment (1) i32.const 0 i64.const 0 i64.atomic.rmw8_u.xor align=2 drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:59:29: error: alignment must be equal to natural alignment (2) +out/test/parse/expr/bad-atomic-unnatural-align.txt:63:29: error: alignment must be equal to natural alignment (2) i32.const 0 i64.const 0 i64.atomic.rmw16_u.xor align=4 drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:60:29: error: alignment must be equal to natural alignment (4) +out/test/parse/expr/bad-atomic-unnatural-align.txt:64:29: error: alignment must be equal to natural alignment (4) i32.const 0 i64.const 0 i64.atomic.rmw32_u.xor align=8 drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:62:29: error: alignment must be equal to natural alignment (4) +out/test/parse/expr/bad-atomic-unnatural-align.txt:66:29: error: alignment must be equal to natural alignment (4) i32.const 0 i32.const 0 i32.atomic.rmw.xchg align=8 drop ^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:63:29: error: alignment must be equal to natural alignment (8) +out/test/parse/expr/bad-atomic-unnatural-align.txt:67:29: error: alignment must be equal to natural alignment (8) i32.const 0 i64.const 0 i64.atomic.rmw.xchg align=16 drop ^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:64:29: error: alignment must be equal to natural alignment (1) +out/test/parse/expr/bad-atomic-unnatural-align.txt:68:29: error: alignment must be equal to natural alignment (1) i32.const 0 i32.const 0 i32.atomic.rmw8_u.xchg align=2 drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:65:29: error: alignment must be equal to natural alignment (2) +out/test/parse/expr/bad-atomic-unnatural-align.txt:69:29: error: alignment must be equal to natural alignment (2) i32.const 0 i32.const 0 i32.atomic.rmw16_u.xchg align=4 drop ^^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:66:29: error: alignment must be equal to natural alignment (1) +out/test/parse/expr/bad-atomic-unnatural-align.txt:70:29: error: alignment must be equal to natural alignment (1) i32.const 0 i64.const 0 i64.atomic.rmw8_u.xchg align=2 drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:67:29: error: alignment must be equal to natural alignment (2) +out/test/parse/expr/bad-atomic-unnatural-align.txt:71:29: error: alignment must be equal to natural alignment (2) i32.const 0 i64.const 0 i64.atomic.rmw16_u.xchg align=4 drop ^^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:68:29: error: alignment must be equal to natural alignment (4) +out/test/parse/expr/bad-atomic-unnatural-align.txt:72:29: error: alignment must be equal to natural alignment (4) i32.const 0 i64.const 0 i64.atomic.rmw32_u.xchg align=8 drop ^^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:70:41: error: alignment must be equal to natural alignment (4) +out/test/parse/expr/bad-atomic-unnatural-align.txt:74:41: error: alignment must be equal to natural alignment (4) i32.const 0 i32.const 0 i32.const 0 i32.atomic.rmw.cmpxchg align=8 drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:71:41: error: alignment must be equal to natural alignment (8) +out/test/parse/expr/bad-atomic-unnatural-align.txt:75:41: error: alignment must be equal to natural alignment (8) i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw.cmpxchg align=16 drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:72:41: error: alignment must be equal to natural alignment (1) +out/test/parse/expr/bad-atomic-unnatural-align.txt:76:41: error: alignment must be equal to natural alignment (1) i32.const 0 i32.const 0 i32.const 0 i32.atomic.rmw8_u.cmpxchg align=2 drop ^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:73:41: error: alignment must be equal to natural alignment (2) +out/test/parse/expr/bad-atomic-unnatural-align.txt:77:41: error: alignment must be equal to natural alignment (2) i32.const 0 i32.const 0 i32.const 0 i32.atomic.rmw16_u.cmpxchg align=4 drop ^^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:74:41: error: alignment must be equal to natural alignment (1) +out/test/parse/expr/bad-atomic-unnatural-align.txt:78:41: error: alignment must be equal to natural alignment (1) i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw8_u.cmpxchg align=2 drop ^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:75:41: error: alignment must be equal to natural alignment (2) +out/test/parse/expr/bad-atomic-unnatural-align.txt:79:41: error: alignment must be equal to natural alignment (2) i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw16_u.cmpxchg align=4 drop ^^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/parse/expr/bad-atomic-unnatural-align.txt:76:41: error: alignment must be equal to natural alignment (4) +out/test/parse/expr/bad-atomic-unnatural-align.txt:80:41: error: alignment must be equal to natural alignment (4) i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw32_u.cmpxchg align=8 drop ^^^^^^^^^^^^^^^^^^^^^^^^^^ ;;; STDERR ;;) diff --git a/test/roundtrip/fold-atomic.txt b/test/roundtrip/fold-atomic.txt index 9997b980..9eefcfe2 100644 --- a/test/roundtrip/fold-atomic.txt +++ b/test/roundtrip/fold-atomic.txt @@ -4,6 +4,10 @@ (module (memory (shared 1 1)) (func + i32.const 0 i32.const 0 wake drop + i32.const 0 i32.const 0 i64.const 0 i32.wait drop + i32.const 0 i64.const 0 i64.const 0 i64.wait drop + i32.const 0 i32.atomic.load drop i32.const 0 i64.atomic.load drop i32.const 0 i32.atomic.load8_u drop @@ -82,6 +86,20 @@ (type (;0;) (func)) (func (;0;) (type 0) (drop + (wake + (i32.const 0) + (i32.const 0))) + (drop + (i32.wait + (i32.const 0) + (i32.const 0) + (i64.const 0))) + (drop + (i64.wait + (i32.const 0) + (i64.const 0) + (i64.const 0))) + (drop (i32.atomic.load (i32.const 0))) (drop diff --git a/test/typecheck/bad-atomic-no-shared-memory.txt b/test/typecheck/bad-atomic-no-shared-memory.txt index 07e36c5c..17eb9670 100644 --- a/test/typecheck/bad-atomic-no-shared-memory.txt +++ b/test/typecheck/bad-atomic-no-shared-memory.txt @@ -4,6 +4,10 @@ (module (memory 1) (func + i32.const 0 i32.const 0 wake drop + i32.const 0 i32.const 0 i64.const 0 i32.wait drop + i32.const 0 i64.const 0 i64.const 0 i64.wait drop + i32.const 0 i32.atomic.load drop i32.const 0 i64.atomic.load drop i32.const 0 i32.atomic.load8_u drop @@ -78,193 +82,202 @@ )) (;; STDERR ;;; -out/test/typecheck/bad-atomic-no-shared-memory.txt:7:17: error: i32.atomic.load requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:7:29: error: wake requires memory to be shared. + i32.const 0 i32.const 0 wake drop + ^^^^ +out/test/typecheck/bad-atomic-no-shared-memory.txt:8:41: error: i32.wait requires memory to be shared. + i32.const 0 i32.const 0 i64.const 0 i32.wait drop + ^^^^^^^^ +out/test/typecheck/bad-atomic-no-shared-memory.txt:9:41: error: i64.wait requires memory to be shared. + i32.const 0 i64.const 0 i64.const 0 i64.wait drop + ^^^^^^^^ +out/test/typecheck/bad-atomic-no-shared-memory.txt:11:17: error: i32.atomic.load requires memory to be shared. i32.const 0 i32.atomic.load drop ^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:8:17: error: i64.atomic.load requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:12:17: error: i64.atomic.load requires memory to be shared. i32.const 0 i64.atomic.load drop ^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:9:17: error: i32.atomic.load8_u requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:13:17: error: i32.atomic.load8_u requires memory to be shared. i32.const 0 i32.atomic.load8_u drop ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:10:17: error: i32.atomic.load16_u requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:14:17: error: i32.atomic.load16_u requires memory to be shared. i32.const 0 i32.atomic.load16_u drop ^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:11:17: error: i64.atomic.load8_u requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:15:17: error: i64.atomic.load8_u requires memory to be shared. i32.const 0 i64.atomic.load8_u drop ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:12:17: error: i64.atomic.load16_u requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:16:17: error: i64.atomic.load16_u requires memory to be shared. i32.const 0 i64.atomic.load16_u drop ^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:13:17: error: i64.atomic.load32_u requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:17:17: error: i64.atomic.load32_u requires memory to be shared. i32.const 0 i64.atomic.load32_u drop ^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:15:29: error: i32.atomic.store requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:19:29: error: i32.atomic.store requires memory to be shared. i32.const 0 i32.const 0 i32.atomic.store ^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:16:29: error: i64.atomic.store requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:20:29: error: i64.atomic.store requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.store ^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:17:29: error: i32.atomic.store8 requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:21:29: error: i32.atomic.store8 requires memory to be shared. i32.const 0 i32.const 0 i32.atomic.store8 ^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:18:29: error: i32.atomic.store16 requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:22:29: error: i32.atomic.store16 requires memory to be shared. i32.const 0 i32.const 0 i32.atomic.store16 ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:19:29: error: i64.atomic.store8 requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:23:29: error: i64.atomic.store8 requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.store8 ^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:20:29: error: i64.atomic.store16 requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:24:29: error: i64.atomic.store16 requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.store16 ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:21:29: error: i64.atomic.store32 requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:25:29: error: i64.atomic.store32 requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.store32 ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:23:29: error: i32.atomic.rmw.add requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:27:29: error: i32.atomic.rmw.add requires memory to be shared. i32.const 0 i32.const 0 i32.atomic.rmw.add drop ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:24:29: error: i64.atomic.rmw.add requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:28:29: error: i64.atomic.rmw.add requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.rmw.add drop ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:25:29: error: i32.atomic.rmw8_u.add requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:29:29: error: i32.atomic.rmw8_u.add requires memory to be shared. i32.const 0 i32.const 0 i32.atomic.rmw8_u.add drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:26:29: error: i32.atomic.rmw16_u.add requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:30:29: error: i32.atomic.rmw16_u.add requires memory to be shared. i32.const 0 i32.const 0 i32.atomic.rmw16_u.add drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:27:29: error: i64.atomic.rmw8_u.add requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:31:29: error: i64.atomic.rmw8_u.add requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.rmw8_u.add drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:28:29: error: i64.atomic.rmw16_u.add requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:32:29: error: i64.atomic.rmw16_u.add requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.rmw16_u.add drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:29:29: error: i64.atomic.rmw32_u.add requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:33:29: error: i64.atomic.rmw32_u.add requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.rmw32_u.add drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:31:29: error: i32.atomic.rmw.sub requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:35:29: error: i32.atomic.rmw.sub requires memory to be shared. i32.const 0 i32.const 0 i32.atomic.rmw.sub drop ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:32:29: error: i64.atomic.rmw.sub requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:36:29: error: i64.atomic.rmw.sub requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.rmw.sub drop ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:33:29: error: i32.atomic.rmw8_u.sub requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:37:29: error: i32.atomic.rmw8_u.sub requires memory to be shared. i32.const 0 i32.const 0 i32.atomic.rmw8_u.sub drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:34:29: error: i32.atomic.rmw16_u.sub requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:38:29: error: i32.atomic.rmw16_u.sub requires memory to be shared. i32.const 0 i32.const 0 i32.atomic.rmw16_u.sub drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:35:29: error: i64.atomic.rmw8_u.sub requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:39:29: error: i64.atomic.rmw8_u.sub requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.rmw8_u.sub drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:36:29: error: i64.atomic.rmw16_u.sub requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:40:29: error: i64.atomic.rmw16_u.sub requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.rmw16_u.sub drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:37:29: error: i64.atomic.rmw32_u.sub requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:41:29: error: i64.atomic.rmw32_u.sub requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.rmw32_u.sub drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:39:29: error: i32.atomic.rmw.and requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:43:29: error: i32.atomic.rmw.and requires memory to be shared. i32.const 0 i32.const 0 i32.atomic.rmw.and drop ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:40:29: error: i64.atomic.rmw.and requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:44:29: error: i64.atomic.rmw.and requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.rmw.and drop ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:41:29: error: i32.atomic.rmw8_u.and requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:45:29: error: i32.atomic.rmw8_u.and requires memory to be shared. i32.const 0 i32.const 0 i32.atomic.rmw8_u.and drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:42:29: error: i32.atomic.rmw16_u.and requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:46:29: error: i32.atomic.rmw16_u.and requires memory to be shared. i32.const 0 i32.const 0 i32.atomic.rmw16_u.and drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:43:29: error: i64.atomic.rmw8_u.and requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:47:29: error: i64.atomic.rmw8_u.and requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.rmw8_u.and drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:44:29: error: i64.atomic.rmw16_u.and requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:48:29: error: i64.atomic.rmw16_u.and requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.rmw16_u.and drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:45:29: error: i64.atomic.rmw32_u.and requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:49:29: error: i64.atomic.rmw32_u.and requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.rmw32_u.and drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:47:29: error: i32.atomic.rmw.or requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:51:29: error: i32.atomic.rmw.or requires memory to be shared. i32.const 0 i32.const 0 i32.atomic.rmw.or drop ^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:48:29: error: i64.atomic.rmw.or requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:52:29: error: i64.atomic.rmw.or requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.rmw.or drop ^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:49:29: error: i32.atomic.rmw8_u.or requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:53:29: error: i32.atomic.rmw8_u.or requires memory to be shared. i32.const 0 i32.const 0 i32.atomic.rmw8_u.or drop ^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:50:29: error: i32.atomic.rmw16_u.or requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:54:29: error: i32.atomic.rmw16_u.or requires memory to be shared. i32.const 0 i32.const 0 i32.atomic.rmw16_u.or drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:51:29: error: i64.atomic.rmw8_u.or requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:55:29: error: i64.atomic.rmw8_u.or requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.rmw8_u.or drop ^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:52:29: error: i64.atomic.rmw16_u.or requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:56:29: error: i64.atomic.rmw16_u.or requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.rmw16_u.or drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:53:29: error: i64.atomic.rmw32_u.or requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:57:29: error: i64.atomic.rmw32_u.or requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.rmw32_u.or drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:55:29: error: i32.atomic.rmw.xor requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:59:29: error: i32.atomic.rmw.xor requires memory to be shared. i32.const 0 i32.const 0 i32.atomic.rmw.xor drop ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:56:29: error: i64.atomic.rmw.xor requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:60:29: error: i64.atomic.rmw.xor requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.rmw.xor drop ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:57:29: error: i32.atomic.rmw8_u.xor requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:61:29: error: i32.atomic.rmw8_u.xor requires memory to be shared. i32.const 0 i32.const 0 i32.atomic.rmw8_u.xor drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:58:29: error: i32.atomic.rmw16_u.xor requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:62:29: error: i32.atomic.rmw16_u.xor requires memory to be shared. i32.const 0 i32.const 0 i32.atomic.rmw16_u.xor drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:59:29: error: i64.atomic.rmw8_u.xor requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:63:29: error: i64.atomic.rmw8_u.xor requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.rmw8_u.xor drop ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:60:29: error: i64.atomic.rmw16_u.xor requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:64:29: error: i64.atomic.rmw16_u.xor requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.rmw16_u.xor drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:61:29: error: i64.atomic.rmw32_u.xor requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:65:29: error: i64.atomic.rmw32_u.xor requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.rmw32_u.xor drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:63:29: error: i32.atomic.rmw.xchg requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:67:29: error: i32.atomic.rmw.xchg requires memory to be shared. i32.const 0 i32.const 0 i32.atomic.rmw.xchg drop ^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:64:29: error: i64.atomic.rmw.xchg requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:68:29: error: i64.atomic.rmw.xchg requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.rmw.xchg drop ^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:65:29: error: i32.atomic.rmw8_u.xchg requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:69:29: error: i32.atomic.rmw8_u.xchg requires memory to be shared. i32.const 0 i32.const 0 i32.atomic.rmw8_u.xchg drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:66:29: error: i32.atomic.rmw16_u.xchg requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:70:29: error: i32.atomic.rmw16_u.xchg requires memory to be shared. i32.const 0 i32.const 0 i32.atomic.rmw16_u.xchg drop ^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:67:29: error: i64.atomic.rmw8_u.xchg requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:71:29: error: i64.atomic.rmw8_u.xchg requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.rmw8_u.xchg drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:68:29: error: i64.atomic.rmw16_u.xchg requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:72:29: error: i64.atomic.rmw16_u.xchg requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.rmw16_u.xchg drop ^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:69:29: error: i64.atomic.rmw32_u.xchg requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:73:29: error: i64.atomic.rmw32_u.xchg requires memory to be shared. i32.const 0 i64.const 0 i64.atomic.rmw32_u.xchg drop ^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:71:41: error: i32.atomic.rmw.cmpxchg requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:75:41: error: i32.atomic.rmw.cmpxchg requires memory to be shared. i32.const 0 i32.const 0 i32.const 0 i32.atomic.rmw.cmpxchg drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:72:41: error: i64.atomic.rmw.cmpxchg requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:76:41: error: i64.atomic.rmw.cmpxchg requires memory to be shared. i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw.cmpxchg drop ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:73:41: error: i32.atomic.rmw8_u.cmpxchg requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:77:41: error: i32.atomic.rmw8_u.cmpxchg requires memory to be shared. i32.const 0 i32.const 0 i32.const 0 i32.atomic.rmw8_u.cmpxchg drop ^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:74:41: error: i32.atomic.rmw16_u.cmpxchg requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:78:41: error: i32.atomic.rmw16_u.cmpxchg requires memory to be shared. i32.const 0 i32.const 0 i32.const 0 i32.atomic.rmw16_u.cmpxchg drop ^^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:75:41: error: i64.atomic.rmw8_u.cmpxchg requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:79:41: error: i64.atomic.rmw8_u.cmpxchg requires memory to be shared. i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw8_u.cmpxchg drop ^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:76:41: error: i64.atomic.rmw16_u.cmpxchg requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:80:41: error: i64.atomic.rmw16_u.cmpxchg requires memory to be shared. i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw16_u.cmpxchg drop ^^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-no-shared-memory.txt:77:41: error: i64.atomic.rmw32_u.cmpxchg requires memory to be shared. +out/test/typecheck/bad-atomic-no-shared-memory.txt:81:41: error: i64.atomic.rmw32_u.cmpxchg requires memory to be shared. i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw32_u.cmpxchg drop ^^^^^^^^^^^^^^^^^^^^^^^^^^ ;;; STDERR ;;) diff --git a/test/typecheck/bad-atomic-type-mismatch.txt b/test/typecheck/bad-atomic-type-mismatch.txt index 5c5c585b..117cee6f 100644 --- a/test/typecheck/bad-atomic-type-mismatch.txt +++ b/test/typecheck/bad-atomic-type-mismatch.txt @@ -5,6 +5,9 @@ (memory (shared 1 1)) ;; Mismatch address. + (func f32.const 0 i32.const 0 wake drop) + (func f32.const 0 i32.const 0 i64.const 0 i32.wait drop) + (func f32.const 0 i64.const 0 i64.const 0 i64.wait drop) (func f32.const 0 i32.atomic.load drop) (func f32.const 0 i64.atomic.load drop) (func f32.const 0 i32.atomic.load8_u drop) @@ -70,6 +73,9 @@ (func f32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw32_u.cmpxchg drop) ;; Mismatch first value operand. + (func i32.const 0 f32.const 0 wake drop) + (func i32.const 0 f32.const 0 i64.const 0 i32.wait drop) + (func i32.const 0 f64.const 0 i64.const 0 i64.wait drop) (func i32.const 0 f32.const 0 i32.atomic.store) (func i32.const 0 f64.const 0 i64.atomic.store) (func i32.const 0 f32.const 0 i32.atomic.store8) @@ -128,6 +134,8 @@ (func i32.const 0 f64.const 0 i64.const 0 i64.atomic.rmw32_u.cmpxchg drop) ;; Mismatch second value operand. + (func i32.const 0 i32.const 0 f64.const 0 i32.wait drop) + (func i32.const 0 i64.const 0 f64.const 0 i64.wait drop) (func i32.const 0 i32.const 0 f32.const 0 i32.atomic.rmw.cmpxchg drop) (func i32.const 0 i64.const 0 f64.const 0 i64.atomic.rmw.cmpxchg drop) (func i32.const 0 i32.const 0 f32.const 0 i32.atomic.rmw8_u.cmpxchg drop) @@ -137,6 +145,9 @@ (func i32.const 0 i64.const 0 f64.const 0 i64.atomic.rmw32_u.cmpxchg drop) ;; Mismatch result. + (func (result f32) i32.const 0 i32.const 0 wake) + (func (result f32) i32.const 0 i32.const 0 i64.const 0 i32.wait) + (func (result f32) i32.const 0 i64.const 0 i64.const 0 i64.wait) (func (result f32) i32.const 0 i32.atomic.load) (func (result f64) i32.const 0 i64.atomic.load) (func (result f32) i32.const 0 i32.atomic.load8_u) @@ -196,550 +207,583 @@ ) (;; STDERR ;;; -out/test/typecheck/bad-atomic-type-mismatch.txt:8:21: error: type mismatch in i32.atomic.load, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:8:33: error: type mismatch in wake, expected i32 but got f32. + (func f32.const 0 i32.const 0 wake drop) + ^^^^ +out/test/typecheck/bad-atomic-type-mismatch.txt:9:45: error: type mismatch in i32.wait, expected i32 but got f32. + (func f32.const 0 i32.const 0 i64.const 0 i32.wait drop) + ^^^^^^^^ +out/test/typecheck/bad-atomic-type-mismatch.txt:10:45: error: type mismatch in i64.wait, expected i32 but got f32. + (func f32.const 0 i64.const 0 i64.const 0 i64.wait drop) + ^^^^^^^^ +out/test/typecheck/bad-atomic-type-mismatch.txt:11:21: error: type mismatch in i32.atomic.load, expected i32 but got f32. (func f32.const 0 i32.atomic.load drop) ^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:9:21: error: type mismatch in i64.atomic.load, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:12:21: error: type mismatch in i64.atomic.load, expected i32 but got f32. (func f32.const 0 i64.atomic.load drop) ^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:10:21: error: type mismatch in i32.atomic.load8_u, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:13:21: error: type mismatch in i32.atomic.load8_u, expected i32 but got f32. (func f32.const 0 i32.atomic.load8_u drop) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:11:21: error: type mismatch in i32.atomic.load16_u, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:14:21: error: type mismatch in i32.atomic.load16_u, expected i32 but got f32. (func f32.const 0 i32.atomic.load16_u drop) ^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:12:21: error: type mismatch in i64.atomic.load8_u, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:15:21: error: type mismatch in i64.atomic.load8_u, expected i32 but got f32. (func f32.const 0 i64.atomic.load8_u drop) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:13:21: error: type mismatch in i64.atomic.load16_u, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:16:21: error: type mismatch in i64.atomic.load16_u, expected i32 but got f32. (func f32.const 0 i64.atomic.load16_u drop) ^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:14:21: error: type mismatch in i64.atomic.load32_u, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:17:21: error: type mismatch in i64.atomic.load32_u, expected i32 but got f32. (func f32.const 0 i64.atomic.load32_u drop) ^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:15:33: error: type mismatch in i32.atomic.store, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:18:33: error: type mismatch in i32.atomic.store, expected i32 but got f32. (func f32.const 0 i32.const 0 i32.atomic.store) ^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:16:33: error: type mismatch in i64.atomic.store, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:19:33: error: type mismatch in i64.atomic.store, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.store) ^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:17:33: error: type mismatch in i32.atomic.store8, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:20:33: error: type mismatch in i32.atomic.store8, expected i32 but got f32. (func f32.const 0 i32.const 0 i32.atomic.store8) ^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:18:33: error: type mismatch in i32.atomic.store16, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:21:33: error: type mismatch in i32.atomic.store16, expected i32 but got f32. (func f32.const 0 i32.const 0 i32.atomic.store16) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:19:33: error: type mismatch in i64.atomic.store8, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:22:33: error: type mismatch in i64.atomic.store8, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.store8) ^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:20:33: error: type mismatch in i64.atomic.store16, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:23:33: error: type mismatch in i64.atomic.store16, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.store16) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:21:33: error: type mismatch in i64.atomic.store32, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:24:33: error: type mismatch in i64.atomic.store32, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.store32) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:22:33: error: type mismatch in i32.atomic.rmw.add, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:25:33: error: type mismatch in i32.atomic.rmw.add, expected i32 but got f32. (func f32.const 0 i32.const 0 i32.atomic.rmw.add drop) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:23:33: error: type mismatch in i64.atomic.rmw.add, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:26:33: error: type mismatch in i64.atomic.rmw.add, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.rmw.add drop) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:24:33: error: type mismatch in i32.atomic.rmw8_u.add, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:27:33: error: type mismatch in i32.atomic.rmw8_u.add, expected i32 but got f32. (func f32.const 0 i32.const 0 i32.atomic.rmw8_u.add drop) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:25:33: error: type mismatch in i32.atomic.rmw16_u.add, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:28:33: error: type mismatch in i32.atomic.rmw16_u.add, expected i32 but got f32. (func f32.const 0 i32.const 0 i32.atomic.rmw16_u.add drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:26:33: error: type mismatch in i64.atomic.rmw8_u.add, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:29:33: error: type mismatch in i64.atomic.rmw8_u.add, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.rmw8_u.add drop) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:27:33: error: type mismatch in i64.atomic.rmw16_u.add, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:30:33: error: type mismatch in i64.atomic.rmw16_u.add, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.rmw16_u.add drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:28:33: error: type mismatch in i64.atomic.rmw32_u.add, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:31:33: error: type mismatch in i64.atomic.rmw32_u.add, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.rmw32_u.add drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:29:33: error: type mismatch in i32.atomic.rmw.sub, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:32:33: error: type mismatch in i32.atomic.rmw.sub, expected i32 but got f32. (func f32.const 0 i32.const 0 i32.atomic.rmw.sub drop) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:30:33: error: type mismatch in i64.atomic.rmw.sub, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:33:33: error: type mismatch in i64.atomic.rmw.sub, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.rmw.sub drop) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:31:33: error: type mismatch in i32.atomic.rmw8_u.sub, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:34:33: error: type mismatch in i32.atomic.rmw8_u.sub, expected i32 but got f32. (func f32.const 0 i32.const 0 i32.atomic.rmw8_u.sub drop) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:32:33: error: type mismatch in i32.atomic.rmw16_u.sub, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:35:33: error: type mismatch in i32.atomic.rmw16_u.sub, expected i32 but got f32. (func f32.const 0 i32.const 0 i32.atomic.rmw16_u.sub drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:33:33: error: type mismatch in i64.atomic.rmw8_u.sub, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:36:33: error: type mismatch in i64.atomic.rmw8_u.sub, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.rmw8_u.sub drop) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:34:33: error: type mismatch in i64.atomic.rmw16_u.sub, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:37:33: error: type mismatch in i64.atomic.rmw16_u.sub, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.rmw16_u.sub drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:35:33: error: type mismatch in i64.atomic.rmw32_u.sub, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:38:33: error: type mismatch in i64.atomic.rmw32_u.sub, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.rmw32_u.sub drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:36:33: error: type mismatch in i32.atomic.rmw.and, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:39:33: error: type mismatch in i32.atomic.rmw.and, expected i32 but got f32. (func f32.const 0 i32.const 0 i32.atomic.rmw.and drop) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:37:33: error: type mismatch in i64.atomic.rmw.and, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:40:33: error: type mismatch in i64.atomic.rmw.and, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.rmw.and drop) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:38:33: error: type mismatch in i32.atomic.rmw8_u.and, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:41:33: error: type mismatch in i32.atomic.rmw8_u.and, expected i32 but got f32. (func f32.const 0 i32.const 0 i32.atomic.rmw8_u.and drop) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:39:33: error: type mismatch in i32.atomic.rmw16_u.and, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:42:33: error: type mismatch in i32.atomic.rmw16_u.and, expected i32 but got f32. (func f32.const 0 i32.const 0 i32.atomic.rmw16_u.and drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:40:33: error: type mismatch in i64.atomic.rmw8_u.and, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:43:33: error: type mismatch in i64.atomic.rmw8_u.and, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.rmw8_u.and drop) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:41:33: error: type mismatch in i64.atomic.rmw16_u.and, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:44:33: error: type mismatch in i64.atomic.rmw16_u.and, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.rmw16_u.and drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:42:33: error: type mismatch in i64.atomic.rmw32_u.and, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:45:33: error: type mismatch in i64.atomic.rmw32_u.and, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.rmw32_u.and drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:43:33: error: type mismatch in i32.atomic.rmw.or, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:46:33: error: type mismatch in i32.atomic.rmw.or, expected i32 but got f32. (func f32.const 0 i32.const 0 i32.atomic.rmw.or drop) ^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:44:33: error: type mismatch in i64.atomic.rmw.or, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:47:33: error: type mismatch in i64.atomic.rmw.or, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.rmw.or drop) ^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:45:33: error: type mismatch in i32.atomic.rmw8_u.or, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:48:33: error: type mismatch in i32.atomic.rmw8_u.or, expected i32 but got f32. (func f32.const 0 i32.const 0 i32.atomic.rmw8_u.or drop) ^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:46:33: error: type mismatch in i32.atomic.rmw16_u.or, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:49:33: error: type mismatch in i32.atomic.rmw16_u.or, expected i32 but got f32. (func f32.const 0 i32.const 0 i32.atomic.rmw16_u.or drop) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:47:33: error: type mismatch in i64.atomic.rmw8_u.or, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:50:33: error: type mismatch in i64.atomic.rmw8_u.or, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.rmw8_u.or drop) ^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:48:33: error: type mismatch in i64.atomic.rmw16_u.or, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:51:33: error: type mismatch in i64.atomic.rmw16_u.or, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.rmw16_u.or drop) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:49:33: error: type mismatch in i64.atomic.rmw32_u.or, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:52:33: error: type mismatch in i64.atomic.rmw32_u.or, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.rmw32_u.or drop) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:50:33: error: type mismatch in i32.atomic.rmw.xor, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:53:33: error: type mismatch in i32.atomic.rmw.xor, expected i32 but got f32. (func f32.const 0 i32.const 0 i32.atomic.rmw.xor drop) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:51:33: error: type mismatch in i64.atomic.rmw.xor, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:54:33: error: type mismatch in i64.atomic.rmw.xor, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.rmw.xor drop) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:52:33: error: type mismatch in i32.atomic.rmw8_u.xor, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:55:33: error: type mismatch in i32.atomic.rmw8_u.xor, expected i32 but got f32. (func f32.const 0 i32.const 0 i32.atomic.rmw8_u.xor drop) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:53:33: error: type mismatch in i32.atomic.rmw16_u.xor, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:56:33: error: type mismatch in i32.atomic.rmw16_u.xor, expected i32 but got f32. (func f32.const 0 i32.const 0 i32.atomic.rmw16_u.xor drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:54:33: error: type mismatch in i64.atomic.rmw8_u.xor, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:57:33: error: type mismatch in i64.atomic.rmw8_u.xor, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.rmw8_u.xor drop) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:55:33: error: type mismatch in i64.atomic.rmw16_u.xor, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:58:33: error: type mismatch in i64.atomic.rmw16_u.xor, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.rmw16_u.xor drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:56:33: error: type mismatch in i64.atomic.rmw32_u.xor, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:59:33: error: type mismatch in i64.atomic.rmw32_u.xor, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.rmw32_u.xor drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:57:33: error: type mismatch in i32.atomic.rmw.xchg, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:60:33: error: type mismatch in i32.atomic.rmw.xchg, expected i32 but got f32. (func f32.const 0 i32.const 0 i32.atomic.rmw.xchg drop) ^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:58:33: error: type mismatch in i64.atomic.rmw.xchg, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:61:33: error: type mismatch in i64.atomic.rmw.xchg, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.rmw.xchg drop) ^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:59:33: error: type mismatch in i32.atomic.rmw8_u.xchg, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:62:33: error: type mismatch in i32.atomic.rmw8_u.xchg, expected i32 but got f32. (func f32.const 0 i32.const 0 i32.atomic.rmw8_u.xchg drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:60:33: error: type mismatch in i32.atomic.rmw16_u.xchg, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:63:33: error: type mismatch in i32.atomic.rmw16_u.xchg, expected i32 but got f32. (func f32.const 0 i32.const 0 i32.atomic.rmw16_u.xchg drop) ^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:61:33: error: type mismatch in i64.atomic.rmw8_u.xchg, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:64:33: error: type mismatch in i64.atomic.rmw8_u.xchg, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.rmw8_u.xchg drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:62:33: error: type mismatch in i64.atomic.rmw16_u.xchg, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:65:33: error: type mismatch in i64.atomic.rmw16_u.xchg, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.rmw16_u.xchg drop) ^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:63:33: error: type mismatch in i64.atomic.rmw32_u.xchg, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:66:33: error: type mismatch in i64.atomic.rmw32_u.xchg, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.atomic.rmw32_u.xchg drop) ^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:64:45: error: type mismatch in i32.atomic.rmw.cmpxchg, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:67:45: error: type mismatch in i32.atomic.rmw.cmpxchg, expected i32 but got f32. (func f32.const 0 i32.const 0 i32.const 0 i32.atomic.rmw.cmpxchg drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:65:45: error: type mismatch in i64.atomic.rmw.cmpxchg, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:68:45: error: type mismatch in i64.atomic.rmw.cmpxchg, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw.cmpxchg drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:66:45: error: type mismatch in i32.atomic.rmw8_u.cmpxchg, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:69:45: error: type mismatch in i32.atomic.rmw8_u.cmpxchg, expected i32 but got f32. (func f32.const 0 i32.const 0 i32.const 0 i32.atomic.rmw8_u.cmpxchg drop) ^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:67:45: error: type mismatch in i32.atomic.rmw16_u.cmpxchg, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:70:45: error: type mismatch in i32.atomic.rmw16_u.cmpxchg, expected i32 but got f32. (func f32.const 0 i32.const 0 i32.const 0 i32.atomic.rmw16_u.cmpxchg drop) ^^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:68:45: error: type mismatch in i64.atomic.rmw8_u.cmpxchg, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:71:45: error: type mismatch in i64.atomic.rmw8_u.cmpxchg, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw8_u.cmpxchg drop) ^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:69:45: error: type mismatch in i64.atomic.rmw16_u.cmpxchg, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:72:45: error: type mismatch in i64.atomic.rmw16_u.cmpxchg, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw16_u.cmpxchg drop) ^^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:70:45: error: type mismatch in i64.atomic.rmw32_u.cmpxchg, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:73:45: error: type mismatch in i64.atomic.rmw32_u.cmpxchg, expected i32 but got f32. (func f32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw32_u.cmpxchg drop) ^^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:73:33: error: type mismatch in i32.atomic.store, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:76:33: error: type mismatch in wake, expected i32 but got f32. + (func i32.const 0 f32.const 0 wake drop) + ^^^^ +out/test/typecheck/bad-atomic-type-mismatch.txt:77:45: error: type mismatch in i32.wait, expected i32 but got f32. + (func i32.const 0 f32.const 0 i64.const 0 i32.wait drop) + ^^^^^^^^ +out/test/typecheck/bad-atomic-type-mismatch.txt:78:45: error: type mismatch in i64.wait, expected i64 but got f64. + (func i32.const 0 f64.const 0 i64.const 0 i64.wait drop) + ^^^^^^^^ +out/test/typecheck/bad-atomic-type-mismatch.txt:79:33: error: type mismatch in i32.atomic.store, expected i32 but got f32. (func i32.const 0 f32.const 0 i32.atomic.store) ^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:74:33: error: type mismatch in i64.atomic.store, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:80:33: error: type mismatch in i64.atomic.store, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.store) ^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:75:33: error: type mismatch in i32.atomic.store8, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:81:33: error: type mismatch in i32.atomic.store8, expected i32 but got f32. (func i32.const 0 f32.const 0 i32.atomic.store8) ^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:76:33: error: type mismatch in i32.atomic.store16, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:82:33: error: type mismatch in i32.atomic.store16, expected i32 but got f32. (func i32.const 0 f32.const 0 i32.atomic.store16) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:77:33: error: type mismatch in i64.atomic.store8, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:83:33: error: type mismatch in i64.atomic.store8, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.store8) ^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:78:33: error: type mismatch in i64.atomic.store16, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:84:33: error: type mismatch in i64.atomic.store16, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.store16) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:79:33: error: type mismatch in i64.atomic.store32, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:85:33: error: type mismatch in i64.atomic.store32, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.store32) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:80:33: error: type mismatch in i32.atomic.rmw.add, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:86:33: error: type mismatch in i32.atomic.rmw.add, expected i32 but got f32. (func i32.const 0 f32.const 0 i32.atomic.rmw.add drop) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:81:33: error: type mismatch in i64.atomic.rmw.add, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:87:33: error: type mismatch in i64.atomic.rmw.add, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.rmw.add drop) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:82:33: error: type mismatch in i32.atomic.rmw8_u.add, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:88:33: error: type mismatch in i32.atomic.rmw8_u.add, expected i32 but got f32. (func i32.const 0 f32.const 0 i32.atomic.rmw8_u.add drop) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:83:33: error: type mismatch in i32.atomic.rmw16_u.add, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:89:33: error: type mismatch in i32.atomic.rmw16_u.add, expected i32 but got f32. (func i32.const 0 f32.const 0 i32.atomic.rmw16_u.add drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:84:33: error: type mismatch in i64.atomic.rmw8_u.add, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:90:33: error: type mismatch in i64.atomic.rmw8_u.add, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.rmw8_u.add drop) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:85:33: error: type mismatch in i64.atomic.rmw16_u.add, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:91:33: error: type mismatch in i64.atomic.rmw16_u.add, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.rmw16_u.add drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:86:33: error: type mismatch in i64.atomic.rmw32_u.add, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:92:33: error: type mismatch in i64.atomic.rmw32_u.add, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.rmw32_u.add drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:87:33: error: type mismatch in i32.atomic.rmw.sub, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:93:33: error: type mismatch in i32.atomic.rmw.sub, expected i32 but got f32. (func i32.const 0 f32.const 0 i32.atomic.rmw.sub drop) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:88:33: error: type mismatch in i64.atomic.rmw.sub, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:94:33: error: type mismatch in i64.atomic.rmw.sub, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.rmw.sub drop) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:89:33: error: type mismatch in i32.atomic.rmw8_u.sub, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:95:33: error: type mismatch in i32.atomic.rmw8_u.sub, expected i32 but got f32. (func i32.const 0 f32.const 0 i32.atomic.rmw8_u.sub drop) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:90:33: error: type mismatch in i32.atomic.rmw16_u.sub, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:96:33: error: type mismatch in i32.atomic.rmw16_u.sub, expected i32 but got f32. (func i32.const 0 f32.const 0 i32.atomic.rmw16_u.sub drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:91:33: error: type mismatch in i64.atomic.rmw8_u.sub, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:97:33: error: type mismatch in i64.atomic.rmw8_u.sub, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.rmw8_u.sub drop) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:92:33: error: type mismatch in i64.atomic.rmw16_u.sub, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:98:33: error: type mismatch in i64.atomic.rmw16_u.sub, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.rmw16_u.sub drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:93:33: error: type mismatch in i64.atomic.rmw32_u.sub, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:99:33: error: type mismatch in i64.atomic.rmw32_u.sub, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.rmw32_u.sub drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:94:33: error: type mismatch in i32.atomic.rmw.and, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:100:33: error: type mismatch in i32.atomic.rmw.and, expected i32 but got f32. (func i32.const 0 f32.const 0 i32.atomic.rmw.and drop) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:95:33: error: type mismatch in i64.atomic.rmw.and, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:101:33: error: type mismatch in i64.atomic.rmw.and, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.rmw.and drop) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:96:33: error: type mismatch in i32.atomic.rmw8_u.and, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:102:33: error: type mismatch in i32.atomic.rmw8_u.and, expected i32 but got f32. (func i32.const 0 f32.const 0 i32.atomic.rmw8_u.and drop) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:97:33: error: type mismatch in i32.atomic.rmw16_u.and, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:103:33: error: type mismatch in i32.atomic.rmw16_u.and, expected i32 but got f32. (func i32.const 0 f32.const 0 i32.atomic.rmw16_u.and drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:98:33: error: type mismatch in i64.atomic.rmw8_u.and, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:104:33: error: type mismatch in i64.atomic.rmw8_u.and, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.rmw8_u.and drop) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:99:33: error: type mismatch in i64.atomic.rmw16_u.and, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:105:33: error: type mismatch in i64.atomic.rmw16_u.and, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.rmw16_u.and drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:100:33: error: type mismatch in i64.atomic.rmw32_u.and, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:106:33: error: type mismatch in i64.atomic.rmw32_u.and, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.rmw32_u.and drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:101:33: error: type mismatch in i32.atomic.rmw.or, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:107:33: error: type mismatch in i32.atomic.rmw.or, expected i32 but got f32. (func i32.const 0 f32.const 0 i32.atomic.rmw.or drop) ^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:102:33: error: type mismatch in i64.atomic.rmw.or, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:108:33: error: type mismatch in i64.atomic.rmw.or, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.rmw.or drop) ^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:103:33: error: type mismatch in i32.atomic.rmw8_u.or, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:109:33: error: type mismatch in i32.atomic.rmw8_u.or, expected i32 but got f32. (func i32.const 0 f32.const 0 i32.atomic.rmw8_u.or drop) ^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:104:33: error: type mismatch in i32.atomic.rmw16_u.or, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:110:33: error: type mismatch in i32.atomic.rmw16_u.or, expected i32 but got f32. (func i32.const 0 f32.const 0 i32.atomic.rmw16_u.or drop) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:105:33: error: type mismatch in i64.atomic.rmw8_u.or, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:111:33: error: type mismatch in i64.atomic.rmw8_u.or, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.rmw8_u.or drop) ^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:106:33: error: type mismatch in i64.atomic.rmw16_u.or, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:112:33: error: type mismatch in i64.atomic.rmw16_u.or, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.rmw16_u.or drop) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:107:33: error: type mismatch in i64.atomic.rmw32_u.or, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:113:33: error: type mismatch in i64.atomic.rmw32_u.or, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.rmw32_u.or drop) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:108:33: error: type mismatch in i32.atomic.rmw.xor, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:114:33: error: type mismatch in i32.atomic.rmw.xor, expected i32 but got f32. (func i32.const 0 f32.const 0 i32.atomic.rmw.xor drop) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:109:33: error: type mismatch in i64.atomic.rmw.xor, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:115:33: error: type mismatch in i64.atomic.rmw.xor, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.rmw.xor drop) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:110:33: error: type mismatch in i32.atomic.rmw8_u.xor, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:116:33: error: type mismatch in i32.atomic.rmw8_u.xor, expected i32 but got f32. (func i32.const 0 f32.const 0 i32.atomic.rmw8_u.xor drop) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:111:33: error: type mismatch in i32.atomic.rmw16_u.xor, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:117:33: error: type mismatch in i32.atomic.rmw16_u.xor, expected i32 but got f32. (func i32.const 0 f32.const 0 i32.atomic.rmw16_u.xor drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:112:33: error: type mismatch in i64.atomic.rmw8_u.xor, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:118:33: error: type mismatch in i64.atomic.rmw8_u.xor, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.rmw8_u.xor drop) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:113:33: error: type mismatch in i64.atomic.rmw16_u.xor, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:119:33: error: type mismatch in i64.atomic.rmw16_u.xor, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.rmw16_u.xor drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:114:33: error: type mismatch in i64.atomic.rmw32_u.xor, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:120:33: error: type mismatch in i64.atomic.rmw32_u.xor, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.rmw32_u.xor drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:115:33: error: type mismatch in i32.atomic.rmw.xchg, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:121:33: error: type mismatch in i32.atomic.rmw.xchg, expected i32 but got f32. (func i32.const 0 f32.const 0 i32.atomic.rmw.xchg drop) ^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:116:33: error: type mismatch in i64.atomic.rmw.xchg, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:122:33: error: type mismatch in i64.atomic.rmw.xchg, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.rmw.xchg drop) ^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:117:33: error: type mismatch in i32.atomic.rmw8_u.xchg, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:123:33: error: type mismatch in i32.atomic.rmw8_u.xchg, expected i32 but got f32. (func i32.const 0 f32.const 0 i32.atomic.rmw8_u.xchg drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:118:33: error: type mismatch in i32.atomic.rmw16_u.xchg, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:124:33: error: type mismatch in i32.atomic.rmw16_u.xchg, expected i32 but got f32. (func i32.const 0 f32.const 0 i32.atomic.rmw16_u.xchg drop) ^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:119:33: error: type mismatch in i64.atomic.rmw8_u.xchg, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:125:33: error: type mismatch in i64.atomic.rmw8_u.xchg, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.rmw8_u.xchg drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:120:33: error: type mismatch in i64.atomic.rmw16_u.xchg, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:126:33: error: type mismatch in i64.atomic.rmw16_u.xchg, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.rmw16_u.xchg drop) ^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:121:33: error: type mismatch in i64.atomic.rmw32_u.xchg, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:127:33: error: type mismatch in i64.atomic.rmw32_u.xchg, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.atomic.rmw32_u.xchg drop) ^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:122:45: error: type mismatch in i32.atomic.rmw.cmpxchg, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:128:45: error: type mismatch in i32.atomic.rmw.cmpxchg, expected i32 but got f32. (func i32.const 0 f32.const 0 i32.const 0 i32.atomic.rmw.cmpxchg drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:123:45: error: type mismatch in i64.atomic.rmw.cmpxchg, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:129:45: error: type mismatch in i64.atomic.rmw.cmpxchg, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.const 0 i64.atomic.rmw.cmpxchg drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:124:45: error: type mismatch in i32.atomic.rmw8_u.cmpxchg, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:130:45: error: type mismatch in i32.atomic.rmw8_u.cmpxchg, expected i32 but got f32. (func i32.const 0 f32.const 0 i32.const 0 i32.atomic.rmw8_u.cmpxchg drop) ^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:125:45: error: type mismatch in i32.atomic.rmw16_u.cmpxchg, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:131:45: error: type mismatch in i32.atomic.rmw16_u.cmpxchg, expected i32 but got f32. (func i32.const 0 f32.const 0 i32.const 0 i32.atomic.rmw16_u.cmpxchg drop) ^^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:126:45: error: type mismatch in i64.atomic.rmw8_u.cmpxchg, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:132:45: error: type mismatch in i64.atomic.rmw8_u.cmpxchg, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.const 0 i64.atomic.rmw8_u.cmpxchg drop) ^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:127:45: error: type mismatch in i64.atomic.rmw16_u.cmpxchg, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:133:45: error: type mismatch in i64.atomic.rmw16_u.cmpxchg, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.const 0 i64.atomic.rmw16_u.cmpxchg drop) ^^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:128:45: error: type mismatch in i64.atomic.rmw32_u.cmpxchg, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:134:45: error: type mismatch in i64.atomic.rmw32_u.cmpxchg, expected i64 but got f64. (func i32.const 0 f64.const 0 i64.const 0 i64.atomic.rmw32_u.cmpxchg drop) ^^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:131:45: error: type mismatch in i32.atomic.rmw.cmpxchg, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:137:45: error: type mismatch in i32.wait, expected i64 but got f64. + (func i32.const 0 i32.const 0 f64.const 0 i32.wait drop) + ^^^^^^^^ +out/test/typecheck/bad-atomic-type-mismatch.txt:138:45: error: type mismatch in i64.wait, expected i64 but got f64. + (func i32.const 0 i64.const 0 f64.const 0 i64.wait drop) + ^^^^^^^^ +out/test/typecheck/bad-atomic-type-mismatch.txt:139:45: error: type mismatch in i32.atomic.rmw.cmpxchg, expected i32 but got f32. (func i32.const 0 i32.const 0 f32.const 0 i32.atomic.rmw.cmpxchg drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:132:45: error: type mismatch in i64.atomic.rmw.cmpxchg, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:140:45: error: type mismatch in i64.atomic.rmw.cmpxchg, expected i64 but got f64. (func i32.const 0 i64.const 0 f64.const 0 i64.atomic.rmw.cmpxchg drop) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:133:45: error: type mismatch in i32.atomic.rmw8_u.cmpxchg, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:141:45: error: type mismatch in i32.atomic.rmw8_u.cmpxchg, expected i32 but got f32. (func i32.const 0 i32.const 0 f32.const 0 i32.atomic.rmw8_u.cmpxchg drop) ^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:134:45: error: type mismatch in i32.atomic.rmw16_u.cmpxchg, expected i32 but got f32. +out/test/typecheck/bad-atomic-type-mismatch.txt:142:45: error: type mismatch in i32.atomic.rmw16_u.cmpxchg, expected i32 but got f32. (func i32.const 0 i32.const 0 f32.const 0 i32.atomic.rmw16_u.cmpxchg drop) ^^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:135:45: error: type mismatch in i64.atomic.rmw8_u.cmpxchg, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:143:45: error: type mismatch in i64.atomic.rmw8_u.cmpxchg, expected i64 but got f64. (func i32.const 0 i64.const 0 f64.const 0 i64.atomic.rmw8_u.cmpxchg drop) ^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:136:45: error: type mismatch in i64.atomic.rmw16_u.cmpxchg, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:144:45: error: type mismatch in i64.atomic.rmw16_u.cmpxchg, expected i64 but got f64. (func i32.const 0 i64.const 0 f64.const 0 i64.atomic.rmw16_u.cmpxchg drop) ^^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:137:45: error: type mismatch in i64.atomic.rmw32_u.cmpxchg, expected i64 but got f64. +out/test/typecheck/bad-atomic-type-mismatch.txt:145:45: error: type mismatch in i64.atomic.rmw32_u.cmpxchg, expected i64 but got f64. (func i32.const 0 i64.const 0 f64.const 0 i64.atomic.rmw32_u.cmpxchg drop) ^^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:140:34: error: type mismatch in implicit return, expected f32 but got i32. +out/test/typecheck/bad-atomic-type-mismatch.txt:148:46: error: type mismatch in implicit return, expected f32 but got i32. + (func (result f32) i32.const 0 i32.const 0 wake) + ^^^^ +out/test/typecheck/bad-atomic-type-mismatch.txt:149:58: error: type mismatch in implicit return, expected f32 but got i32. + (func (result f32) i32.const 0 i32.const 0 i64.const 0 i32.wait) + ^^^^^^^^ +out/test/typecheck/bad-atomic-type-mismatch.txt:150:58: error: type mismatch in implicit return, expected f32 but got i32. + (func (result f32) i32.const 0 i64.const 0 i64.const 0 i64.wait) + ^^^^^^^^ +out/test/typecheck/bad-atomic-type-mismatch.txt:151:34: error: type mismatch in implicit return, expected f32 but got i32. (func (result f32) i32.const 0 i32.atomic.load) ^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:141:34: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:152:34: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.atomic.load) ^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:142:34: error: type mismatch in implicit return, expected f32 but got i32. +out/test/typecheck/bad-atomic-type-mismatch.txt:153:34: error: type mismatch in implicit return, expected f32 but got i32. (func (result f32) i32.const 0 i32.atomic.load8_u) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:143:34: error: type mismatch in implicit return, expected f32 but got i32. +out/test/typecheck/bad-atomic-type-mismatch.txt:154:34: error: type mismatch in implicit return, expected f32 but got i32. (func (result f32) i32.const 0 i32.atomic.load16_u) ^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:144:34: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:155:34: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.atomic.load8_u) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:145:34: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:156:34: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.atomic.load16_u) ^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:146:34: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:157:34: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.atomic.load32_u) ^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:147:46: error: type mismatch in implicit return, expected f32 but got i32. +out/test/typecheck/bad-atomic-type-mismatch.txt:158:46: error: type mismatch in implicit return, expected f32 but got i32. (func (result f32) i32.const 0 i32.const 0 i32.atomic.rmw.add) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:148:46: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:159:46: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.const 0 i64.atomic.rmw.add) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:149:46: error: type mismatch in implicit return, expected f32 but got i32. +out/test/typecheck/bad-atomic-type-mismatch.txt:160:46: error: type mismatch in implicit return, expected f32 but got i32. (func (result f32) i32.const 0 i32.const 0 i32.atomic.rmw8_u.add) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:150:46: error: type mismatch in implicit return, expected f32 but got i32. +out/test/typecheck/bad-atomic-type-mismatch.txt:161:46: error: type mismatch in implicit return, expected f32 but got i32. (func (result f32) i32.const 0 i32.const 0 i32.atomic.rmw16_u.add) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:151:46: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:162:46: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.const 0 i64.atomic.rmw8_u.add) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:152:46: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:163:46: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.const 0 i64.atomic.rmw16_u.add) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:153:46: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:164:46: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.const 0 i64.atomic.rmw32_u.add) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:154:46: error: type mismatch in implicit return, expected f32 but got i32. +out/test/typecheck/bad-atomic-type-mismatch.txt:165:46: error: type mismatch in implicit return, expected f32 but got i32. (func (result f32) i32.const 0 i32.const 0 i32.atomic.rmw.sub) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:155:46: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:166:46: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.const 0 i64.atomic.rmw.sub) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:156:46: error: type mismatch in implicit return, expected f32 but got i32. +out/test/typecheck/bad-atomic-type-mismatch.txt:167:46: error: type mismatch in implicit return, expected f32 but got i32. (func (result f32) i32.const 0 i32.const 0 i32.atomic.rmw8_u.sub) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:157:46: error: type mismatch in implicit return, expected f32 but got i32. +out/test/typecheck/bad-atomic-type-mismatch.txt:168:46: error: type mismatch in implicit return, expected f32 but got i32. (func (result f32) i32.const 0 i32.const 0 i32.atomic.rmw16_u.sub) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:158:46: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:169:46: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.const 0 i64.atomic.rmw8_u.sub) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:159:46: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:170:46: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.const 0 i64.atomic.rmw16_u.sub) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:160:46: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:171:46: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.const 0 i64.atomic.rmw32_u.sub) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:161:46: error: type mismatch in implicit return, expected f32 but got i32. +out/test/typecheck/bad-atomic-type-mismatch.txt:172:46: error: type mismatch in implicit return, expected f32 but got i32. (func (result f32) i32.const 0 i32.const 0 i32.atomic.rmw.and) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:162:46: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:173:46: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.const 0 i64.atomic.rmw.and) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:163:46: error: type mismatch in implicit return, expected f32 but got i32. +out/test/typecheck/bad-atomic-type-mismatch.txt:174:46: error: type mismatch in implicit return, expected f32 but got i32. (func (result f32) i32.const 0 i32.const 0 i32.atomic.rmw8_u.and) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:164:46: error: type mismatch in implicit return, expected f32 but got i32. +out/test/typecheck/bad-atomic-type-mismatch.txt:175:46: error: type mismatch in implicit return, expected f32 but got i32. (func (result f32) i32.const 0 i32.const 0 i32.atomic.rmw16_u.and) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:165:46: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:176:46: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.const 0 i64.atomic.rmw8_u.and) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:166:46: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:177:46: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.const 0 i64.atomic.rmw16_u.and) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:167:46: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:178:46: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.const 0 i64.atomic.rmw32_u.and) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:168:46: error: type mismatch in implicit return, expected f32 but got i32. +out/test/typecheck/bad-atomic-type-mismatch.txt:179:46: error: type mismatch in implicit return, expected f32 but got i32. (func (result f32) i32.const 0 i32.const 0 i32.atomic.rmw.or) ^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:169:46: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:180:46: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.const 0 i64.atomic.rmw.or) ^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:170:46: error: type mismatch in implicit return, expected f32 but got i32. +out/test/typecheck/bad-atomic-type-mismatch.txt:181:46: error: type mismatch in implicit return, expected f32 but got i32. (func (result f32) i32.const 0 i32.const 0 i32.atomic.rmw8_u.or) ^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:171:46: error: type mismatch in implicit return, expected f32 but got i32. +out/test/typecheck/bad-atomic-type-mismatch.txt:182:46: error: type mismatch in implicit return, expected f32 but got i32. (func (result f32) i32.const 0 i32.const 0 i32.atomic.rmw16_u.or) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:172:46: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:183:46: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.const 0 i64.atomic.rmw8_u.or) ^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:173:46: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:184:46: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.const 0 i64.atomic.rmw16_u.or) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:174:46: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:185:46: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.const 0 i64.atomic.rmw32_u.or) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:175:46: error: type mismatch in implicit return, expected f32 but got i32. +out/test/typecheck/bad-atomic-type-mismatch.txt:186:46: error: type mismatch in implicit return, expected f32 but got i32. (func (result f32) i32.const 0 i32.const 0 i32.atomic.rmw.xor) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:176:46: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:187:46: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.const 0 i64.atomic.rmw.xor) ^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:177:46: error: type mismatch in implicit return, expected f32 but got i32. +out/test/typecheck/bad-atomic-type-mismatch.txt:188:46: error: type mismatch in implicit return, expected f32 but got i32. (func (result f32) i32.const 0 i32.const 0 i32.atomic.rmw8_u.xor) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:178:46: error: type mismatch in implicit return, expected f32 but got i32. +out/test/typecheck/bad-atomic-type-mismatch.txt:189:46: error: type mismatch in implicit return, expected f32 but got i32. (func (result f32) i32.const 0 i32.const 0 i32.atomic.rmw16_u.xor) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:179:46: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:190:46: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.const 0 i64.atomic.rmw8_u.xor) ^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:180:46: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:191:46: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.const 0 i64.atomic.rmw16_u.xor) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:181:46: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:192:46: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.const 0 i64.atomic.rmw32_u.xor) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:182:46: error: type mismatch in implicit return, expected f32 but got i32. +out/test/typecheck/bad-atomic-type-mismatch.txt:193:46: error: type mismatch in implicit return, expected f32 but got i32. (func (result f32) i32.const 0 i32.const 0 i32.atomic.rmw.xchg) ^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:183:46: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:194:46: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.const 0 i64.atomic.rmw.xchg) ^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:184:46: error: type mismatch in implicit return, expected f32 but got i32. +out/test/typecheck/bad-atomic-type-mismatch.txt:195:46: error: type mismatch in implicit return, expected f32 but got i32. (func (result f32) i32.const 0 i32.const 0 i32.atomic.rmw8_u.xchg) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:185:46: error: type mismatch in implicit return, expected f32 but got i32. +out/test/typecheck/bad-atomic-type-mismatch.txt:196:46: error: type mismatch in implicit return, expected f32 but got i32. (func (result f32) i32.const 0 i32.const 0 i32.atomic.rmw16_u.xchg) ^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:186:46: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:197:46: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.const 0 i64.atomic.rmw8_u.xchg) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:187:46: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:198:46: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.const 0 i64.atomic.rmw16_u.xchg) ^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:188:46: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:199:46: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.const 0 i64.atomic.rmw32_u.xchg) ^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:189:58: error: type mismatch in implicit return, expected f32 but got i32. +out/test/typecheck/bad-atomic-type-mismatch.txt:200:58: error: type mismatch in implicit return, expected f32 but got i32. (func (result f32) i32.const 0 i32.const 0 i32.const 0 i32.atomic.rmw.cmpxchg) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:190:58: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:201:58: error: type mismatch in implicit return, expected f64 but got i64. (func (result f64) i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw.cmpxchg) ^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:191:58: error: type mismatch in implicit return, expected f32 but got i32. +out/test/typecheck/bad-atomic-type-mismatch.txt:202:58: error: type mismatch in implicit return, expected f32 but got i32. ...c (result f32) i32.const 0 i32.const 0 i32.const 0 i32.atomic.rmw8_u.cmpxchg) ^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:192:58: error: type mismatch in implicit return, expected f32 but got i32. +out/test/typecheck/bad-atomic-type-mismatch.txt:203:58: error: type mismatch in implicit return, expected f32 but got i32. ... (result f32) i32.const 0 i32.const 0 i32.const 0 i32.atomic.rmw16_u.cmpxchg) ^^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:193:58: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:204:58: error: type mismatch in implicit return, expected f64 but got i64. ...c (result f64) i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw8_u.cmpxchg) ^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:194:58: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:205:58: error: type mismatch in implicit return, expected f64 but got i64. ... (result f64) i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw16_u.cmpxchg) ^^^^^^^^^^^^^^^^^^^^^^^^^^ -out/test/typecheck/bad-atomic-type-mismatch.txt:195:58: error: type mismatch in implicit return, expected f64 but got i64. +out/test/typecheck/bad-atomic-type-mismatch.txt:206:58: error: type mismatch in implicit return, expected f64 but got i64. ... (result f64) i32.const 0 i64.const 0 i64.const 0 i64.atomic.rmw32_u.cmpxchg) ^^^^^^^^^^^^^^^^^^^^^^^^^^ ;;; STDERR ;;) |