diff options
author | Ben Smith <binjimin@gmail.com> | 2017-11-21 14:51:34 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-21 14:51:34 -0800 |
commit | a630c95d472dc1615640bfe7d33849d45631778c (patch) | |
tree | e9b4e6b3568d70f1fa767c2cc0a5d2d0eca7263a /src | |
parent | 49b7984544ddaf14d5e2f1ad9115dad7e9a2b299 (diff) | |
download | wabt-a630c95d472dc1615640bfe7d33849d45631778c.tar.gz wabt-a630c95d472dc1615640bfe7d33849d45631778c.tar.bz2 wabt-a630c95d472dc1615640bfe7d33849d45631778c.zip |
Rename {wake,wait} -> atomic.{wake,wait} (#672)
This was recently changed in the spec.
Diffstat (limited to 'src')
-rw-r--r-- | src/binary-reader-interp.cc | 28 | ||||
-rw-r--r-- | src/binary-reader-ir.cc | 38 | ||||
-rw-r--r-- | src/binary-reader-logging.cc | 4 | ||||
-rw-r--r-- | src/binary-reader-logging.h | 12 | ||||
-rw-r--r-- | src/binary-reader-nop.h | 8 | ||||
-rw-r--r-- | src/binary-reader.cc | 10 | ||||
-rw-r--r-- | src/binary-reader.h | 12 | ||||
-rw-r--r-- | src/binary-writer.cc | 12 | ||||
-rw-r--r-- | src/expr-visitor.cc | 16 | ||||
-rw-r--r-- | src/expr-visitor.h | 8 | ||||
-rw-r--r-- | src/interp.cc | 18 | ||||
-rw-r--r-- | src/ir.cc | 8 | ||||
-rw-r--r-- | src/ir.h | 14 | ||||
-rw-r--r-- | src/opcode.cc | 6 | ||||
-rw-r--r-- | src/opcode.def | 6 | ||||
-rw-r--r-- | src/prebuilt/wast-lexer-gen.cc | 5236 | ||||
-rw-r--r-- | src/token.h | 6 | ||||
-rw-r--r-- | src/type-checker.cc | 16 | ||||
-rw-r--r-- | src/type-checker.h | 4 | ||||
-rw-r--r-- | src/validator.cc | 16 | ||||
-rw-r--r-- | src/wast-lexer.cc | 6 | ||||
-rw-r--r-- | src/wast-parser.cc | 14 | ||||
-rw-r--r-- | src/wat-writer.cc | 20 |
23 files changed, 2779 insertions, 2739 deletions
diff --git a/src/binary-reader-interp.cc b/src/binary-reader-interp.cc index a49a38ce..884ffe58 100644 --- a/src/binary-reader-interp.cc +++ b/src/binary-reader-interp.cc @@ -148,6 +148,12 @@ class BinaryReaderInterp : public BinaryReaderNop { wabt::Result OnAtomicRmwCmpxchgExpr(Opcode opcode, uint32_t alignment_log2, Address offset) override; + wabt::Result OnAtomicWaitExpr(Opcode opcode, + uint32_t alignment_log2, + Address offset) override; + wabt::Result OnAtomicWakeExpr(Opcode opcode, + uint32_t alignment_log2, + Address offset) override; wabt::Result OnBinaryExpr(wabt::Opcode opcode) override; wabt::Result OnBlockExpr(Index num_types, Type* sig_types) override; wabt::Result OnBrExpr(Index depth) override; @@ -186,12 +192,6 @@ class BinaryReaderInterp : 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; @@ -1486,24 +1486,24 @@ wabt::Result BinaryReaderInterp::OnUnreachableExpr() { return wabt::Result::Ok; } -wabt::Result BinaryReaderInterp::OnWaitExpr(Opcode opcode, - uint32_t alignment_log2, - Address offset) { +wabt::Result BinaryReaderInterp::OnAtomicWaitExpr(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(typechecker_.OnAtomicWait(opcode)); CHECK_RESULT(EmitOpcode(opcode)); CHECK_RESULT(EmitI32(module_->memory_index)); CHECK_RESULT(EmitI32(offset)); return wabt::Result::Ok; } -wabt::Result BinaryReaderInterp::OnWakeExpr(Opcode opcode, - uint32_t alignment_log2, - Address offset) { +wabt::Result BinaryReaderInterp::OnAtomicWakeExpr(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(typechecker_.OnAtomicWake(opcode)); CHECK_RESULT(EmitOpcode(opcode)); CHECK_RESULT(EmitI32(module_->memory_index)); CHECK_RESULT(EmitI32(offset)); diff --git a/src/binary-reader-ir.cc b/src/binary-reader-ir.cc index 6ee7f9dc..1ef8209b 100644 --- a/src/binary-reader-ir.cc +++ b/src/binary-reader-ir.cc @@ -128,6 +128,12 @@ class BinaryReaderIR : public BinaryReaderNop { Result OnAtomicRmwCmpxchgExpr(Opcode opcode, uint32_t alignment_log2, Address offset) override; + wabt::Result OnAtomicWaitExpr(Opcode opcode, + uint32_t alignment_log2, + Address offset) override; + wabt::Result OnAtomicWakeExpr(Opcode opcode, + uint32_t alignment_log2, + Address offset) override; Result OnBinaryExpr(Opcode opcode) override; Result OnBlockExpr(Index num_types, Type* sig_types) override; Result OnBrExpr(Index depth) override; @@ -171,12 +177,6 @@ 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; @@ -555,6 +555,20 @@ Result BinaryReaderIR::OnAtomicRmwCmpxchgExpr(Opcode opcode, MakeUnique<AtomicRmwCmpxchgExpr>(opcode, 1 << alignment_log2, offset)); } +wabt::Result BinaryReaderIR::OnAtomicWaitExpr(Opcode opcode, + uint32_t alignment_log2, + Address offset) { + return AppendExpr( + MakeUnique<AtomicWaitExpr>(opcode, 1 << alignment_log2, offset)); +} + +wabt::Result BinaryReaderIR::OnAtomicWakeExpr(Opcode opcode, + uint32_t alignment_log2, + Address offset) { + return AppendExpr( + MakeUnique<AtomicWakeExpr>(opcode, 1 << alignment_log2, offset)); +} + Result BinaryReaderIR::OnBinaryExpr(Opcode opcode) { return AppendExpr(MakeUnique<BinaryExpr>(opcode, GetLocation())); } @@ -774,18 +788,6 @@ 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 ff169c17..a5e6b985 100644 --- a/src/binary-reader-logging.cc +++ b/src/binary-reader-logging.cc @@ -550,6 +550,8 @@ DEFINE_LOAD_STORE_OPCODE(OnAtomicLoadExpr); DEFINE_LOAD_STORE_OPCODE(OnAtomicRmwExpr); DEFINE_LOAD_STORE_OPCODE(OnAtomicRmwCmpxchgExpr); DEFINE_LOAD_STORE_OPCODE(OnAtomicStoreExpr); +DEFINE_LOAD_STORE_OPCODE(OnAtomicWaitExpr); +DEFINE_LOAD_STORE_OPCODE(OnAtomicWakeExpr); DEFINE_OPCODE(OnBinaryExpr) DEFINE_INDEX_DESC(OnCallExpr, "func_index") DEFINE_INDEX_DESC(OnCallIndirectExpr, "sig_index") @@ -576,8 +578,6 @@ 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 7b9346d4..9f8ccf89 100644 --- a/src/binary-reader-logging.h +++ b/src/binary-reader-logging.h @@ -189,12 +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 OnAtomicWaitExpr(Opcode opcode, + uint32_t alignment_log2, + Address offset) override; + Result OnAtomicWakeExpr(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 5a65f6ae..0d29269f 100644 --- a/src/binary-reader-nop.h +++ b/src/binary-reader-nop.h @@ -195,6 +195,12 @@ class BinaryReaderNop : public BinaryReaderDelegate { Address offset) override { return Result::Ok; } + Result OnAtomicWaitExpr(Opcode, uint32_t, Address) override { + return Result::Ok; + } + Result OnAtomicWakeExpr(Opcode, uint32_t, Address) override { + return Result::Ok; + } Result OnBinaryExpr(Opcode opcode) override { return Result::Ok; } Result OnBlockExpr(Index num_types, Type* sig_types) override { return Result::Ok; @@ -253,8 +259,6 @@ 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 06cf9bb4..1aeef2af 100644 --- a/src/binary-reader.cc +++ b/src/binary-reader.cc @@ -959,25 +959,25 @@ Result BinaryReader::ReadFunctionBody(Offset end_offset) { CALLBACK0(OnOpcodeBare); break; - case Opcode::Wake: { + case Opcode::AtomicWake: { 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(OnAtomicWakeExpr, opcode, alignment_log2, offset); CALLBACK(OnOpcodeUint32Uint32, alignment_log2, offset); break; } - case Opcode::I32Wait: - case Opcode::I64Wait: { + case Opcode::I32AtomicWait: + case Opcode::I64AtomicWait: { 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(OnAtomicWaitExpr, opcode, alignment_log2, offset); CALLBACK(OnOpcodeUint32Uint32, alignment_log2, offset); break; } diff --git a/src/binary-reader.h b/src/binary-reader.h index 5d923f3e..d9634d77 100644 --- a/src/binary-reader.h +++ b/src/binary-reader.h @@ -191,6 +191,12 @@ class BinaryReaderDelegate { virtual Result OnAtomicRmwCmpxchgExpr(Opcode opcode, uint32_t alignment_log2, Address offset) = 0; + virtual Result OnAtomicWaitExpr(Opcode opcode, + uint32_t alignment_log2, + Address offset) = 0; + virtual Result OnAtomicWakeExpr(Opcode opcode, + uint32_t alignment_log2, + Address offset) = 0; virtual Result OnBinaryExpr(Opcode opcode) = 0; virtual Result OnBlockExpr(Index num_types, Type* sig_types) = 0; virtual Result OnBrExpr(Index depth) = 0; @@ -236,12 +242,6 @@ 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 b0af2c35..c77f645a 100644 --- a/src/binary-writer.cc +++ b/src/binary-writer.cc @@ -359,6 +359,12 @@ void BinaryWriter::WriteExpr(const Module* module, case ExprType::AtomicStore: WriteLoadStoreExpr<AtomicStoreExpr>(module, func, expr, "memory offset"); break; + case ExprType::AtomicWait: + WriteLoadStoreExpr<AtomicWaitExpr>(module, func, expr, "memory offset"); + break; + case ExprType::AtomicWake: + WriteLoadStoreExpr<AtomicWakeExpr>(module, func, expr, "memory offset"); + break; case ExprType::Binary: WriteOpcode(stream_, cast<BinaryExpr>(expr)->opcode); break; @@ -545,12 +551,6 @@ 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 27ffed09..85255523 100644 --- a/src/expr-visitor.cc +++ b/src/expr-visitor.cc @@ -42,6 +42,14 @@ Result ExprVisitor::VisitExpr(Expr* expr) { delegate_->OnAtomicRmwCmpxchgExpr(cast<AtomicRmwCmpxchgExpr>(expr))); break; + case ExprType::AtomicWait: + CHECK_RESULT(delegate_->OnAtomicWaitExpr(cast<AtomicWaitExpr>(expr))); + break; + + case ExprType::AtomicWake: + CHECK_RESULT(delegate_->OnAtomicWakeExpr(cast<AtomicWakeExpr>(expr))); + break; + case ExprType::Binary: CHECK_RESULT(delegate_->OnBinaryExpr(cast<BinaryExpr>(expr))); break; @@ -184,14 +192,6 @@ 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 43db7dc3..a0e39d17 100644 --- a/src/expr-visitor.h +++ b/src/expr-visitor.h @@ -77,8 +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 OnAtomicWaitExpr(AtomicWaitExpr*) = 0; + virtual Result OnAtomicWakeExpr(AtomicWakeExpr*) = 0; virtual Result OnAtomicLoadExpr(AtomicLoadExpr*) = 0; virtual Result OnAtomicStoreExpr(AtomicStoreExpr*) = 0; virtual Result OnAtomicRmwExpr(AtomicRmwExpr*) = 0; @@ -123,8 +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 OnAtomicWaitExpr(AtomicWaitExpr*) override { return Result::Ok; } + Result OnAtomicWakeExpr(AtomicWakeExpr*) 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/interp.cc b/src/interp.cc index ea464957..b5414b82 100644 --- a/src/interp.cc +++ b/src/interp.cc @@ -2180,9 +2180,9 @@ Result Thread::Run(int num_instructions) { case Opcode::Nop: break; - case Opcode::I32Wait: - case Opcode::I64Wait: - case Opcode::Wake: + case Opcode::I32AtomicWait: + case Opcode::I64AtomicWait: + case Opcode::AtomicWake: // TODO(binji): Implement. TRAP(Unreachable); break; @@ -2329,7 +2329,7 @@ void Thread::Trace(Stream* stream) { break; } - case Opcode::Wake: + case Opcode::AtomicWake: case Opcode::I32AtomicStore: case Opcode::I32AtomicStore8: case Opcode::I32AtomicStore16: @@ -2409,7 +2409,7 @@ void Thread::Trace(Stream* stream) { break; } - case Opcode::I32Wait: { + case Opcode::I32AtomicWait: { Index memory_index = ReadU32(&pc); stream->Writef("%s $%" PRIindex ":%u+$%u, %u, %" PRIu64 "\n", opcode.GetName(), memory_index, Pick(3).i32, ReadU32At(pc), @@ -2417,7 +2417,7 @@ void Thread::Trace(Stream* stream) { break; } - case Opcode::I64Wait: + case Opcode::I64AtomicWait: case Opcode::I64AtomicRmwCmpxchg: case Opcode::I64AtomicRmw8UCmpxchg: case Opcode::I64AtomicRmw16UCmpxchg: @@ -2782,7 +2782,7 @@ void Environment::Disassemble(Stream* stream, break; } - case Opcode::Wake: + case Opcode::AtomicWake: case Opcode::I32AtomicStore: case Opcode::I64AtomicStore: case Opcode::I32AtomicStore8: @@ -2847,8 +2847,8 @@ void Environment::Disassemble(Stream* stream, break; } - case Opcode::I32Wait: - case Opcode::I64Wait: + case Opcode::I32AtomicWait: + case Opcode::I64AtomicWait: case Opcode::I32AtomicRmwCmpxchg: case Opcode::I64AtomicRmwCmpxchg: case Opcode::I32AtomicRmw8UCmpxchg: @@ -24,6 +24,12 @@ namespace { const char* ExprTypeName[] = { + "AtomicLoad", + "AtomicRmw", + "AtomicRmwCmpxchg", + "AtomicStore", + "AtomicWait", + "AtomicWake", "Binary", "Block", "Br", @@ -54,8 +60,6 @@ const char* ExprTypeName[] = { "TryBlock", "Unary", "Unreachable", - "Wait", - "Wake" }; } // end of anonymous namespace @@ -151,9 +151,11 @@ struct FuncDeclaration { enum class ExprType { AtomicLoad, - AtomicStore, AtomicRmw, AtomicRmwCmpxchg, + AtomicStore, + AtomicWait, + AtomicWake, Binary, Block, Br, @@ -184,11 +186,9 @@ enum class ExprType { TryBlock, Unary, Unreachable, - Wait, - Wake, - First = Binary, - Last = Wake + First = AtomicLoad, + Last = Unreachable }; const char* GetExprTypeName(ExprType type); @@ -369,8 +369,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; +typedef LoadStoreExpr<ExprType::AtomicWait> AtomicWaitExpr; +typedef LoadStoreExpr<ExprType::AtomicWake> AtomicWakeExpr; struct Exception { Exception() = default; diff --git a/src/opcode.cc b/src/opcode.cc index 9679ef30..7d5ed34f 100644 --- a/src/opcode.cc +++ b/src/opcode.cc @@ -111,9 +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::AtomicWake: + case Opcode::I32AtomicWait: + case Opcode::I64AtomicWait: case Opcode::I32AtomicLoad: case Opcode::I64AtomicLoad: case Opcode::I32AtomicLoad8U: diff --git a/src/opcode.def b/src/opcode.def index dac3c8cb..90a31a50 100644 --- a/src/opcode.def +++ b/src/opcode.def @@ -234,9 +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, I32, ___, 4, 0xfe, 0x00, AtomicWake, "atomic.wake") +WABT_OPCODE(I32, I32, I32, I64, 4, 0xfe, 0x01, I32AtomicWait, "i32.atomic.wait") +WABT_OPCODE(I32, I32, I64, I64, 8, 0xfe, 0x02, I64AtomicWait, "i64.atomic.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 357f31c0..6467c068 100644 --- a/src/prebuilt/wast-lexer-gen.cc +++ b/src/prebuilt/wast-lexer-gen.cc @@ -743,8 +743,8 @@ YYCOND_i: if (yybm[0+yych] & 4) { goto yy81; } - if (yych <= 'f') { - if (yych <= ',') { + if (yych <= 'e') { + if (yych <= '+') { if (yych <= '#') { if (yych <= 0x1F) { if (yych <= 0x08) goto yy79; @@ -760,78 +760,76 @@ YYCOND_i: goto yy92; } else { if (yych <= ')') goto yy94; - if (yych == '+') goto yy96; - goto yy86; + if (yych <= '*') goto yy86; + goto yy96; } } } else { - if (yych <= ';') { - if (yych <= '0') { - if (yych <= '-') goto yy96; - if (yych <= '/') goto yy86; - goto yy97; + if (yych <= ':') { + if (yych <= '/') { + if (yych == '-') goto yy96; + goto yy86; } else { + if (yych <= '0') goto yy97; if (yych <= '9') goto yy99; - if (yych <= ':') goto yy86; - goto yy101; + goto yy86; } } else { - if (yych <= 'b') { + if (yych <= 'a') { + if (yych <= ';') goto yy101; if (yych <= '`') goto yy86; - if (yych <= 'a') goto yy102; - goto yy103; + goto yy102; } else { + if (yych <= 'b') goto yy103; if (yych <= 'c') goto yy104; if (yych <= 'd') goto yy105; - if (yych <= 'e') goto yy106; - goto yy107; + goto yy106; } } } } else { - if (yych <= 't') { - if (yych <= 'm') { - if (yych <= 'i') { + if (yych <= 'r') { + if (yych <= 'l') { + if (yych <= 'h') { + if (yych <= 'f') goto yy107; if (yych <= 'g') goto yy108; - if (yych <= 'h') goto yy86; - goto yy109; + goto yy86; } else { + if (yych <= 'i') goto yy109; if (yych <= 'k') goto yy86; - if (yych <= 'l') goto yy110; - goto yy111; + goto yy110; } } else { - if (yych <= 'p') { + if (yych <= 'o') { + if (yych <= 'm') goto yy111; if (yych <= 'n') goto yy112; - if (yych <= 'o') goto yy113; - goto yy114; + goto yy113; } else { + if (yych <= 'p') goto yy114; if (yych <= 'q') goto yy115; - if (yych <= 'r') goto yy116; - if (yych <= 's') goto yy117; - goto yy118; + goto yy116; } } } else { if (yych <= 0xC1) { - if (yych <= 'w') { - if (yych <= 'u') goto yy119; - if (yych <= 'v') goto yy86; - goto yy120; + if (yych <= 'u') { + if (yych <= 's') goto yy117; + if (yych <= 't') goto yy118; + goto yy119; } else { if (yych <= '~') goto yy86; - if (yych >= 0x80) goto yy121; + if (yych >= 0x80) goto yy120; } } else { if (yych <= 0xEF) { - if (yych <= 0xDF) goto yy123; - if (yych <= 0xE0) goto yy124; - goto yy125; + if (yych <= 0xDF) goto yy122; + if (yych <= 0xE0) goto yy123; + goto yy124; } else { - if (yych <= 0xF0) goto yy126; - if (yych <= 0xF3) goto yy127; - if (yych <= 0xF4) goto yy128; - goto yy121; + if (yych <= 0xF0) goto yy125; + if (yych <= 0xF3) goto yy126; + if (yych <= 0xF4) goto yy127; + goto yy120; } } } @@ -841,7 +839,7 @@ yy79: yy80: #line 564 "src/wast-lexer.cc" { ERROR("unexpected char"); continue; } -#line 845 "src/prebuilt/wast-lexer-gen.cc" +#line 843 "src/prebuilt/wast-lexer-gen.cc" yy81: ++cursor_; if (limit_ <= cursor_) FILL(1); @@ -851,12 +849,12 @@ yy81: } #line 562 "src/wast-lexer.cc" { continue; } -#line 855 "src/prebuilt/wast-lexer-gen.cc" +#line 853 "src/prebuilt/wast-lexer-gen.cc" yy84: ++cursor_; #line 561 "src/wast-lexer.cc" { NEWLINE; continue; } -#line 860 "src/prebuilt/wast-lexer-gen.cc" +#line 858 "src/prebuilt/wast-lexer-gen.cc" yy86: ++cursor_; if (limit_ <= cursor_) FILL(1); @@ -868,56 +866,56 @@ yy87: yy88: #line 563 "src/wast-lexer.cc" { RETURN_TEXT(Reserved); } -#line 872 "src/prebuilt/wast-lexer-gen.cc" +#line 870 "src/prebuilt/wast-lexer-gen.cc" yy89: yyaccept = 0; yych = *(marker_ = ++cursor_); if (yych <= 0x1F) goto yy90; - if (yych <= 0x7F) goto yy130; + if (yych <= 0x7F) goto yy129; if (yych <= 0xC1) goto yy90; - if (yych <= 0xF4) goto yy130; + if (yych <= 0xF4) goto yy129; yy90: BEGIN(YYCOND_BAD_TEXT); #line 239 "src/wast-lexer.cc" { continue; } -#line 884 "src/prebuilt/wast-lexer-gen.cc" +#line 882 "src/prebuilt/wast-lexer-gen.cc" yy91: yych = *++cursor_; if (yych <= '\'') { - if (yych == '!') goto yy142; + if (yych == '!') goto yy141; if (yych <= '"') goto yy88; - goto yy142; + goto yy141; } else { if (yych <= ':') { if (yych <= ')') goto yy88; - goto yy142; + goto yy141; } else { if (yych <= ';') goto yy88; - if (yych <= '~') goto yy142; + if (yych <= '~') goto yy141; goto yy88; } } yy92: ++cursor_; - if ((yych = *cursor_) == ';') goto yy144; + if ((yych = *cursor_) == ';') goto yy143; #line 230 "src/wast-lexer.cc" { RETURN(Lpar); } -#line 906 "src/prebuilt/wast-lexer-gen.cc" +#line 904 "src/prebuilt/wast-lexer-gen.cc" yy94: ++cursor_; #line 231 "src/wast-lexer.cc" { RETURN(Rpar); } -#line 911 "src/prebuilt/wast-lexer-gen.cc" +#line 909 "src/prebuilt/wast-lexer-gen.cc" yy96: yych = *++cursor_; if (yych <= 'h') { if (yych <= '/') goto yy87; - if (yych <= '0') goto yy146; - if (yych <= '9') goto yy148; + if (yych <= '0') goto yy145; + if (yych <= '9') goto yy147; goto yy87; } else { - if (yych <= 'i') goto yy150; - if (yych == 'n') goto yy151; + if (yych <= 'i') goto yy149; + if (yych == 'n') goto yy150; goto yy87; } yy97: @@ -933,7 +931,7 @@ yy97: if (yych <= '-') { if (yych >= '*') goto yy86; } else { - if (yych <= '.') goto yy152; + if (yych <= '.') goto yy151; if (yych <= ':') goto yy86; } } @@ -941,17 +939,17 @@ yy97: if (yych <= 'd') { if (yych <= 'E') { if (yych <= 'D') goto yy86; - goto yy154; + goto yy153; } else { - if (yych == '_') goto yy155; + if (yych == '_') goto yy154; goto yy86; } } else { if (yych <= 'w') { - if (yych <= 'e') goto yy154; + if (yych <= 'e') goto yy153; goto yy86; } else { - if (yych <= 'x') goto yy156; + if (yych <= 'x') goto yy155; if (yych <= '~') goto yy86; } } @@ -959,7 +957,7 @@ yy97: yy98: #line 232 "src/wast-lexer.cc" { RETURN_LITERAL(Nat, Int); } -#line 963 "src/prebuilt/wast-lexer-gen.cc" +#line 961 "src/prebuilt/wast-lexer-gen.cc" yy99: ++cursor_; if ((limit_ - cursor_) < 3) FILL(3); @@ -974,20 +972,20 @@ yy99: goto yy86; } else { if (yych <= ')') goto yy98; - if (yych == '.') goto yy152; + if (yych == '.') goto yy151; goto yy86; } } else { if (yych <= '^') { if (yych <= ';') goto yy98; - if (yych == 'E') goto yy154; + if (yych == 'E') goto yy153; goto yy86; } else { if (yych <= 'd') { - if (yych <= '_') goto yy155; + if (yych <= '_') goto yy154; goto yy86; } else { - if (yych <= 'e') goto yy154; + if (yych <= 'e') goto yy153; if (yych <= '~') goto yy86; goto yy98; } @@ -995,16 +993,18 @@ yy99: } yy101: yych = *++cursor_; - if (yych == ';') goto yy157; + if (yych == ';') goto yy156; goto yy80; yy102: yych = *++cursor_; - if (yych <= 'm') { - if (yych == 'l') goto yy159; - goto yy87; + if (yych <= 'n') { + if (yych == 'l') goto yy158; + if (yych <= 'm') goto yy87; + goto yy159; } else { - if (yych <= 'n') goto yy160; - if (yych == 's') goto yy161; + if (yych <= 'r') goto yy87; + if (yych <= 's') goto yy160; + if (yych <= 't') goto yy161; goto yy87; } yy103: @@ -1137,207 +1137,203 @@ yy119: if (yych == 'n') goto yy203; goto yy87; yy120: - yych = *++cursor_; - if (yych == 'a') goto yy204; - goto yy87; -yy121: ++cursor_; -yy122: +yy121: #line 565 "src/wast-lexer.cc" { MAYBE_MALFORMED_UTF8(""); } -#line 1149 "src/prebuilt/wast-lexer-gen.cc" -yy123: +#line 1145 "src/prebuilt/wast-lexer-gen.cc" +yy122: yych = *++cursor_; - if (yych <= 0x7F) goto yy122; + if (yych <= 0x7F) goto yy121; if (yych <= 0xBF) goto yy79; - goto yy122; + goto yy121; +yy123: + yyaccept = 1; + yych = *(marker_ = ++cursor_); + if (yych <= 0x9F) goto yy121; + if (yych <= 0xBF) goto yy204; + goto yy121; yy124: yyaccept = 1; yych = *(marker_ = ++cursor_); - if (yych <= 0x9F) goto yy122; - if (yych <= 0xBF) goto yy205; - goto yy122; + if (yych <= 0x7F) goto yy121; + if (yych <= 0xBF) goto yy204; + goto yy121; yy125: yyaccept = 1; yych = *(marker_ = ++cursor_); - if (yych <= 0x7F) goto yy122; + if (yych <= 0x8F) goto yy121; if (yych <= 0xBF) goto yy205; - goto yy122; + goto yy121; yy126: yyaccept = 1; yych = *(marker_ = ++cursor_); - if (yych <= 0x8F) goto yy122; - if (yych <= 0xBF) goto yy206; - goto yy122; + if (yych <= 0x7F) goto yy121; + if (yych <= 0xBF) goto yy205; + goto yy121; yy127: yyaccept = 1; yych = *(marker_ = ++cursor_); - if (yych <= 0x7F) goto yy122; - if (yych <= 0xBF) goto yy206; - goto yy122; + if (yych <= 0x7F) goto yy121; + if (yych <= 0x8F) goto yy205; + goto yy121; 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_; -yy130: +yy129: if (yybm[0+yych] & 32) { - goto yy129; + goto yy128; } if (yych <= 0xDF) { if (yych <= '"') { - if (yych >= ' ') goto yy132; + if (yych >= ' ') goto yy131; } else { - if (yych <= '\\') goto yy134; - if (yych >= 0xC2) goto yy135; + if (yych <= '\\') goto yy133; + if (yych >= 0xC2) goto yy134; } } else { if (yych <= 0xF0) { - if (yych <= 0xE0) goto yy136; - if (yych <= 0xEF) goto yy137; - goto yy138; + if (yych <= 0xE0) goto yy135; + if (yych <= 0xEF) goto yy136; + goto yy137; } else { - if (yych <= 0xF3) goto yy139; - if (yych <= 0xF4) goto yy140; + if (yych <= 0xF3) goto yy138; + if (yych <= 0xF4) goto yy139; } } -yy131: +yy130: cursor_ = marker_; if (yyaccept == 0) { goto yy90; } else { - goto yy122; + goto yy121; } -yy132: +yy131: ++cursor_; #line 238 "src/wast-lexer.cc" { RETURN_TEXT(Text); } -#line 1221 "src/prebuilt/wast-lexer-gen.cc" -yy134: +#line 1217 "src/prebuilt/wast-lexer-gen.cc" +yy133: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; if (yych <= '[') { if (yych <= '\'') { - if (yych == '"') goto yy129; - if (yych <= '&') goto yy131; - goto yy129; + if (yych == '"') goto yy128; + if (yych <= '&') goto yy130; + goto yy128; } else { if (yych <= '9') { - if (yych <= '/') goto yy131; - goto yy207; + if (yych <= '/') goto yy130; + goto yy206; } else { - if (yych <= '@') goto yy131; - if (yych <= 'F') goto yy207; - goto yy131; + if (yych <= '@') goto yy130; + if (yych <= 'F') goto yy206; + goto yy130; } } } else { if (yych <= 'n') { if (yych <= '`') { - if (yych <= '\\') goto yy129; - goto yy131; + if (yych <= '\\') goto yy128; + goto yy130; } else { - if (yych <= 'f') goto yy207; - if (yych <= 'm') goto yy131; - goto yy129; + if (yych <= 'f') goto yy206; + if (yych <= 'm') goto yy130; + goto yy128; } } else { if (yych <= 'r') { - if (yych <= 'q') goto yy131; - goto yy129; + if (yych <= 'q') goto yy130; + goto yy128; } else { - if (yych == 't') goto yy129; - goto yy131; + if (yych == 't') goto yy128; + goto yy130; } } } +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 <= 0x7F) goto yy131; - if (yych <= 0xBF) goto yy129; - goto yy131; + if (yych <= 0x9F) goto yy130; + if (yych <= 0xBF) goto yy134; + goto yy130; yy136: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; - if (yych <= 0x9F) goto yy131; - if (yych <= 0xBF) goto yy135; - goto yy131; + if (yych <= 0x7F) goto yy130; + if (yych <= 0xBF) goto yy134; + goto yy130; yy137: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; - if (yych <= 0x7F) goto yy131; - if (yych <= 0xBF) goto yy135; - goto yy131; + if (yych <= 0x8F) goto yy130; + if (yych <= 0xBF) goto yy136; + goto yy130; yy138: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; - if (yych <= 0x8F) goto yy131; - if (yych <= 0xBF) goto yy137; - goto yy131; + if (yych <= 0x7F) goto yy130; + if (yych <= 0xBF) goto yy136; + goto yy130; yy139: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; - if (yych <= 0x7F) goto yy131; - if (yych <= 0xBF) goto yy137; - goto yy131; + if (yych <= 0x7F) goto yy130; + if (yych <= 0x8F) goto yy136; + goto yy130; 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 yy141; + goto yy140; } - if (yych <= ')') goto yy143; + if (yych <= ')') goto yy142; if (yych <= ',') goto yy86; - if (yych <= ';') goto yy143; + if (yych <= ';') goto yy142; if (yych <= '}') goto yy86; -yy143: +yy142: #line 547 "src/wast-lexer.cc" { RETURN_TEXT(Var); } -#line 1318 "src/prebuilt/wast-lexer-gen.cc" -yy144: +#line 1314 "src/prebuilt/wast-lexer-gen.cc" +yy143: ++cursor_; BEGIN(YYCOND_BLOCK_COMMENT); #line 553 "src/wast-lexer.cc" { COMMENT_NESTING = 1; continue; } -#line 1324 "src/prebuilt/wast-lexer-gen.cc" -yy146: +#line 1320 "src/prebuilt/wast-lexer-gen.cc" +yy145: ++cursor_; if ((yych = *cursor_) <= ':') { if (yych <= ')') { if (yych <= '!') { if (yych >= '!') goto yy86; } else { - if (yych <= '"') goto yy147; + if (yych <= '"') goto yy146; if (yych <= '\'') goto yy86; } } else { if (yych <= '.') { if (yych <= '-') goto yy86; - goto yy152; + goto yy151; } else { if (yych <= '/') goto yy86; - if (yych <= '9') goto yy148; + if (yych <= '9') goto yy147; goto yy86; } } @@ -1346,108 +1342,108 @@ yy146: if (yych <= 'D') { if (yych >= '<') goto yy86; } else { - if (yych <= 'E') goto yy154; + if (yych <= 'E') goto yy153; if (yych <= '^') goto yy86; - goto yy208; + goto yy207; } } else { if (yych <= 'w') { - if (yych == 'e') goto yy154; + if (yych == 'e') goto yy153; goto yy86; } else { - if (yych <= 'x') goto yy209; + if (yych <= 'x') goto yy208; if (yych <= '~') goto yy86; } } } -yy147: +yy146: #line 233 "src/wast-lexer.cc" { RETURN_LITERAL(Int, Int); } -#line 1367 "src/prebuilt/wast-lexer-gen.cc" -yy148: +#line 1363 "src/prebuilt/wast-lexer-gen.cc" +yy147: ++cursor_; if ((limit_ - cursor_) < 3) FILL(3); yych = *cursor_; if (yych <= '9') { if (yych <= '\'') { if (yych == '!') goto yy86; - if (yych <= '"') goto yy147; + if (yych <= '"') goto yy146; goto yy86; } else { if (yych <= '-') { - if (yych <= ')') goto yy147; + if (yych <= ')') goto yy146; goto yy86; } else { - if (yych <= '.') goto yy152; + if (yych <= '.') goto yy151; if (yych <= '/') goto yy86; - goto yy148; + goto yy147; } } } else { if (yych <= '^') { if (yych <= ';') { if (yych <= ':') goto yy86; - goto yy147; + goto yy146; } else { - if (yych == 'E') goto yy154; + if (yych == 'E') goto yy153; goto yy86; } } else { if (yych <= 'd') { - if (yych <= '_') goto yy208; + if (yych <= '_') goto yy207; goto yy86; } else { - if (yych <= 'e') goto yy154; + if (yych <= 'e') goto yy153; if (yych <= '~') goto yy86; - goto yy147; + goto yy146; } } } -yy150: +yy149: yych = *++cursor_; - if (yych == 'n') goto yy210; + if (yych == 'n') goto yy209; goto yy87; -yy151: +yy150: yych = *++cursor_; if (yych == 'a') goto yy189; goto yy87; -yy152: +yy151: ++cursor_; if ((yych = *cursor_) <= '9') { if (yych <= '"') { if (yych == '!') goto yy86; } else { if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy153; + if (yych <= ')') goto yy152; if (yych <= '/') goto yy86; - goto yy211; + goto yy210; } } else { if (yych <= 'E') { - if (yych == ';') goto yy153; + if (yych == ';') goto yy152; if (yych <= 'D') goto yy86; - goto yy154; + goto yy153; } else { - if (yych == 'e') goto yy154; + if (yych == 'e') goto yy153; if (yych <= '~') goto yy86; } } -yy153: +yy152: #line 234 "src/wast-lexer.cc" { RETURN_LITERAL(Float, Float); } -#line 1439 "src/prebuilt/wast-lexer-gen.cc" -yy154: +#line 1435 "src/prebuilt/wast-lexer-gen.cc" +yy153: yych = *++cursor_; if (yych <= ',') { - if (yych == '+') goto yy213; + if (yych == '+') goto yy212; goto yy87; } else { - if (yych <= '-') goto yy213; + if (yych <= '-') goto yy212; if (yych <= '/') goto yy87; - if (yych <= '9') goto yy214; + if (yych <= '9') goto yy213; goto yy87; } -yy155: +yy154: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; @@ -1468,12 +1464,12 @@ yy155: goto yy88; } } -yy156: +yy155: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; if (yybm[0+yych] & 128) { - goto yy216; + goto yy215; } if (yych <= '\'') { if (yych == '!') goto yy86; @@ -1489,23 +1485,27 @@ yy156: goto yy88; } } -yy157: +yy156: ++cursor_; BEGIN(YYCOND_LINE_COMMENT); #line 550 "src/wast-lexer.cc" { continue; } -#line 1498 "src/prebuilt/wast-lexer-gen.cc" +#line 1494 "src/prebuilt/wast-lexer-gen.cc" +yy158: + yych = *++cursor_; + if (yych == 'i') goto yy217; + goto yy87; yy159: yych = *++cursor_; - if (yych == 'i') goto yy218; + if (yych == 'y') goto yy218; goto yy87; yy160: yych = *++cursor_; - if (yych == 'y') goto yy219; + if (yych == 's') goto yy219; goto yy87; yy161: yych = *++cursor_; - if (yych == 's') goto yy220; + if (yych == 'o') goto yy220; goto yy87; yy162: yych = *++cursor_; @@ -1703,33 +1703,29 @@ yy203: goto yy87; yy204: yych = *++cursor_; - if (yych == 'k') goto yy280; - goto yy87; + if (yych <= 0x7F) goto yy130; + if (yych <= 0xBF) goto yy79; + goto yy130; yy205: yych = *++cursor_; - if (yych <= 0x7F) goto yy131; - if (yych <= 0xBF) goto yy79; - goto yy131; + if (yych <= 0x7F) goto yy130; + if (yych <= 0xBF) goto yy204; + goto yy130; 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 yy131; - if (yych <= '9') goto yy129; - goto yy131; + if (yych <= '/') goto yy130; + if (yych <= '9') goto yy128; + goto yy130; } else { - if (yych <= 'F') goto yy129; - if (yych <= '`') goto yy131; - if (yych <= 'f') goto yy129; - goto yy131; + if (yych <= 'F') goto yy128; + if (yych <= '`') goto yy130; + if (yych <= 'f') goto yy128; + goto yy130; } -yy208: +yy207: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; @@ -1745,7 +1741,7 @@ yy208: } else { if (yych <= ':') { if (yych <= '/') goto yy86; - if (yych <= '9') goto yy148; + if (yych <= '9') goto yy147; goto yy86; } else { if (yych <= ';') goto yy88; @@ -1753,7 +1749,7 @@ yy208: goto yy88; } } -yy209: +yy208: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; @@ -1765,56 +1761,56 @@ yy209: if (yych <= '\'') goto yy86; if (yych <= ')') goto yy88; if (yych <= '/') goto yy86; - goto yy281; + goto yy280; } } else { if (yych <= 'F') { if (yych == ';') goto yy88; if (yych <= '@') goto yy86; - goto yy281; + goto yy280; } else { if (yych <= '`') goto yy86; - if (yych <= 'f') goto yy281; + if (yych <= 'f') goto yy280; if (yych <= '~') goto yy86; goto yy88; } } -yy210: +yy209: yych = *++cursor_; if (yych == 'f') goto yy249; goto yy87; -yy211: +yy210: ++cursor_; if ((limit_ - cursor_) < 2) FILL(2); yych = *cursor_; if (yych <= ':') { if (yych <= '\'') { if (yych == '!') goto yy86; - if (yych <= '"') goto yy153; + if (yych <= '"') goto yy152; goto yy86; } else { - if (yych <= ')') goto yy153; + if (yych <= ')') goto yy152; if (yych <= '/') goto yy86; - if (yych <= '9') goto yy211; + if (yych <= '9') goto yy210; goto yy86; } } else { if (yych <= '^') { - if (yych <= ';') goto yy153; - if (yych == 'E') goto yy154; + if (yych <= ';') goto yy152; + if (yych == 'E') goto yy153; goto yy86; } else { if (yych <= 'd') { - if (yych <= '_') goto yy283; + if (yych <= '_') goto yy282; goto yy86; } else { - if (yych <= 'e') goto yy154; + if (yych <= 'e') goto yy153; if (yych <= '~') goto yy86; - goto yy153; + goto yy152; } } } -yy213: +yy212: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; @@ -1837,36 +1833,36 @@ yy213: goto yy88; } } -yy214: +yy213: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; if (yych <= '/') { if (yych <= '"') { if (yych == '!') goto yy86; - goto yy153; + goto yy152; } else { if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy153; + if (yych <= ')') goto yy152; goto yy86; } } else { if (yych <= ';') { - if (yych <= '9') goto yy214; + if (yych <= '9') goto yy213; if (yych <= ':') goto yy86; - goto yy153; + goto yy152; } else { - if (yych == '_') goto yy213; + if (yych == '_') goto yy212; if (yych <= '~') goto yy86; - goto yy153; + goto yy152; } } -yy216: +yy215: ++cursor_; if ((limit_ - cursor_) < 3) FILL(3); yych = *cursor_; if (yybm[0+yych] & 128) { - goto yy216; + goto yy215; } if (yych <= ':') { if (yych <= '\'') { @@ -1875,36 +1871,40 @@ yy216: goto yy86; } else { if (yych <= ')') goto yy98; - if (yych == '.') goto yy284; + if (yych == '.') goto yy283; goto yy86; } } else { if (yych <= '^') { if (yych <= ';') goto yy98; - if (yych == 'P') goto yy286; + if (yych == 'P') goto yy285; goto yy86; } else { if (yych <= 'o') { - if (yych <= '_') goto yy156; + if (yych <= '_') goto yy155; goto yy86; } else { - if (yych <= 'p') goto yy286; + if (yych <= 'p') goto yy285; if (yych <= '~') goto yy86; goto yy98; } } } +yy217: + yych = *++cursor_; + if (yych == 'g') goto yy286; + goto yy87; yy218: yych = *++cursor_; - if (yych == 'g') goto yy287; + if (yych == 'f') goto yy287; goto yy87; yy219: yych = *++cursor_; - if (yych == 'f') goto yy288; + if (yych == 'e') goto yy288; goto yy87; yy220: yych = *++cursor_; - if (yych == 'e') goto yy289; + if (yych == 'm') goto yy289; goto yy87; yy221: yych = *++cursor_; @@ -2228,57 +2228,53 @@ yy279: if (yych == 'e') goto yy343; goto yy87; 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 yy147; + if (yych <= ' ') goto yy146; goto yy86; } else { - if (yych <= '"') goto yy147; + if (yych <= '"') goto yy146; if (yych <= '\'') goto yy86; - goto yy147; + goto yy146; } } else { if (yych <= '/') { - if (yych == '.') goto yy284; + if (yych == '.') goto yy283; goto yy86; } else { - if (yych <= '9') goto yy281; + if (yych <= '9') goto yy280; if (yych <= ':') goto yy86; - goto yy147; + goto yy146; } } } else { if (yych <= '_') { if (yych <= 'O') { if (yych <= '@') goto yy86; - if (yych <= 'F') goto yy281; + if (yych <= 'F') goto yy280; goto yy86; } else { - if (yych <= 'P') goto yy286; + if (yych <= 'P') goto yy285; if (yych <= '^') goto yy86; - goto yy209; + goto yy208; } } else { if (yych <= 'o') { if (yych <= '`') goto yy86; - if (yych <= 'f') goto yy281; + if (yych <= 'f') goto yy280; goto yy86; } else { - if (yych <= 'p') goto yy286; + if (yych <= 'p') goto yy285; if (yych <= '~') goto yy86; - goto yy147; + goto yy146; } } } -yy283: +yy282: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; @@ -2294,7 +2290,7 @@ yy283: } else { if (yych <= ':') { if (yych <= '/') goto yy86; - if (yych <= '9') goto yy211; + if (yych <= '9') goto yy210; goto yy86; } else { if (yych <= ';') goto yy88; @@ -2302,7 +2298,7 @@ yy283: goto yy88; } } -yy284: +yy283: ++cursor_; if ((yych = *cursor_) <= ';') { if (yych <= '\'') { @@ -2312,7 +2308,7 @@ yy284: if (yych <= '/') { if (yych >= '*') goto yy86; } else { - if (yych <= '9') goto yy346; + if (yych <= '9') goto yy344; if (yych <= ':') goto yy86; } } @@ -2320,63 +2316,67 @@ yy284: if (yych <= '`') { if (yych <= 'F') { if (yych <= '@') goto yy86; - goto yy346; + goto yy344; } else { - if (yych == 'P') goto yy286; + if (yych == 'P') goto yy285; goto yy86; } } else { if (yych <= 'o') { - if (yych <= 'f') goto yy346; + if (yych <= 'f') goto yy344; goto yy86; } else { - if (yych <= 'p') goto yy286; + if (yych <= 'p') goto yy285; if (yych <= '~') goto yy86; } } } -yy285: +yy284: #line 235 "src/wast-lexer.cc" { RETURN_LITERAL(Float, Hexfloat); } -#line 2342 "src/prebuilt/wast-lexer-gen.cc" -yy286: +#line 2338 "src/prebuilt/wast-lexer-gen.cc" +yy285: yych = *++cursor_; if (yych <= ',') { - if (yych == '+') goto yy348; + if (yych == '+') goto yy346; goto yy87; } else { - if (yych <= '-') goto yy348; + if (yych <= '-') goto yy346; if (yych <= '/') goto yy87; - if (yych <= '9') goto yy349; + if (yych <= '9') goto yy347; goto yy87; } +yy286: + yych = *++cursor_; + if (yych == 'n') goto yy349; + goto yy87; yy287: yych = *++cursor_; - if (yych == 'n') goto yy351; + if (yych == 'u') goto yy350; goto yy87; yy288: yych = *++cursor_; - if (yych == 'u') goto yy352; + if (yych == 'r') goto yy351; goto yy87; yy289: yych = *++cursor_; - if (yych == 'r') goto yy353; + if (yych == 'i') goto yy352; goto yy87; yy290: yych = *++cursor_; - if (yych == 'r') goto yy354; + if (yych == 'r') goto yy353; goto yy87; yy291: yych = *++cursor_; - if (yych == 'k') goto yy355; + if (yych == 'k') goto yy354; goto yy87; yy292: yych = *++cursor_; - if (yych == 'f') goto yy357; + if (yych == 'f') goto yy356; goto yy87; yy293: yych = *++cursor_; - if (yych == 'a') goto yy359; + if (yych == 'a') goto yy358; goto yy87; yy294: ++cursor_; @@ -2391,7 +2391,7 @@ yy294: if (yych <= '^') { if (yych != ';') goto yy86; } else { - if (yych <= '_') goto yy360; + if (yych <= '_') goto yy359; if (yych <= '~') goto yy86; } } @@ -2401,11 +2401,11 @@ yy295: #line 2402 "src/prebuilt/wast-lexer-gen.cc" yy296: yych = *++cursor_; - if (yych == 'h') goto yy361; + if (yych == 'h') goto yy360; goto yy87; yy297: yych = *++cursor_; - if (yych == 'e') goto yy363; + if (yych == 'e') goto yy362; goto yy87; yy298: ++cursor_; @@ -2441,45 +2441,45 @@ yy304: #line 2442 "src/prebuilt/wast-lexer-gen.cc" yy306: yych = *++cursor_; - if (yych == 'p') goto yy364; + if (yych == 'p') goto yy363; goto yy87; yy307: yych = *++cursor_; - if (yych == 'r') goto yy365; + if (yych == 'r') goto yy364; goto yy87; yy308: yych = *++cursor_; switch (yych) { - 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; + case 'a': goto yy365; + case 'c': goto yy366; + case 'd': goto yy367; + case 'e': goto yy368; + case 'f': goto yy369; + case 'g': goto yy370; + case 'l': goto yy371; + case 'm': goto yy372; + case 'n': goto yy373; + case 'r': goto yy374; + case 's': goto yy375; + case 't': goto yy376; default: goto yy87; } yy309: yych = *++cursor_; switch (yych) { - 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; + case 'a': goto yy377; + case 'c': goto yy378; + case 'd': goto yy379; + case 'e': goto yy380; + case 'f': goto yy381; + case 'g': goto yy382; + case 'l': goto yy383; + case 'm': goto yy384; + case 'n': goto yy385; + case 'p': goto yy386; + case 'r': goto yy387; + case 's': goto yy388; + case 't': goto yy389; default: goto yy87; } yy310: @@ -2492,68 +2492,67 @@ yy310: #line 2493 "src/prebuilt/wast-lexer-gen.cc" yy312: yych = *++cursor_; - if (yych == 'g') goto yy391; - if (yych == 'l') goto yy392; + if (yych == 'g') goto yy390; + if (yych == 'l') goto yy391; goto yy87; yy313: yych = *++cursor_; - if (yych == 'a') goto yy393; + if (yych == 'a') goto yy392; goto yy87; yy314: yych = *++cursor_; - if (yych == '_') goto yy394; + if (yych == '_') goto yy393; goto yy87; yy315: yych = *++cursor_; switch (yych) { - 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; + case 'a': goto yy394; + case 'c': goto yy395; + case 'd': goto yy396; + case 'e': goto yy397; + case 'g': goto yy398; + case 'l': goto yy399; + case 'm': goto yy400; + case 'n': goto yy401; + case 'o': goto yy402; + case 'p': goto yy403; + case 'r': goto yy404; + case 's': goto yy405; + case 't': goto yy406; + case 'w': goto yy407; + case 'x': goto yy408; default: goto yy87; } yy316: yych = *++cursor_; switch (yych) { - 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; + case 'a': goto yy409; + case 'c': goto yy410; + case 'd': goto yy411; + case 'e': goto yy412; + case 'g': goto yy413; + case 'l': goto yy414; + case 'm': goto yy415; + case 'n': goto yy416; + case 'o': goto yy417; + case 'p': goto yy418; + case 'r': goto yy419; + case 's': goto yy420; + case 't': goto yy421; + case 'x': goto yy422; default: goto yy87; } yy317: yych = *++cursor_; - if (yych == 'r') goto yy425; + if (yych == 'r') goto yy423; goto yy87; yy318: yych = *++cursor_; - if (yych == 'k') goto yy426; + if (yych == 'k') goto yy424; goto yy87; yy319: yych = *++cursor_; - if (yych == 'l') goto yy427; + if (yych == 'l') goto yy425; goto yy87; yy320: ++cursor_; @@ -2562,71 +2561,71 @@ yy320: } #line 262 "src/wast-lexer.cc" { RETURN_OPCODE0(Loop); } -#line 2566 "src/prebuilt/wast-lexer-gen.cc" +#line 2565 "src/prebuilt/wast-lexer-gen.cc" yy322: yych = *++cursor_; - if (yych == 'r') goto yy429; + if (yych == 'r') goto yy427; goto yy87; yy323: yych = *++cursor_; - if (yych == 'l') goto yy430; + if (yych == 'l') goto yy428; goto yy87; yy324: yych = *++cursor_; - if (yych == '0') goto yy431; + if (yych == '0') goto yy429; goto yy87; yy325: yych = *++cursor_; - if (yych == 'e') goto yy432; + if (yych == 'e') goto yy430; goto yy87; yy326: yych = *++cursor_; - if (yych == 'm') goto yy433; + if (yych == 'm') goto yy431; goto yy87; yy327: yych = *++cursor_; - if (yych == 'e') goto yy435; + if (yych == 'e') goto yy433; goto yy87; yy328: yych = *++cursor_; - if (yych == 's') goto yy437; + if (yych == 's') goto yy435; goto yy87; yy329: yych = *++cursor_; - if (yych == 'l') goto yy438; + if (yych == 'l') goto yy436; goto yy87; yy330: yych = *++cursor_; - if (yych == 'r') goto yy439; + if (yych == 'r') goto yy437; goto yy87; yy331: yych = *++cursor_; - if (yych == 'r') goto yy440; + if (yych == 'r') goto yy438; goto yy87; yy332: yych = *++cursor_; - if (yych == 'c') goto yy441; + if (yych == 'c') goto yy439; goto yy87; yy333: yych = *++cursor_; - if (yych == 'g') goto yy442; - if (yych == 'l') goto yy443; + if (yych == 'g') goto yy440; + if (yych == 'l') goto yy441; goto yy87; yy334: yych = *++cursor_; - if (yych == 'e') goto yy444; + if (yych == 'e') goto yy442; goto yy87; yy335: yych = *++cursor_; - if (yych == 't') goto yy445; + if (yych == 't') goto yy443; goto yy87; yy336: yych = *++cursor_; - if (yych == 'e') goto yy447; + if (yych == 'e') goto yy445; goto yy87; yy337: yych = *++cursor_; - if (yych == 'l') goto yy449; + if (yych == 'l') goto yy447; goto yy87; yy338: ++cursor_; @@ -2635,10 +2634,10 @@ yy338: } #line 260 "src/wast-lexer.cc" { RETURN(Then); } -#line 2639 "src/prebuilt/wast-lexer-gen.cc" +#line 2638 "src/prebuilt/wast-lexer-gen.cc" yy340: yych = *++cursor_; - if (yych == 'w') goto yy450; + if (yych == 'w') goto yy448; goto yy87; yy341: ++cursor_; @@ -2647,65 +2646,57 @@ yy341: } #line 513 "src/wast-lexer.cc" { RETURN(Type); } -#line 2651 "src/prebuilt/wast-lexer-gen.cc" +#line 2650 "src/prebuilt/wast-lexer-gen.cc" yy343: yych = *++cursor_; - if (yych == 'a') goto yy452; + if (yych == 'a') goto yy450; goto yy87; 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 yy285; + if (yych <= ' ') goto yy284; goto yy86; } else { - if (yych <= '"') goto yy285; + if (yych <= '"') goto yy284; if (yych <= '\'') goto yy86; - goto yy285; + goto yy284; } } else { if (yych <= '9') { if (yych <= '/') goto yy86; - goto yy346; + goto yy344; } else { - if (yych == ';') goto yy285; + if (yych == ';') goto yy284; goto yy86; } } } else { if (yych <= '_') { if (yych <= 'O') { - if (yych <= 'F') goto yy346; + if (yych <= 'F') goto yy344; goto yy86; } else { - if (yych <= 'P') goto yy286; + if (yych <= 'P') goto yy285; if (yych <= '^') goto yy86; - goto yy453; + goto yy451; } } else { if (yych <= 'o') { if (yych <= '`') goto yy86; - if (yych <= 'f') goto yy346; + if (yych <= 'f') goto yy344; goto yy86; } else { - if (yych <= 'p') goto yy286; + if (yych <= 'p') goto yy285; if (yych <= '~') goto yy86; - goto yy285; + goto yy284; } } } -yy348: +yy346: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; @@ -2728,550 +2719,549 @@ yy348: goto yy88; } } -yy349: +yy347: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; if (yych <= '/') { if (yych <= '"') { if (yych == '!') goto yy86; - goto yy285; + goto yy284; } else { if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy285; + if (yych <= ')') goto yy284; goto yy86; } } else { if (yych <= ';') { - if (yych <= '9') goto yy349; + if (yych <= '9') goto yy347; if (yych <= ':') goto yy86; - goto yy285; + goto yy284; } else { - if (yych == '_') goto yy348; + if (yych == '_') goto yy346; if (yych <= '~') goto yy86; - goto yy285; + goto yy284; } } +yy349: + yych = *++cursor_; + if (yych == '=') goto yy452; + goto yy87; +yy350: + yych = *++cursor_; + if (yych == 'n') goto yy453; + goto yy87; yy351: yych = *++cursor_; - if (yych == '=') goto yy454; + if (yych == 't') goto yy454; goto yy87; yy352: yych = *++cursor_; - if (yych == 'n') goto yy455; + if (yych == 'c') goto yy455; goto yy87; yy353: yych = *++cursor_; - if (yych == 't') goto yy456; + if (yych == 'y') goto yy456; goto yy87; yy354: - yych = *++cursor_; - if (yych == 'y') goto yy457; - goto yy87; -yy355: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 258 "src/wast-lexer.cc" { RETURN_OPCODE0(Block); } -#line 2779 "src/prebuilt/wast-lexer-gen.cc" -yy357: +#line 2774 "src/prebuilt/wast-lexer-gen.cc" +yy356: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 264 "src/wast-lexer.cc" { RETURN_OPCODE0(BrIf); } -#line 2787 "src/prebuilt/wast-lexer-gen.cc" -yy359: +#line 2782 "src/prebuilt/wast-lexer-gen.cc" +yy358: yych = *++cursor_; - if (yych == 'b') goto yy459; + if (yych == 'b') goto yy458; goto yy87; -yy360: +yy359: yych = *++cursor_; - if (yych == 'i') goto yy460; + if (yych == 'i') goto yy459; goto yy87; -yy361: +yy360: ++cursor_; if ((yych = *cursor_) <= ')') { if (yych <= '!') { if (yych >= '!') goto yy86; } else { - if (yych <= '"') goto yy362; + if (yych <= '"') goto yy361; if (yych <= '\'') goto yy86; } } else { if (yych <= '^') { if (yych != ';') goto yy86; } else { - if (yych <= '_') goto yy461; + if (yych <= '_') goto yy460; if (yych <= '~') goto yy86; } } -yy362: +yy361: #line 543 "src/wast-lexer.cc" { RETURN_OPCODE0(Catch); } -#line 2816 "src/prebuilt/wast-lexer-gen.cc" +#line 2811 "src/prebuilt/wast-lexer-gen.cc" +yy362: + yych = *++cursor_; + if (yych == 'n') goto yy461; + goto yy87; yy363: yych = *++cursor_; - if (yych == 'n') goto yy462; + if (yych == 't') goto yy462; goto yy87; yy364: yych = *++cursor_; - if (yych == 't') goto yy463; + if (yych == 't') goto yy464; goto yy87; yy365: yych = *++cursor_; - if (yych == 't') goto yy465; + if (yych == 'b') goto yy466; + if (yych == 'd') goto yy467; goto yy87; yy366: yych = *++cursor_; - if (yych == 'b') goto yy467; - if (yych == 'd') goto yy468; + if (yych == 'e') goto yy468; + if (yych == 'o') goto yy469; goto yy87; yy367: yych = *++cursor_; - if (yych == 'e') goto yy469; - if (yych == 'o') goto yy470; + if (yych == 'e') goto yy470; + if (yych == 'i') goto yy471; goto yy87; yy368: yych = *++cursor_; - if (yych == 'e') goto yy471; - if (yych == 'i') goto yy472; + if (yych == 'q') goto yy472; goto yy87; yy369: yych = *++cursor_; - if (yych == 'q') goto yy473; + if (yych == 'l') goto yy474; goto yy87; yy370: yych = *++cursor_; - if (yych == 'l') goto yy475; + if (yych == 'e') goto yy475; + if (yych == 't') goto yy477; goto yy87; yy371: yych = *++cursor_; - if (yych == 'e') goto yy476; - if (yych == 't') goto yy478; - goto yy87; -yy372: - yych = *++cursor_; if (yych <= 'n') { - if (yych == 'e') goto yy480; + if (yych == 'e') goto yy479; goto yy87; } else { - if (yych <= 'o') goto yy482; - if (yych == 't') goto yy483; + if (yych <= 'o') goto yy481; + if (yych == 't') goto yy482; goto yy87; } -yy373: +yy372: yych = *++cursor_; if (yych <= 'h') { - if (yych == 'a') goto yy485; + if (yych == 'a') goto yy484; goto yy87; } else { - if (yych <= 'i') goto yy486; - if (yych == 'u') goto yy487; + if (yych <= 'i') goto yy485; + if (yych == 'u') goto yy486; goto yy87; } -yy374: +yy373: yych = *++cursor_; - if (yych == 'e') goto yy488; + if (yych == 'e') goto yy487; goto yy87; -yy375: +yy374: yych = *++cursor_; - if (yych == 'e') goto yy490; + if (yych == 'e') goto yy489; goto yy87; -yy376: +yy375: yych = *++cursor_; if (yych <= 's') { - if (yych == 'q') goto yy491; + if (yych == 'q') goto yy490; goto yy87; } else { - if (yych <= 't') goto yy492; - if (yych <= 'u') goto yy493; + if (yych <= 't') goto yy491; + if (yych <= 'u') goto yy492; goto yy87; } +yy376: + yych = *++cursor_; + if (yych == 'r') goto yy493; + goto yy87; yy377: yych = *++cursor_; - if (yych == 'r') goto yy494; + if (yych == 'b') goto yy494; + if (yych == 'd') goto yy495; goto yy87; yy378: yych = *++cursor_; - if (yych == 'b') goto yy495; - if (yych == 'd') goto yy496; + if (yych == 'e') goto yy496; + if (yych == 'o') goto yy497; goto yy87; yy379: yych = *++cursor_; - if (yych == 'e') goto yy497; - if (yych == 'o') goto yy498; + if (yych == 'i') goto yy498; goto yy87; yy380: yych = *++cursor_; - if (yych == 'i') goto yy499; + if (yych == 'q') goto yy499; goto yy87; yy381: yych = *++cursor_; - if (yych == 'q') goto yy500; + if (yych == 'l') goto yy501; goto yy87; yy382: yych = *++cursor_; - if (yych == 'l') goto yy502; + if (yych == 'e') goto yy502; + if (yych == 't') goto yy504; goto yy87; yy383: yych = *++cursor_; - if (yych == 'e') goto yy503; - if (yych == 't') goto yy505; - goto yy87; -yy384: - yych = *++cursor_; if (yych <= 'n') { - if (yych == 'e') goto yy507; + if (yych == 'e') goto yy506; goto yy87; } else { - if (yych <= 'o') goto yy509; - if (yych == 't') goto yy510; + if (yych <= 'o') goto yy508; + if (yych == 't') goto yy509; goto yy87; } -yy385: +yy384: yych = *++cursor_; if (yych <= 'h') { - if (yych == 'a') goto yy512; + if (yych == 'a') goto yy511; goto yy87; } else { - if (yych <= 'i') goto yy513; - if (yych == 'u') goto yy514; + if (yych <= 'i') goto yy512; + if (yych == 'u') goto yy513; goto yy87; } +yy385: + yych = *++cursor_; + if (yych == 'e') goto yy514; + goto yy87; yy386: yych = *++cursor_; - if (yych == 'e') goto yy515; + if (yych == 'r') goto yy516; goto yy87; yy387: yych = *++cursor_; - if (yych == 'r') goto yy517; + if (yych == 'e') goto yy517; goto yy87; yy388: yych = *++cursor_; - if (yych == 'e') goto yy518; - goto yy87; -yy389: - yych = *++cursor_; if (yych <= 's') { - if (yych == 'q') goto yy519; + if (yych == 'q') goto yy518; goto yy87; } else { - if (yych <= 't') goto yy520; - if (yych <= 'u') goto yy521; + if (yych <= 't') goto yy519; + if (yych <= 'u') goto yy520; goto yy87; } +yy389: + yych = *++cursor_; + if (yych == 'r') goto yy521; + goto yy87; yy390: yych = *++cursor_; - if (yych == 'r') goto yy522; + if (yych == 'l') goto yy522; goto yy87; yy391: yych = *++cursor_; - if (yych == 'l') goto yy523; + if (yych == 'o') goto yy523; goto yy87; yy392: yych = *++cursor_; - if (yych == 'o') goto yy524; + if (yych == 'l') goto yy524; goto yy87; yy393: yych = *++cursor_; - if (yych == 'l') goto yy525; + if (yych == 'm') goto yy526; goto yy87; yy394: yych = *++cursor_; - if (yych == 'm') goto yy527; - goto yy87; -yy395: - yych = *++cursor_; if (yych <= 'm') { - if (yych == 'd') goto yy528; + if (yych == 'd') goto yy527; goto yy87; } else { - if (yych <= 'n') goto yy529; - if (yych == 't') goto yy530; + if (yych <= 'n') goto yy528; + if (yych == 't') goto yy529; goto yy87; } -yy396: +yy395: yych = *++cursor_; if (yych <= 'n') { - if (yych == 'l') goto yy531; + if (yych == 'l') goto yy530; goto yy87; } else { - if (yych <= 'o') goto yy532; - if (yych == 't') goto yy533; + if (yych <= 'o') goto yy531; + if (yych == 't') goto yy532; goto yy87; } +yy396: + yych = *++cursor_; + if (yych == 'i') goto yy533; + goto yy87; yy397: yych = *++cursor_; - if (yych == 'i') goto yy534; + if (yych == 'q') goto yy534; + if (yych == 'x') goto yy536; goto yy87; yy398: yych = *++cursor_; - if (yych == 'q') goto yy535; - if (yych == 'x') goto yy537; + if (yych == 'e') goto yy537; + if (yych == 't') goto yy538; goto yy87; yy399: yych = *++cursor_; - if (yych == 'e') goto yy538; - if (yych == 't') goto yy539; - goto yy87; -yy400: - yych = *++cursor_; if (yych <= 'n') { - if (yych == 'e') goto yy540; + if (yych == 'e') goto yy539; goto yy87; } else { - if (yych <= 'o') goto yy541; - if (yych == 't') goto yy542; + if (yych <= 'o') goto yy540; + if (yych == 't') goto yy541; goto yy87; } +yy400: + yych = *++cursor_; + if (yych == 'u') goto yy542; + goto yy87; yy401: yych = *++cursor_; - if (yych == 'u') goto yy543; + if (yych == 'e') goto yy543; goto yy87; yy402: yych = *++cursor_; - if (yych == 'e') goto yy544; + if (yych == 'r') goto yy545; goto yy87; yy403: yych = *++cursor_; - if (yych == 'r') goto yy546; + if (yych == 'o') goto yy547; goto yy87; yy404: yych = *++cursor_; - if (yych == 'o') goto yy548; + if (yych == 'e') goto yy548; + if (yych == 'o') goto yy549; goto yy87; yy405: yych = *++cursor_; - if (yych == 'e') goto yy549; - if (yych == 'o') goto yy550; - goto yy87; -yy406: - yych = *++cursor_; if (yych <= 's') { - if (yych == 'h') goto yy551; + if (yych == 'h') goto yy550; goto yy87; } else { - if (yych <= 't') goto yy552; - if (yych <= 'u') goto yy553; + if (yych <= 't') goto yy551; + if (yych <= 'u') goto yy552; goto yy87; } +yy406: + yych = *++cursor_; + if (yych == 'r') goto yy553; + goto yy87; yy407: yych = *++cursor_; if (yych == 'r') goto yy554; goto yy87; yy408: yych = *++cursor_; - if (yych == 'a') goto yy555; - if (yych == 'r') goto yy556; + if (yych == 'o') goto yy555; goto yy87; yy409: yych = *++cursor_; - if (yych == 'o') goto yy557; - goto yy87; -yy410: - yych = *++cursor_; if (yych <= 'm') { - if (yych == 'd') goto yy558; + if (yych == 'd') goto yy556; goto yy87; } else { - if (yych <= 'n') goto yy559; - if (yych == 't') goto yy560; + if (yych <= 'n') goto yy557; + if (yych == 't') goto yy558; goto yy87; } -yy411: +yy410: yych = *++cursor_; if (yych <= 'n') { - if (yych == 'l') goto yy561; + if (yych == 'l') goto yy559; goto yy87; } else { - if (yych <= 'o') goto yy562; - if (yych == 't') goto yy563; + if (yych <= 'o') goto yy560; + if (yych == 't') goto yy561; goto yy87; } +yy411: + yych = *++cursor_; + if (yych == 'i') goto yy562; + goto yy87; yy412: yych = *++cursor_; - if (yych == 'i') goto yy564; + if (yych == 'q') goto yy563; + if (yych == 'x') goto yy565; goto yy87; yy413: yych = *++cursor_; - if (yych == 'q') goto yy565; - if (yych == 'x') goto yy567; + if (yych == 'e') goto yy566; + if (yych == 't') goto yy567; goto yy87; yy414: yych = *++cursor_; - if (yych == 'e') goto yy568; - if (yych == 't') goto yy569; - goto yy87; -yy415: - yych = *++cursor_; if (yych <= 'n') { - if (yych == 'e') goto yy570; + if (yych == 'e') goto yy568; goto yy87; } else { - if (yych <= 'o') goto yy571; - if (yych == 't') goto yy572; + if (yych <= 'o') goto yy569; + if (yych == 't') goto yy570; goto yy87; } +yy415: + yych = *++cursor_; + if (yych == 'u') goto yy571; + goto yy87; yy416: yych = *++cursor_; - if (yych == 'u') goto yy573; + if (yych == 'e') goto yy572; goto yy87; yy417: yych = *++cursor_; - if (yych == 'e') goto yy574; + if (yych == 'r') goto yy574; goto yy87; yy418: yych = *++cursor_; - if (yych == 'r') goto yy576; + if (yych == 'o') goto yy576; goto yy87; yy419: yych = *++cursor_; + if (yych == 'e') goto yy577; if (yych == 'o') goto yy578; goto yy87; yy420: yych = *++cursor_; - if (yych == 'e') goto yy579; - if (yych == 'o') goto yy580; - goto yy87; -yy421: - yych = *++cursor_; if (yych <= 's') { - if (yych == 'h') goto yy581; + if (yych == 'h') goto yy579; goto yy87; } else { - if (yych <= 't') goto yy582; - if (yych <= 'u') goto yy583; + if (yych <= 't') goto yy580; + if (yych <= 'u') goto yy581; goto yy87; } +yy421: + yych = *++cursor_; + if (yych == 'r') goto yy582; + goto yy87; yy422: yych = *++cursor_; - if (yych == 'r') goto yy584; + if (yych == 'o') goto yy583; goto yy87; yy423: yych = *++cursor_; - if (yych == 'a') goto yy585; + if (yych == 't') goto yy584; goto yy87; yy424: yych = *++cursor_; - if (yych == 'o') goto yy586; + if (yych == 'e') goto yy586; goto yy87; yy425: - yych = *++cursor_; - if (yych == 't') goto yy587; - goto yy87; -yy426: - yych = *++cursor_; - if (yych == 'e') goto yy589; - goto yy87; -yy427: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 517 "src/wast-lexer.cc" { RETURN(Local); } -#line 3178 "src/prebuilt/wast-lexer-gen.cc" -yy429: +#line 3168 "src/prebuilt/wast-lexer-gen.cc" +yy427: yych = *++cursor_; - if (yych == 'y') goto yy591; + if (yych == 'y') goto yy588; goto yy87; -yy430: +yy428: yych = *++cursor_; - if (yych == 'e') goto yy593; + if (yych == 'e') goto yy590; goto yy87; -yy431: +yy429: yych = *++cursor_; - if (yych == 'x') goto yy595; + if (yych == 'x') goto yy592; goto yy87; -yy432: +yy430: yych = *++cursor_; - if (yych == 't') goto yy596; + if (yych == 't') goto yy593; goto yy87; -yy433: +yy431: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 515 "src/wast-lexer.cc" { RETURN(Param); } -#line 3202 "src/prebuilt/wast-lexer-gen.cc" -yy435: +#line 3192 "src/prebuilt/wast-lexer-gen.cc" +yy433: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 521 "src/wast-lexer.cc" { RETURN(Quote); } -#line 3210 "src/prebuilt/wast-lexer-gen.cc" +#line 3200 "src/prebuilt/wast-lexer-gen.cc" +yy435: + yych = *++cursor_; + if (yych == 't') goto yy595; + goto yy87; +yy436: + yych = *++cursor_; + if (yych == 't') goto yy596; + goto yy87; yy437: yych = *++cursor_; - if (yych == 't') goto yy598; + if (yych == 'o') goto yy598; goto yy87; yy438: yych = *++cursor_; - if (yych == 't') goto yy599; + if (yych == 'n') goto yy599; goto yy87; yy439: yych = *++cursor_; - if (yych == 'o') goto yy601; + if (yych == 't') goto yy601; goto yy87; yy440: yych = *++cursor_; - if (yych == 'n') goto yy602; + if (yych == 'l') goto yy603; goto yy87; yy441: yych = *++cursor_; - if (yych == 't') goto yy604; + if (yych == 'o') goto yy604; goto yy87; yy442: yych = *++cursor_; - if (yych == 'l') goto yy606; + if (yych == 'd') goto yy605; goto yy87; yy443: - yych = *++cursor_; - if (yych == 'o') goto yy607; - goto yy87; -yy444: - yych = *++cursor_; - if (yych == 'd') goto yy608; - goto yy87; -yy445: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 524 "src/wast-lexer.cc" { RETURN(Start); } -#line 3250 "src/prebuilt/wast-lexer-gen.cc" -yy447: +#line 3240 "src/prebuilt/wast-lexer-gen.cc" +yy445: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 522 "src/wast-lexer.cc" { RETURN(Table); } -#line 3258 "src/prebuilt/wast-lexer-gen.cc" -yy449: +#line 3248 "src/prebuilt/wast-lexer-gen.cc" +yy447: yych = *++cursor_; - if (yych == 'o') goto yy610; + if (yych == 'o') goto yy607; goto yy87; -yy450: +yy448: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 545 "src/wast-lexer.cc" { RETURN_OPCODE0(Throw); } -#line 3270 "src/prebuilt/wast-lexer-gen.cc" -yy452: +#line 3260 "src/prebuilt/wast-lexer-gen.cc" +yy450: yych = *++cursor_; - if (yych == 'c') goto yy611; + if (yych == 'c') goto yy608; goto yy87; -yy453: +yy451: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; @@ -3283,160 +3273,164 @@ yy453: if (yych <= '\'') goto yy86; if (yych <= ')') goto yy88; if (yych <= '/') goto yy86; - goto yy346; + goto yy344; } } else { if (yych <= 'F') { if (yych == ';') goto yy88; if (yych <= '@') goto yy86; - goto yy346; + goto yy344; } else { if (yych <= '`') goto yy86; - if (yych <= 'f') goto yy346; + if (yych <= 'f') goto yy344; if (yych <= '~') goto yy86; goto yy88; } } -yy454: +yy452: yych = *++cursor_; if (yych <= '/') goto yy87; - if (yych <= '0') goto yy612; - if (yych <= '9') goto yy614; + if (yych <= '0') goto yy609; + if (yych <= '9') goto yy611; goto yy87; -yy455: +yy453: yych = *++cursor_; - if (yych == 'c') goto yy616; + if (yych == 'c') goto yy613; goto yy87; -yy456: +yy454: yych = *++cursor_; - if (yych == '_') goto yy618; + if (yych == '_') goto yy615; goto yy87; -yy457: +yy455: + yych = *++cursor_; + if (yych == '.') goto yy616; + goto yy87; +yy456: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 520 "src/wast-lexer.cc" { RETURN(Bin); } -#line 3322 "src/prebuilt/wast-lexer-gen.cc" +#line 3316 "src/prebuilt/wast-lexer-gen.cc" +yy458: + yych = *++cursor_; + if (yych == 'l') goto yy617; + goto yy87; yy459: yych = *++cursor_; - if (yych == 'l') goto yy619; + if (yych == 'n') goto yy618; goto yy87; yy460: yych = *++cursor_; - if (yych == 'n') goto yy620; + if (yych == 'a') goto yy619; goto yy87; yy461: yych = *++cursor_; - if (yych == 'a') goto yy621; + if (yych == 't') goto yy620; goto yy87; yy462: - yych = *++cursor_; - if (yych == 't') goto yy622; - goto yy87; -yy463: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 530 "src/wast-lexer.cc" { RETURN(Except); } -#line 3346 "src/prebuilt/wast-lexer-gen.cc" -yy465: +#line 3340 "src/prebuilt/wast-lexer-gen.cc" +yy464: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 529 "src/wast-lexer.cc" { RETURN(Export); } -#line 3354 "src/prebuilt/wast-lexer-gen.cc" +#line 3348 "src/prebuilt/wast-lexer-gen.cc" +yy466: + yych = *++cursor_; + if (yych == 's') goto yy621; + goto yy87; yy467: yych = *++cursor_; - if (yych == 's') goto yy623; + if (yych == 'd') goto yy623; goto yy87; yy468: yych = *++cursor_; - if (yych == 'd') goto yy625; + if (yych == 'i') goto yy625; goto yy87; yy469: yych = *++cursor_; - if (yych == 'i') goto yy627; + if (yych == 'n') goto yy626; + if (yych == 'p') goto yy627; goto yy87; yy470: yych = *++cursor_; - if (yych == 'n') goto yy628; - if (yych == 'p') goto yy629; + if (yych == 'm') goto yy628; goto yy87; yy471: yych = *++cursor_; - if (yych == 'm') goto yy630; + if (yych == 'v') goto yy629; goto yy87; yy472: - yych = *++cursor_; - if (yych == 'v') goto yy631; - goto yy87; -yy473: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 396 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, F32Eq); } -#line 3387 "src/prebuilt/wast-lexer-gen.cc" -yy475: +#line 3381 "src/prebuilt/wast-lexer-gen.cc" +yy474: yych = *++cursor_; - if (yych == 'o') goto yy633; + if (yych == 'o') goto yy631; goto yy87; -yy476: +yy475: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 406 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, F32Ge); } -#line 3399 "src/prebuilt/wast-lexer-gen.cc" -yy478: +#line 3393 "src/prebuilt/wast-lexer-gen.cc" +yy477: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 404 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, F32Gt); } -#line 3407 "src/prebuilt/wast-lexer-gen.cc" -yy480: +#line 3401 "src/prebuilt/wast-lexer-gen.cc" +yy479: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 402 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, F32Le); } -#line 3415 "src/prebuilt/wast-lexer-gen.cc" -yy482: +#line 3409 "src/prebuilt/wast-lexer-gen.cc" +yy481: yych = *++cursor_; - if (yych == 'a') goto yy634; + if (yych == 'a') goto yy632; goto yy87; -yy483: +yy482: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 400 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, F32Lt); } -#line 3427 "src/prebuilt/wast-lexer-gen.cc" +#line 3421 "src/prebuilt/wast-lexer-gen.cc" +yy484: + yych = *++cursor_; + if (yych == 'x') goto yy633; + goto yy87; yy485: yych = *++cursor_; - if (yych == 'x') goto yy635; + if (yych == 'n') goto yy635; goto yy87; yy486: yych = *++cursor_; - if (yych == 'n') goto yy637; + if (yych == 'l') goto yy637; goto yy87; yy487: - yych = *++cursor_; - if (yych == 'l') goto yy639; - goto yy87; -yy488: ++cursor_; if ((yych = *cursor_) <= ':') { if (yych <= '"') { @@ -3447,120 +3441,120 @@ yy488: } } else { if (yych <= 'a') { - if (yych <= ';') goto yy489; + if (yych <= ';') goto yy488; if (yych <= '`') goto yy86; - goto yy641; + goto yy639; } else { - if (yych == 'g') goto yy642; + if (yych == 'g') goto yy640; if (yych <= '~') goto yy86; } } -yy489: +yy488: #line 398 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, F32Ne); } -#line 3462 "src/prebuilt/wast-lexer-gen.cc" +#line 3456 "src/prebuilt/wast-lexer-gen.cc" +yy489: + yych = *++cursor_; + if (yych == 'i') goto yy642; + goto yy87; yy490: yych = *++cursor_; - if (yych == 'i') goto yy644; + if (yych == 'r') goto yy643; goto yy87; yy491: yych = *++cursor_; - if (yych == 'r') goto yy645; + if (yych == 'o') goto yy644; goto yy87; yy492: yych = *++cursor_; - if (yych == 'o') goto yy646; + if (yych == 'b') goto yy645; goto yy87; yy493: yych = *++cursor_; - if (yych == 'b') goto yy647; + if (yych == 'u') goto yy647; goto yy87; yy494: yych = *++cursor_; - if (yych == 'u') goto yy649; + if (yych == 's') goto yy648; goto yy87; yy495: yych = *++cursor_; - if (yych == 's') goto yy650; + if (yych == 'd') goto yy650; goto yy87; yy496: yych = *++cursor_; - if (yych == 'd') goto yy652; + if (yych == 'i') goto yy652; goto yy87; yy497: yych = *++cursor_; - if (yych == 'i') goto yy654; + if (yych == 'n') goto yy653; + if (yych == 'p') goto yy654; goto yy87; yy498: yych = *++cursor_; - if (yych == 'n') goto yy655; - if (yych == 'p') goto yy656; + if (yych == 'v') goto yy655; goto yy87; yy499: - yych = *++cursor_; - if (yych == 'v') goto yy657; - goto yy87; -yy500: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 397 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, F64Eq); } -#line 3511 "src/prebuilt/wast-lexer-gen.cc" -yy502: +#line 3505 "src/prebuilt/wast-lexer-gen.cc" +yy501: yych = *++cursor_; - if (yych == 'o') goto yy659; + if (yych == 'o') goto yy657; goto yy87; -yy503: +yy502: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 407 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, F64Ge); } -#line 3523 "src/prebuilt/wast-lexer-gen.cc" -yy505: +#line 3517 "src/prebuilt/wast-lexer-gen.cc" +yy504: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 405 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, F64Gt); } -#line 3531 "src/prebuilt/wast-lexer-gen.cc" -yy507: +#line 3525 "src/prebuilt/wast-lexer-gen.cc" +yy506: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 403 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, F64Le); } -#line 3539 "src/prebuilt/wast-lexer-gen.cc" -yy509: +#line 3533 "src/prebuilt/wast-lexer-gen.cc" +yy508: yych = *++cursor_; - if (yych == 'a') goto yy660; + if (yych == 'a') goto yy658; goto yy87; -yy510: +yy509: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 401 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, F64Lt); } -#line 3551 "src/prebuilt/wast-lexer-gen.cc" +#line 3545 "src/prebuilt/wast-lexer-gen.cc" +yy511: + yych = *++cursor_; + if (yych == 'x') goto yy659; + goto yy87; yy512: yych = *++cursor_; - if (yych == 'x') goto yy661; + if (yych == 'n') goto yy661; goto yy87; yy513: yych = *++cursor_; - if (yych == 'n') goto yy663; + if (yych == 'l') goto yy663; goto yy87; yy514: - yych = *++cursor_; - if (yych == 'l') goto yy665; - goto yy87; -yy515: ++cursor_; if ((yych = *cursor_) <= ':') { if (yych <= '"') { @@ -3571,61 +3565,65 @@ yy515: } } else { if (yych <= 'a') { - if (yych <= ';') goto yy516; + if (yych <= ';') goto yy515; if (yych <= '`') goto yy86; - goto yy667; + goto yy665; } else { - if (yych == 'g') goto yy668; + if (yych == 'g') goto yy666; if (yych <= '~') goto yy86; } } -yy516: +yy515: #line 399 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, F64Ne); } -#line 3586 "src/prebuilt/wast-lexer-gen.cc" +#line 3580 "src/prebuilt/wast-lexer-gen.cc" +yy516: + yych = *++cursor_; + if (yych == 'o') goto yy668; + goto yy87; yy517: yych = *++cursor_; - if (yych == 'o') goto yy670; + if (yych == 'i') goto yy669; goto yy87; yy518: yych = *++cursor_; - if (yych == 'i') goto yy671; + if (yych == 'r') goto yy670; goto yy87; yy519: yych = *++cursor_; - if (yych == 'r') goto yy672; + if (yych == 'o') goto yy671; goto yy87; yy520: yych = *++cursor_; - if (yych == 'o') goto yy673; + if (yych == 'b') goto yy672; goto yy87; yy521: yych = *++cursor_; - if (yych == 'b') goto yy674; + if (yych == 'u') goto yy674; goto yy87; yy522: yych = *++cursor_; - if (yych == 'u') goto yy676; + if (yych == 'o') goto yy675; goto yy87; yy523: yych = *++cursor_; - if (yych == 'o') goto yy677; + if (yych == 'c') goto yy676; goto yy87; yy524: - yych = *++cursor_; - if (yych == 'c') goto yy678; - goto yy87; -yy525: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 518 "src/wast-lexer.cc" { RETURN(Global); } -#line 3626 "src/prebuilt/wast-lexer-gen.cc" +#line 3620 "src/prebuilt/wast-lexer-gen.cc" +yy526: + yych = *++cursor_; + if (yych == 'e') goto yy677; + goto yy87; yy527: yych = *++cursor_; - if (yych == 'e') goto yy679; + if (yych == 'd') goto yy678; goto yy87; yy528: yych = *++cursor_; @@ -3633,146 +3631,146 @@ yy528: goto yy87; yy529: yych = *++cursor_; - if (yych == 'd') goto yy682; + if (yych == 'o') goto yy682; goto yy87; yy530: yych = *++cursor_; - if (yych == 'o') goto yy684; + if (yych == 'z') goto yy683; goto yy87; yy531: yych = *++cursor_; - if (yych == 'z') goto yy685; + if (yych == 'n') goto yy685; goto yy87; yy532: yych = *++cursor_; - if (yych == 'n') goto yy687; + if (yych == 'z') goto yy686; goto yy87; yy533: yych = *++cursor_; - if (yych == 'z') goto yy688; + if (yych == 'v') goto yy688; goto yy87; yy534: - yych = *++cursor_; - if (yych == 'v') goto yy690; - goto yy87; -yy535: ++cursor_; if ((yych = *cursor_) <= ')') { if (yych <= '!') { if (yych >= '!') goto yy86; } else { - if (yych <= '"') goto yy536; + if (yych <= '"') goto yy535; if (yych <= '\'') goto yy86; } } else { if (yych <= 'y') { if (yych != ';') goto yy86; } else { - if (yych <= 'z') goto yy691; + if (yych <= 'z') goto yy689; if (yych <= '~') goto yy86; } } -yy536: +yy535: #line 376 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I32Eq); } -#line 3679 "src/prebuilt/wast-lexer-gen.cc" +#line 3673 "src/prebuilt/wast-lexer-gen.cc" +yy536: + yych = *++cursor_; + if (yych == 't') goto yy691; + goto yy87; yy537: yych = *++cursor_; - if (yych == 't') goto yy693; + if (yych == '_') goto yy692; goto yy87; yy538: yych = *++cursor_; - if (yych == '_') goto yy694; + if (yych == '_') goto yy693; goto yy87; yy539: yych = *++cursor_; - if (yych == '_') goto yy695; + if (yych == '_') goto yy694; goto yy87; yy540: yych = *++cursor_; - if (yych == '_') goto yy696; + if (yych == 'a') goto yy695; goto yy87; yy541: yych = *++cursor_; - if (yych == 'a') goto yy697; + if (yych == '_') goto yy696; goto yy87; yy542: yych = *++cursor_; - if (yych == '_') goto yy698; + if (yych == 'l') goto yy697; goto yy87; yy543: - yych = *++cursor_; - if (yych == 'l') goto yy699; - goto yy87; -yy544: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 378 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I32Ne); } -#line 3715 "src/prebuilt/wast-lexer-gen.cc" -yy546: +#line 3709 "src/prebuilt/wast-lexer-gen.cc" +yy545: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 348 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32Or); } -#line 3723 "src/prebuilt/wast-lexer-gen.cc" +#line 3717 "src/prebuilt/wast-lexer-gen.cc" +yy547: + yych = *++cursor_; + if (yych == 'p') goto yy699; + goto yy87; yy548: yych = *++cursor_; - if (yych == 'p') goto yy701; + if (yych == 'i') goto yy700; + if (yych == 'm') goto yy701; goto yy87; yy549: yych = *++cursor_; - if (yych == 'i') goto yy702; - if (yych == 'm') goto yy703; + if (yych == 't') goto yy702; goto yy87; yy550: yych = *++cursor_; - if (yych == 't') goto yy704; + if (yych == 'l') goto yy703; + if (yych == 'r') goto yy705; goto yy87; yy551: yych = *++cursor_; - if (yych == 'l') goto yy705; - if (yych == 'r') goto yy707; + if (yych == 'o') goto yy706; goto yy87; yy552: yych = *++cursor_; - if (yych == 'o') goto yy708; + if (yych == 'b') goto yy707; goto yy87; yy553: yych = *++cursor_; - if (yych == 'b') goto yy709; + if (yych == 'u') goto yy709; goto yy87; yy554: yych = *++cursor_; - if (yych == 'u') goto yy711; + if (yych == 'a') goto yy710; goto yy87; yy555: yych = *++cursor_; - if (yych == 'i') goto yy712; + if (yych == 'r') goto yy711; goto yy87; yy556: yych = *++cursor_; - if (yych == 'a') goto yy713; + if (yych == 'd') goto yy713; goto yy87; yy557: yych = *++cursor_; - if (yych == 'r') goto yy714; + if (yych == 'd') goto yy715; goto yy87; yy558: yych = *++cursor_; - if (yych == 'd') goto yy716; + if (yych == 'o') goto yy717; goto yy87; yy559: yych = *++cursor_; - if (yych == 'd') goto yy718; + if (yych == 'z') goto yy718; goto yy87; yy560: yych = *++cursor_; - if (yych == 'o') goto yy720; + if (yych == 'n') goto yy720; goto yy87; yy561: yych = *++cursor_; @@ -3780,152 +3778,140 @@ yy561: goto yy87; yy562: yych = *++cursor_; - if (yych == 'n') goto yy723; + if (yych == 'v') goto yy723; goto yy87; yy563: - yych = *++cursor_; - if (yych == 'z') goto yy724; - goto yy87; -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 yy566; + if (yych <= '"') goto yy564; if (yych <= '\'') goto yy86; } } else { if (yych <= 'y') { if (yych != ';') goto yy86; } else { - if (yych <= 'z') goto yy727; + if (yych <= 'z') goto yy724; if (yych <= '~') goto yy86; } } -yy566: +yy564: #line 377 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I64Eq); } -#line 3814 "src/prebuilt/wast-lexer-gen.cc" +#line 3804 "src/prebuilt/wast-lexer-gen.cc" +yy565: + yych = *++cursor_; + if (yych == 't') goto yy726; + goto yy87; +yy566: + yych = *++cursor_; + if (yych == '_') goto yy727; + goto yy87; yy567: yych = *++cursor_; - if (yych == 't') goto yy729; + if (yych == '_') goto yy728; goto yy87; yy568: yych = *++cursor_; - if (yych == '_') goto yy730; + if (yych == '_') goto yy729; goto yy87; yy569: yych = *++cursor_; - if (yych == '_') goto yy731; + if (yych == 'a') goto yy730; goto yy87; yy570: yych = *++cursor_; - if (yych == '_') goto yy732; + if (yych == '_') goto yy731; goto yy87; yy571: yych = *++cursor_; - if (yych == 'a') goto yy733; + if (yych == 'l') goto yy732; goto yy87; yy572: - yych = *++cursor_; - if (yych == '_') goto yy734; - goto yy87; -yy573: - yych = *++cursor_; - if (yych == 'l') goto yy735; - goto yy87; -yy574: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 379 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I64Ne); } -#line 3850 "src/prebuilt/wast-lexer-gen.cc" -yy576: +#line 3840 "src/prebuilt/wast-lexer-gen.cc" +yy574: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 349 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64Or); } -#line 3858 "src/prebuilt/wast-lexer-gen.cc" +#line 3848 "src/prebuilt/wast-lexer-gen.cc" +yy576: + yych = *++cursor_; + if (yych == 'p') goto yy734; + goto yy87; +yy577: + yych = *++cursor_; + if (yych == 'i') goto yy735; + if (yych == 'm') goto yy736; + goto yy87; yy578: yych = *++cursor_; - if (yych == 'p') goto yy737; + if (yych == 't') goto yy737; goto yy87; yy579: yych = *++cursor_; - if (yych == 'i') goto yy738; - if (yych == 'm') goto yy739; + if (yych == 'l') goto yy738; + if (yych == 'r') goto yy740; goto yy87; yy580: yych = *++cursor_; - if (yych == 't') goto yy740; + if (yych == 'o') goto yy741; goto yy87; yy581: yych = *++cursor_; - if (yych == 'l') goto yy741; - if (yych == 'r') goto yy743; + if (yych == 'b') goto yy742; goto yy87; yy582: yych = *++cursor_; - if (yych == 'o') goto yy744; + if (yych == 'u') goto yy744; goto yy87; yy583: yych = *++cursor_; - if (yych == 'b') goto yy745; + if (yych == 'r') goto yy745; goto yy87; yy584: - yych = *++cursor_; - if (yych == 'u') goto yy747; - goto yy87; -yy585: - yych = *++cursor_; - if (yych == 'i') goto yy748; - goto yy87; -yy586: - yych = *++cursor_; - if (yych == 'r') goto yy749; - goto yy87; -yy587: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 528 "src/wast-lexer.cc" { RETURN(Import); } -#line 3904 "src/prebuilt/wast-lexer-gen.cc" -yy589: +#line 3890 "src/prebuilt/wast-lexer-gen.cc" +yy586: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 532 "src/wast-lexer.cc" { RETURN(Invoke); } -#line 3912 "src/prebuilt/wast-lexer-gen.cc" -yy591: +#line 3898 "src/prebuilt/wast-lexer-gen.cc" +yy588: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 523 "src/wast-lexer.cc" { RETURN(Memory); } -#line 3920 "src/prebuilt/wast-lexer-gen.cc" -yy593: +#line 3906 "src/prebuilt/wast-lexer-gen.cc" +yy590: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 519 "src/wast-lexer.cc" { RETURN(Module); } -#line 3928 "src/prebuilt/wast-lexer-gen.cc" -yy595: +#line 3914 "src/prebuilt/wast-lexer-gen.cc" +yy592: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; @@ -3937,706 +3923,702 @@ yy595: if (yych <= '\'') goto yy86; if (yych <= ')') goto yy88; if (yych <= '/') goto yy86; - goto yy751; + goto yy747; } } else { if (yych <= 'F') { if (yych == ';') goto yy88; if (yych <= '@') goto yy86; - goto yy751; + goto yy747; } else { if (yych <= '`') goto yy86; - if (yych <= 'f') goto yy751; + if (yych <= 'f') goto yy747; if (yych <= '~') goto yy86; goto yy88; } } -yy596: +yy593: ++cursor_; if ((yych = *cursor_) <= ')') { if (yych <= '!') { if (yych >= '!') goto yy86; } else { - if (yych <= '"') goto yy597; + if (yych <= '"') goto yy594; if (yych <= '\'') goto yy86; } } else { if (yych <= '<') { if (yych != ';') goto yy86; } else { - if (yych <= '=') goto yy753; + if (yych <= '=') goto yy749; if (yych <= '~') goto yy86; } } -yy597: +yy594: #line 527 "src/wast-lexer.cc" { RETURN(Offset); } -#line 3975 "src/prebuilt/wast-lexer-gen.cc" -yy598: +#line 3961 "src/prebuilt/wast-lexer-gen.cc" +yy595: yych = *++cursor_; - if (yych == 'e') goto yy754; + if (yych == 'e') goto yy750; goto yy87; -yy599: +yy596: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 516 "src/wast-lexer.cc" { RETURN(Result); } -#line 3987 "src/prebuilt/wast-lexer-gen.cc" -yy601: +#line 3973 "src/prebuilt/wast-lexer-gen.cc" +yy598: yych = *++cursor_; - if (yych == 'w') goto yy755; + if (yych == 'w') goto yy751; goto yy87; -yy602: +yy599: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 270 "src/wast-lexer.cc" { RETURN_OPCODE0(Return); } -#line 3999 "src/prebuilt/wast-lexer-gen.cc" -yy604: +#line 3985 "src/prebuilt/wast-lexer-gen.cc" +yy601: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 441 "src/wast-lexer.cc" { RETURN_OPCODE0(Select); } -#line 4007 "src/prebuilt/wast-lexer-gen.cc" -yy606: +#line 3993 "src/prebuilt/wast-lexer-gen.cc" +yy603: yych = *++cursor_; - if (yych == 'o') goto yy757; + if (yych == 'o') goto yy753; goto yy87; -yy607: +yy604: yych = *++cursor_; - if (yych == 'c') goto yy758; + if (yych == 'c') goto yy754; goto yy87; -yy608: +yy605: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 548 "src/wast-lexer.cc" { RETURN(Shared); } -#line 4023 "src/prebuilt/wast-lexer-gen.cc" -yy610: +#line 4009 "src/prebuilt/wast-lexer-gen.cc" +yy607: yych = *++cursor_; - if (yych == 'c') goto yy759; + if (yych == 'c') goto yy755; goto yy87; -yy611: +yy608: yych = *++cursor_; - if (yych == 'h') goto yy760; + if (yych == 'h') goto yy756; goto yy87; -yy612: +yy609: ++cursor_; if ((yych = *cursor_) <= '9') { if (yych <= '"') { if (yych == '!') goto yy86; } else { if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy613; + if (yych <= ')') goto yy610; if (yych <= '/') goto yy86; - goto yy614; + goto yy611; } } else { if (yych <= '_') { - if (yych == ';') goto yy613; + if (yych == ';') goto yy610; if (yych <= '^') goto yy86; - goto yy761; + goto yy757; } else { - if (yych == 'x') goto yy762; + if (yych == 'x') goto yy758; if (yych <= '~') goto yy86; } } -yy613: +yy610: #line 300 "src/wast-lexer.cc" { RETURN_TEXT_AT(AlignEqNat, 6); } -#line 4056 "src/prebuilt/wast-lexer-gen.cc" -yy614: +#line 4042 "src/prebuilt/wast-lexer-gen.cc" +yy611: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; if (yych <= '/') { if (yych <= '"') { if (yych == '!') goto yy86; - goto yy613; + goto yy610; } else { if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy613; + if (yych <= ')') goto yy610; goto yy86; } } else { if (yych <= ';') { - if (yych <= '9') goto yy614; + if (yych <= '9') goto yy611; if (yych <= ':') goto yy86; - goto yy613; + goto yy610; } else { - if (yych == '_') goto yy761; + if (yych == '_') goto yy757; if (yych <= '~') goto yy86; - goto yy613; + goto yy610; } } -yy616: +yy613: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 255 "src/wast-lexer.cc" { RETURN(Anyfunc); } -#line 4088 "src/prebuilt/wast-lexer-gen.cc" -yy618: +#line 4074 "src/prebuilt/wast-lexer-gen.cc" +yy615: yych = *++cursor_; switch (yych) { - case 'e': goto yy763; - case 'i': goto yy764; - case 'm': goto yy765; - case 'r': goto yy766; - case 't': goto yy767; - case 'u': goto yy768; + case 'e': goto yy759; + case 'i': goto yy760; + case 'm': goto yy761; + case 'r': goto yy762; + case 't': goto yy763; + case 'u': goto yy764; default: goto yy87; } -yy619: +yy616: yych = *++cursor_; - if (yych == 'e') goto yy769; + if (yych == 'w') goto yy765; goto yy87; -yy620: +yy617: yych = *++cursor_; - if (yych == 'd') goto yy771; + if (yych == 'e') goto yy766; goto yy87; -yy621: +yy618: yych = *++cursor_; - if (yych == 'l') goto yy772; + if (yych == 'd') goto yy768; goto yy87; -yy622: +yy619: yych = *++cursor_; - if (yych == '_') goto yy773; + if (yych == 'l') goto yy769; goto yy87; -yy623: +yy620: + yych = *++cursor_; + if (yych == '_') goto yy770; + goto yy87; +yy621: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 315 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F32Abs); } -#line 4123 "src/prebuilt/wast-lexer-gen.cc" -yy625: +#line 4113 "src/prebuilt/wast-lexer-gen.cc" +yy623: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 362 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F32Add); } -#line 4131 "src/prebuilt/wast-lexer-gen.cc" -yy627: +#line 4121 "src/prebuilt/wast-lexer-gen.cc" +yy625: yych = *++cursor_; - if (yych == 'l') goto yy774; + if (yych == 'l') goto yy771; goto yy87; -yy628: +yy626: yych = *++cursor_; - if (yych == 's') goto yy776; - if (yych == 'v') goto yy777; + if (yych == 's') goto yy773; + if (yych == 'v') goto yy774; goto yy87; -yy629: +yy627: yych = *++cursor_; - if (yych == 'y') goto yy778; + if (yych == 'y') goto yy775; goto yy87; -yy630: +yy628: yych = *++cursor_; - if (yych == 'o') goto yy779; + if (yych == 'o') goto yy776; goto yy87; -yy631: +yy629: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 368 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F32Div); } -#line 4156 "src/prebuilt/wast-lexer-gen.cc" -yy633: +#line 4146 "src/prebuilt/wast-lexer-gen.cc" +yy631: yych = *++cursor_; - if (yych == 'o') goto yy780; + if (yych == 'o') goto yy777; goto yy87; -yy634: +yy632: yych = *++cursor_; - if (yych == 'd') goto yy781; + if (yych == 'd') goto yy778; goto yy87; -yy635: +yy633: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 372 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F32Max); } -#line 4172 "src/prebuilt/wast-lexer-gen.cc" -yy637: +#line 4162 "src/prebuilt/wast-lexer-gen.cc" +yy635: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 370 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F32Min); } -#line 4180 "src/prebuilt/wast-lexer-gen.cc" -yy639: +#line 4170 "src/prebuilt/wast-lexer-gen.cc" +yy637: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 366 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F32Mul); } -#line 4188 "src/prebuilt/wast-lexer-gen.cc" -yy641: +#line 4178 "src/prebuilt/wast-lexer-gen.cc" +yy639: yych = *++cursor_; - if (yych == 'r') goto yy783; + if (yych == 'r') goto yy780; goto yy87; -yy642: +yy640: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 313 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F32Neg); } -#line 4200 "src/prebuilt/wast-lexer-gen.cc" -yy644: +#line 4190 "src/prebuilt/wast-lexer-gen.cc" +yy642: yych = *++cursor_; - if (yych == 'n') goto yy784; + if (yych == 'n') goto yy781; goto yy87; -yy645: +yy643: yych = *++cursor_; - if (yych == 't') goto yy785; + if (yych == 't') goto yy782; goto yy87; -yy646: +yy644: yych = *++cursor_; - if (yych == 'r') goto yy787; + if (yych == 'r') goto yy784; goto yy87; -yy647: +yy645: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 364 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F32Sub); } -#line 4220 "src/prebuilt/wast-lexer-gen.cc" -yy649: +#line 4210 "src/prebuilt/wast-lexer-gen.cc" +yy647: yych = *++cursor_; - if (yych == 'n') goto yy788; + if (yych == 'n') goto yy785; goto yy87; -yy650: +yy648: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 316 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F64Abs); } -#line 4232 "src/prebuilt/wast-lexer-gen.cc" -yy652: +#line 4222 "src/prebuilt/wast-lexer-gen.cc" +yy650: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 363 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F64Add); } -#line 4240 "src/prebuilt/wast-lexer-gen.cc" -yy654: +#line 4230 "src/prebuilt/wast-lexer-gen.cc" +yy652: yych = *++cursor_; - if (yych == 'l') goto yy789; + if (yych == 'l') goto yy786; goto yy87; -yy655: +yy653: yych = *++cursor_; - if (yych == 's') goto yy791; - if (yych == 'v') goto yy792; + if (yych == 's') goto yy788; + if (yych == 'v') goto yy789; goto yy87; -yy656: +yy654: yych = *++cursor_; - if (yych == 'y') goto yy793; + if (yych == 'y') goto yy790; goto yy87; -yy657: +yy655: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 369 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F64Div); } -#line 4261 "src/prebuilt/wast-lexer-gen.cc" -yy659: +#line 4251 "src/prebuilt/wast-lexer-gen.cc" +yy657: yych = *++cursor_; - if (yych == 'o') goto yy794; + if (yych == 'o') goto yy791; goto yy87; -yy660: +yy658: yych = *++cursor_; - if (yych == 'd') goto yy795; + if (yych == 'd') goto yy792; goto yy87; -yy661: +yy659: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 373 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F64Max); } -#line 4277 "src/prebuilt/wast-lexer-gen.cc" -yy663: +#line 4267 "src/prebuilt/wast-lexer-gen.cc" +yy661: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 371 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F64Min); } -#line 4285 "src/prebuilt/wast-lexer-gen.cc" -yy665: +#line 4275 "src/prebuilt/wast-lexer-gen.cc" +yy663: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 367 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F64Mul); } -#line 4293 "src/prebuilt/wast-lexer-gen.cc" -yy667: +#line 4283 "src/prebuilt/wast-lexer-gen.cc" +yy665: yych = *++cursor_; - if (yych == 'r') goto yy797; + if (yych == 'r') goto yy794; goto yy87; -yy668: +yy666: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 314 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F64Neg); } -#line 4305 "src/prebuilt/wast-lexer-gen.cc" -yy670: +#line 4295 "src/prebuilt/wast-lexer-gen.cc" +yy668: yych = *++cursor_; - if (yych == 'm') goto yy798; + if (yych == 'm') goto yy795; goto yy87; -yy671: +yy669: yych = *++cursor_; - if (yych == 'n') goto yy799; + if (yych == 'n') goto yy796; goto yy87; -yy672: +yy670: yych = *++cursor_; - if (yych == 't') goto yy800; + if (yych == 't') goto yy797; goto yy87; -yy673: +yy671: yych = *++cursor_; - if (yych == 'r') goto yy802; + if (yych == 'r') goto yy799; goto yy87; -yy674: +yy672: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 365 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F64Sub); } -#line 4329 "src/prebuilt/wast-lexer-gen.cc" -yy676: +#line 4319 "src/prebuilt/wast-lexer-gen.cc" +yy674: yych = *++cursor_; - if (yych == 'n') goto yy803; + if (yych == 'n') goto yy800; goto yy87; -yy677: +yy675: yych = *++cursor_; - if (yych == 'b') goto yy804; + if (yych == 'b') goto yy801; goto yy87; -yy678: +yy676: yych = *++cursor_; - if (yych == 'a') goto yy805; + if (yych == 'a') goto yy802; goto yy87; -yy679: +yy677: yych = *++cursor_; - if (yych == 'm') goto yy806; + if (yych == 'm') goto yy803; goto yy87; -yy680: +yy678: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 332 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32Add); } -#line 4353 "src/prebuilt/wast-lexer-gen.cc" -yy682: +#line 4343 "src/prebuilt/wast-lexer-gen.cc" +yy680: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 346 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32And); } -#line 4361 "src/prebuilt/wast-lexer-gen.cc" -yy684: +#line 4351 "src/prebuilt/wast-lexer-gen.cc" +yy682: yych = *++cursor_; - if (yych == 'm') goto yy807; + if (yych == 'm') goto yy804; goto yy87; -yy685: +yy683: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 307 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, I32Clz); } -#line 4373 "src/prebuilt/wast-lexer-gen.cc" -yy687: +#line 4363 "src/prebuilt/wast-lexer-gen.cc" +yy685: yych = *++cursor_; - if (yych == 's') goto yy808; + if (yych == 's') goto yy805; goto yy87; -yy688: +yy686: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 309 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, I32Ctz); } -#line 4385 "src/prebuilt/wast-lexer-gen.cc" -yy690: +#line 4375 "src/prebuilt/wast-lexer-gen.cc" +yy688: yych = *++cursor_; - if (yych == '_') goto yy809; + if (yych == '_') goto yy806; goto yy87; -yy691: +yy689: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 305 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I32Eqz); } -#line 4397 "src/prebuilt/wast-lexer-gen.cc" +#line 4387 "src/prebuilt/wast-lexer-gen.cc" +yy691: + yych = *++cursor_; + if (yych == 'e') goto yy807; + goto yy87; +yy692: + yych = *++cursor_; + if (yych == 's') goto yy808; + if (yych == 'u') goto yy810; + goto yy87; yy693: yych = *++cursor_; - if (yych == 'e') goto yy810; + if (yych == 's') goto yy812; + if (yych == 'u') goto yy814; goto yy87; yy694: yych = *++cursor_; - if (yych == 's') goto yy811; - if (yych == 'u') goto yy813; + if (yych == 's') goto yy816; + if (yych == 'u') goto yy818; goto yy87; yy695: yych = *++cursor_; - if (yych == 's') goto yy815; - if (yych == 'u') goto yy817; + if (yych == 'd') goto yy820; goto yy87; yy696: yych = *++cursor_; - if (yych == 's') goto yy819; - if (yych == 'u') goto yy821; + if (yych == 's') goto yy822; + if (yych == 'u') goto yy824; goto yy87; yy697: - yych = *++cursor_; - if (yych == 'd') goto yy823; - goto yy87; -yy698: - yych = *++cursor_; - if (yych == 's') goto yy825; - if (yych == 'u') goto yy827; - goto yy87; -yy699: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 336 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32Mul); } -#line 4433 "src/prebuilt/wast-lexer-gen.cc" -yy701: +#line 4423 "src/prebuilt/wast-lexer-gen.cc" +yy699: yych = *++cursor_; - if (yych == 'c') goto yy829; + if (yych == 'c') goto yy826; goto yy87; -yy702: +yy700: yych = *++cursor_; - if (yych == 'n') goto yy830; + if (yych == 'n') goto yy827; goto yy87; -yy703: +yy701: yych = *++cursor_; - if (yych == '_') goto yy831; + if (yych == '_') goto yy828; goto yy87; -yy704: +yy702: yych = *++cursor_; - if (yych == 'l') goto yy832; - if (yych == 'r') goto yy834; + if (yych == 'l') goto yy829; + if (yych == 'r') goto yy831; goto yy87; -yy705: +yy703: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 352 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32Shl); } -#line 4458 "src/prebuilt/wast-lexer-gen.cc" -yy707: +#line 4448 "src/prebuilt/wast-lexer-gen.cc" +yy705: yych = *++cursor_; - if (yych == '_') goto yy836; + if (yych == '_') goto yy833; goto yy87; -yy708: +yy706: yych = *++cursor_; - if (yych == 'r') goto yy837; + if (yych == 'r') goto yy834; goto yy87; -yy709: +yy707: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 334 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32Sub); } -#line 4474 "src/prebuilt/wast-lexer-gen.cc" -yy711: - yych = *++cursor_; - if (yych == 'n') goto yy838; - goto yy87; -yy712: +#line 4464 "src/prebuilt/wast-lexer-gen.cc" +yy709: yych = *++cursor_; - if (yych == 't') goto yy839; + if (yych == 'n') goto yy835; goto yy87; -yy713: +yy710: yych = *++cursor_; - if (yych == 'p') goto yy841; + if (yych == 'p') goto yy836; goto yy87; -yy714: +yy711: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 350 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32Xor); } -#line 4494 "src/prebuilt/wast-lexer-gen.cc" -yy716: +#line 4480 "src/prebuilt/wast-lexer-gen.cc" +yy713: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 333 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64Add); } -#line 4502 "src/prebuilt/wast-lexer-gen.cc" -yy718: +#line 4488 "src/prebuilt/wast-lexer-gen.cc" +yy715: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 347 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64And); } -#line 4510 "src/prebuilt/wast-lexer-gen.cc" -yy720: +#line 4496 "src/prebuilt/wast-lexer-gen.cc" +yy717: yych = *++cursor_; - if (yych == 'm') goto yy842; + if (yych == 'm') goto yy837; goto yy87; -yy721: +yy718: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 308 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, I64Clz); } -#line 4522 "src/prebuilt/wast-lexer-gen.cc" -yy723: +#line 4508 "src/prebuilt/wast-lexer-gen.cc" +yy720: yych = *++cursor_; - if (yych == 's') goto yy843; + if (yych == 's') goto yy838; goto yy87; -yy724: +yy721: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 310 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, I64Ctz); } -#line 4534 "src/prebuilt/wast-lexer-gen.cc" -yy726: +#line 4520 "src/prebuilt/wast-lexer-gen.cc" +yy723: yych = *++cursor_; - if (yych == '_') goto yy844; + if (yych == '_') goto yy839; goto yy87; -yy727: +yy724: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 306 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I64Eqz); } -#line 4546 "src/prebuilt/wast-lexer-gen.cc" -yy729: +#line 4532 "src/prebuilt/wast-lexer-gen.cc" +yy726: yych = *++cursor_; - if (yych == 'e') goto yy845; + if (yych == 'e') goto yy840; goto yy87; -yy730: +yy727: yych = *++cursor_; - if (yych == 's') goto yy846; - if (yych == 'u') goto yy848; + if (yych == 's') goto yy841; + if (yych == 'u') goto yy843; goto yy87; -yy731: +yy728: yych = *++cursor_; - if (yych == 's') goto yy850; - if (yych == 'u') goto yy852; + if (yych == 's') goto yy845; + if (yych == 'u') goto yy847; goto yy87; -yy732: +yy729: yych = *++cursor_; - if (yych == 's') goto yy854; - if (yych == 'u') goto yy856; + if (yych == 's') goto yy849; + if (yych == 'u') goto yy851; goto yy87; -yy733: +yy730: yych = *++cursor_; - if (yych == 'd') goto yy858; + if (yych == 'd') goto yy853; goto yy87; -yy734: +yy731: yych = *++cursor_; - if (yych == 's') goto yy860; - if (yych == 'u') goto yy862; + if (yych == 's') goto yy855; + if (yych == 'u') goto yy857; goto yy87; -yy735: +yy732: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 337 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64Mul); } -#line 4582 "src/prebuilt/wast-lexer-gen.cc" -yy737: +#line 4568 "src/prebuilt/wast-lexer-gen.cc" +yy734: yych = *++cursor_; - if (yych == 'c') goto yy864; + if (yych == 'c') goto yy859; goto yy87; -yy738: +yy735: yych = *++cursor_; - if (yych == 'n') goto yy865; + if (yych == 'n') goto yy860; goto yy87; -yy739: +yy736: yych = *++cursor_; - if (yych == '_') goto yy866; + if (yych == '_') goto yy861; goto yy87; -yy740: +yy737: yych = *++cursor_; - if (yych == 'l') goto yy867; - if (yych == 'r') goto yy869; + if (yych == 'l') goto yy862; + if (yych == 'r') goto yy864; goto yy87; -yy741: +yy738: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 353 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64Shl); } -#line 4607 "src/prebuilt/wast-lexer-gen.cc" -yy743: +#line 4593 "src/prebuilt/wast-lexer-gen.cc" +yy740: yych = *++cursor_; - if (yych == '_') goto yy871; + if (yych == '_') goto yy866; goto yy87; -yy744: +yy741: yych = *++cursor_; - if (yych == 'r') goto yy872; + if (yych == 'r') goto yy867; goto yy87; -yy745: +yy742: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 335 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64Sub); } -#line 4623 "src/prebuilt/wast-lexer-gen.cc" -yy747: - yych = *++cursor_; - if (yych == 'n') goto yy873; - goto yy87; -yy748: +#line 4609 "src/prebuilt/wast-lexer-gen.cc" +yy744: yych = *++cursor_; - if (yych == 't') goto yy874; + if (yych == 'n') goto yy868; goto yy87; -yy749: +yy745: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 351 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64Xor); } -#line 4639 "src/prebuilt/wast-lexer-gen.cc" -yy751: +#line 4621 "src/prebuilt/wast-lexer-gen.cc" +yy747: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; @@ -4648,61 +4630,61 @@ yy751: } else { if (yych <= ')') goto yy259; if (yych <= '/') goto yy86; - if (yych <= '9') goto yy751; + if (yych <= '9') goto yy747; goto yy86; } } else { if (yych <= '^') { if (yych <= ';') goto yy259; if (yych <= '@') goto yy86; - if (yych <= 'F') goto yy751; + if (yych <= 'F') goto yy747; goto yy86; } else { if (yych <= '`') { - if (yych <= '_') goto yy595; + if (yych <= '_') goto yy592; goto yy86; } else { - if (yych <= 'f') goto yy751; + if (yych <= 'f') goto yy747; if (yych <= '~') goto yy86; goto yy259; } } } -yy753: +yy749: yych = *++cursor_; if (yych <= '/') goto yy87; - if (yych <= '0') goto yy876; - if (yych <= '9') goto yy878; + if (yych <= '0') goto yy869; + if (yych <= '9') goto yy871; goto yy87; -yy754: +yy750: yych = *++cursor_; - if (yych == 'r') goto yy880; + if (yych == 'r') goto yy873; goto yy87; -yy755: +yy751: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 546 "src/wast-lexer.cc" { RETURN_OPCODE0(Rethrow); } -#line 4689 "src/prebuilt/wast-lexer-gen.cc" -yy757: +#line 4671 "src/prebuilt/wast-lexer-gen.cc" +yy753: yych = *++cursor_; - if (yych == 'b') goto yy882; + if (yych == 'b') goto yy875; goto yy87; -yy758: +yy754: yych = *++cursor_; - if (yych == 'a') goto yy883; + if (yych == 'a') goto yy876; goto yy87; -yy759: +yy755: yych = *++cursor_; - if (yych == 'a') goto yy884; + if (yych == 'a') goto yy877; goto yy87; -yy760: +yy756: yych = *++cursor_; - if (yych == 'a') goto yy885; + if (yych == 'a') goto yy878; goto yy87; -yy761: +yy757: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; @@ -4718,7 +4700,7 @@ yy761: } else { if (yych <= ':') { if (yych <= '/') goto yy86; - if (yych <= '9') goto yy614; + if (yych <= '9') goto yy611; goto yy86; } else { if (yych <= ';') goto yy88; @@ -4726,7 +4708,7 @@ yy761: goto yy88; } } -yy762: +yy758: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; @@ -4738,262 +4720,266 @@ yy762: if (yych <= '\'') goto yy86; if (yych <= ')') goto yy88; if (yych <= '/') goto yy86; - goto yy886; + goto yy879; } } else { if (yych <= 'F') { if (yych == ';') goto yy88; if (yych <= '@') goto yy86; - goto yy886; + goto yy879; } else { if (yych <= '`') goto yy86; - if (yych <= 'f') goto yy886; + if (yych <= 'f') goto yy879; if (yych <= '~') goto yy86; goto yy88; } } -yy763: +yy759: yych = *++cursor_; - if (yych == 'x') goto yy888; + if (yych == 'x') goto yy881; goto yy87; -yy764: +yy760: yych = *++cursor_; - if (yych == 'n') goto yy889; + if (yych == 'n') goto yy882; goto yy87; -yy765: +yy761: yych = *++cursor_; - if (yych == 'a') goto yy890; + if (yych == 'a') goto yy883; goto yy87; -yy766: +yy762: yych = *++cursor_; - if (yych == 'e') goto yy891; + if (yych == 'e') goto yy884; goto yy87; -yy767: +yy763: yych = *++cursor_; - if (yych == 'r') goto yy892; + if (yych == 'r') goto yy885; goto yy87; -yy768: +yy764: yych = *++cursor_; - if (yych == 'n') goto yy893; + if (yych == 'n') goto yy886; goto yy87; -yy769: +yy765: + yych = *++cursor_; + if (yych == 'a') goto yy887; + goto yy87; +yy766: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 265 "src/wast-lexer.cc" { RETURN_OPCODE0(BrTable); } -#line 4787 "src/prebuilt/wast-lexer-gen.cc" -yy771: +#line 4773 "src/prebuilt/wast-lexer-gen.cc" +yy768: yych = *++cursor_; - if (yych == 'i') goto yy894; + if (yych == 'i') goto yy888; goto yy87; -yy772: +yy769: yych = *++cursor_; - if (yych == 'l') goto yy895; + if (yych == 'l') goto yy889; goto yy87; -yy773: +yy770: yych = *++cursor_; - if (yych == 'm') goto yy897; + if (yych == 'm') goto yy891; goto yy87; -yy774: +yy771: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 319 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F32Ceil); } -#line 4807 "src/prebuilt/wast-lexer-gen.cc" -yy776: +#line 4793 "src/prebuilt/wast-lexer-gen.cc" +yy773: yych = *++cursor_; - if (yych == 't') goto yy898; + if (yych == 't') goto yy892; goto yy87; -yy777: +yy774: yych = *++cursor_; - if (yych == 'e') goto yy900; + if (yych == 'e') goto yy894; goto yy87; -yy778: +yy775: yych = *++cursor_; - if (yych == 's') goto yy901; + if (yych == 's') goto yy895; goto yy87; -yy779: +yy776: yych = *++cursor_; - if (yych == 't') goto yy902; + if (yych == 't') goto yy896; goto yy87; -yy780: +yy777: yych = *++cursor_; - if (yych == 'r') goto yy903; + if (yych == 'r') goto yy897; goto yy87; -yy781: +yy778: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 278 "src/wast-lexer.cc" { RETURN_OPCODE(Load, F32Load); } -#line 4835 "src/prebuilt/wast-lexer-gen.cc" -yy783: +#line 4821 "src/prebuilt/wast-lexer-gen.cc" +yy780: yych = *++cursor_; - if (yych == 'e') goto yy905; + if (yych == 'e') goto yy899; goto yy87; -yy784: +yy781: yych = *++cursor_; - if (yych == 't') goto yy906; + if (yych == 't') goto yy900; goto yy87; -yy785: +yy782: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 317 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F32Sqrt); } -#line 4851 "src/prebuilt/wast-lexer-gen.cc" -yy787: +#line 4837 "src/prebuilt/wast-lexer-gen.cc" +yy784: yych = *++cursor_; - if (yych == 'e') goto yy907; + if (yych == 'e') goto yy901; goto yy87; -yy788: +yy785: yych = *++cursor_; - if (yych == 'c') goto yy909; + if (yych == 'c') goto yy903; goto yy87; -yy789: +yy786: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 320 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F64Ceil); } -#line 4867 "src/prebuilt/wast-lexer-gen.cc" -yy791: +#line 4853 "src/prebuilt/wast-lexer-gen.cc" +yy788: yych = *++cursor_; - if (yych == 't') goto yy911; + if (yych == 't') goto yy905; goto yy87; -yy792: +yy789: yych = *++cursor_; - if (yych == 'e') goto yy913; + if (yych == 'e') goto yy907; goto yy87; -yy793: +yy790: yych = *++cursor_; - if (yych == 's') goto yy914; + if (yych == 's') goto yy908; goto yy87; -yy794: +yy791: yych = *++cursor_; - if (yych == 'r') goto yy915; + if (yych == 'r') goto yy909; goto yy87; -yy795: +yy792: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 279 "src/wast-lexer.cc" { RETURN_OPCODE(Load, F64Load); } -#line 4891 "src/prebuilt/wast-lexer-gen.cc" -yy797: +#line 4877 "src/prebuilt/wast-lexer-gen.cc" +yy794: yych = *++cursor_; - if (yych == 'e') goto yy917; + if (yych == 'e') goto yy911; goto yy87; -yy798: +yy795: yych = *++cursor_; - if (yych == 'o') goto yy918; + if (yych == 'o') goto yy912; goto yy87; -yy799: +yy796: yych = *++cursor_; - if (yych == 't') goto yy919; + if (yych == 't') goto yy913; goto yy87; -yy800: +yy797: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 318 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F64Sqrt); } -#line 4911 "src/prebuilt/wast-lexer-gen.cc" +#line 4897 "src/prebuilt/wast-lexer-gen.cc" +yy799: + yych = *++cursor_; + if (yych == 'e') goto yy914; + goto yy87; +yy800: + yych = *++cursor_; + if (yych == 'c') goto yy916; + goto yy87; +yy801: + yych = *++cursor_; + if (yych == 'a') goto yy918; + goto yy87; yy802: yych = *++cursor_; - if (yych == 'e') goto yy920; + if (yych == 'l') goto yy919; goto yy87; yy803: yych = *++cursor_; - if (yych == 'c') goto yy922; + if (yych == 'o') goto yy921; goto yy87; yy804: yych = *++cursor_; - if (yych == 'a') goto yy924; + if (yych == 'i') goto yy922; goto yy87; yy805: yych = *++cursor_; - if (yych == 'l') goto yy925; + if (yych == 't') goto yy923; goto yy87; yy806: yych = *++cursor_; - if (yych == 'o') goto yy927; + if (yych == 's') goto yy925; + if (yych == 'u') goto yy927; goto yy87; yy807: yych = *++cursor_; - if (yych == 'i') goto yy928; + if (yych == 'n') goto yy929; goto yy87; yy808: - yych = *++cursor_; - if (yych == 't') goto yy929; - goto yy87; -yy809: - yych = *++cursor_; - if (yych == 's') goto yy931; - if (yych == 'u') goto yy933; - goto yy87; -yy810: - yych = *++cursor_; - if (yych == 'n') goto yy935; - goto yy87; -yy811: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 392 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I32GeS); } -#line 4956 "src/prebuilt/wast-lexer-gen.cc" -yy813: +#line 4942 "src/prebuilt/wast-lexer-gen.cc" +yy810: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 394 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I32GeU); } -#line 4964 "src/prebuilt/wast-lexer-gen.cc" -yy815: +#line 4950 "src/prebuilt/wast-lexer-gen.cc" +yy812: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 388 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I32GtS); } -#line 4972 "src/prebuilt/wast-lexer-gen.cc" -yy817: +#line 4958 "src/prebuilt/wast-lexer-gen.cc" +yy814: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 390 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I32GtU); } -#line 4980 "src/prebuilt/wast-lexer-gen.cc" -yy819: +#line 4966 "src/prebuilt/wast-lexer-gen.cc" +yy816: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 384 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I32LeS); } -#line 4988 "src/prebuilt/wast-lexer-gen.cc" -yy821: +#line 4974 "src/prebuilt/wast-lexer-gen.cc" +yy818: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 386 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I32LeU); } -#line 4996 "src/prebuilt/wast-lexer-gen.cc" -yy823: +#line 4982 "src/prebuilt/wast-lexer-gen.cc" +yy820: ++cursor_; if ((yych = *cursor_) <= '0') { if (yych <= '"') { @@ -5004,590 +4990,578 @@ yy823: } } else { if (yych <= '8') { - if (yych <= '1') goto yy936; + if (yych <= '1') goto yy930; if (yych <= '7') goto yy86; - goto yy937; + goto yy931; } else { - if (yych == ';') goto yy824; + if (yych == ';') goto yy821; if (yych <= '~') goto yy86; } } -yy824: +yy821: #line 276 "src/wast-lexer.cc" { RETURN_OPCODE(Load, I32Load); } -#line 5019 "src/prebuilt/wast-lexer-gen.cc" -yy825: +#line 5005 "src/prebuilt/wast-lexer-gen.cc" +yy822: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 380 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I32LtS); } -#line 5027 "src/prebuilt/wast-lexer-gen.cc" -yy827: +#line 5013 "src/prebuilt/wast-lexer-gen.cc" +yy824: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 382 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I32LtU); } -#line 5035 "src/prebuilt/wast-lexer-gen.cc" -yy829: +#line 5021 "src/prebuilt/wast-lexer-gen.cc" +yy826: yych = *++cursor_; - if (yych == 'n') goto yy938; + if (yych == 'n') goto yy932; goto yy87; -yy830: +yy827: yych = *++cursor_; - if (yych == 't') goto yy939; + if (yych == 't') goto yy933; goto yy87; -yy831: +yy828: yych = *++cursor_; - if (yych == 's') goto yy940; - if (yych == 'u') goto yy942; + if (yych == 's') goto yy934; + if (yych == 'u') goto yy936; goto yy87; -yy832: +yy829: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 358 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32Rotl); } -#line 5056 "src/prebuilt/wast-lexer-gen.cc" -yy834: +#line 5042 "src/prebuilt/wast-lexer-gen.cc" +yy831: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 360 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32Rotr); } -#line 5064 "src/prebuilt/wast-lexer-gen.cc" -yy836: +#line 5050 "src/prebuilt/wast-lexer-gen.cc" +yy833: yych = *++cursor_; - if (yych == 's') goto yy944; - if (yych == 'u') goto yy946; + if (yych == 's') goto yy938; + if (yych == 'u') goto yy940; goto yy87; -yy837: +yy834: yych = *++cursor_; - if (yych == 'e') goto yy948; + if (yych == 'e') goto yy942; goto yy87; -yy838: +yy835: yych = *++cursor_; - if (yych == 'c') goto yy950; + if (yych == 'c') goto yy944; goto yy87; -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: +yy836: yych = *++cursor_; - if (yych == '/') goto yy951; + if (yych == '/') goto yy945; goto yy87; -yy842: +yy837: yych = *++cursor_; - if (yych == 'i') goto yy952; + if (yych == 'i') goto yy946; goto yy87; -yy843: +yy838: yych = *++cursor_; - if (yych == 't') goto yy953; + if (yych == 't') goto yy947; goto yy87; -yy844: +yy839: yych = *++cursor_; - if (yych == 's') goto yy955; - if (yych == 'u') goto yy957; + if (yych == 's') goto yy949; + if (yych == 'u') goto yy951; goto yy87; -yy845: +yy840: yych = *++cursor_; - if (yych == 'n') goto yy959; + if (yych == 'n') goto yy953; goto yy87; -yy846: +yy841: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 393 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I64GeS); } -#line 5114 "src/prebuilt/wast-lexer-gen.cc" -yy848: +#line 5092 "src/prebuilt/wast-lexer-gen.cc" +yy843: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 395 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I64GeU); } -#line 5122 "src/prebuilt/wast-lexer-gen.cc" -yy850: +#line 5100 "src/prebuilt/wast-lexer-gen.cc" +yy845: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 389 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I64GtS); } -#line 5130 "src/prebuilt/wast-lexer-gen.cc" -yy852: +#line 5108 "src/prebuilt/wast-lexer-gen.cc" +yy847: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 391 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I64GtU); } -#line 5138 "src/prebuilt/wast-lexer-gen.cc" -yy854: +#line 5116 "src/prebuilt/wast-lexer-gen.cc" +yy849: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 385 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I64LeS); } -#line 5146 "src/prebuilt/wast-lexer-gen.cc" -yy856: +#line 5124 "src/prebuilt/wast-lexer-gen.cc" +yy851: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 387 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I64LeU); } -#line 5154 "src/prebuilt/wast-lexer-gen.cc" -yy858: +#line 5132 "src/prebuilt/wast-lexer-gen.cc" +yy853: ++cursor_; if ((yych = *cursor_) <= '1') { if (yych <= '"') { if (yych == '!') goto yy86; } else { if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy859; + if (yych <= ')') goto yy854; if (yych <= '0') goto yy86; - goto yy960; + goto yy954; } } else { if (yych <= '8') { - if (yych == '3') goto yy961; + if (yych == '3') goto yy955; if (yych <= '7') goto yy86; - goto yy962; + goto yy956; } else { - if (yych == ';') goto yy859; + if (yych == ';') goto yy854; if (yych <= '~') goto yy86; } } -yy859: +yy854: #line 277 "src/wast-lexer.cc" { RETURN_OPCODE(Load, I64Load); } -#line 5179 "src/prebuilt/wast-lexer-gen.cc" -yy860: +#line 5157 "src/prebuilt/wast-lexer-gen.cc" +yy855: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 381 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I64LtS); } -#line 5187 "src/prebuilt/wast-lexer-gen.cc" -yy862: +#line 5165 "src/prebuilt/wast-lexer-gen.cc" +yy857: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 383 "src/wast-lexer.cc" { RETURN_OPCODE(Compare, I64LtU); } -#line 5195 "src/prebuilt/wast-lexer-gen.cc" -yy864: +#line 5173 "src/prebuilt/wast-lexer-gen.cc" +yy859: yych = *++cursor_; - if (yych == 'n') goto yy963; + if (yych == 'n') goto yy957; goto yy87; -yy865: +yy860: yych = *++cursor_; - if (yych == 't') goto yy964; + if (yych == 't') goto yy958; goto yy87; -yy866: +yy861: yych = *++cursor_; - if (yych == 's') goto yy965; - if (yych == 'u') goto yy967; + if (yych == 's') goto yy959; + if (yych == 'u') goto yy961; goto yy87; -yy867: +yy862: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 359 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64Rotl); } -#line 5216 "src/prebuilt/wast-lexer-gen.cc" -yy869: +#line 5194 "src/prebuilt/wast-lexer-gen.cc" +yy864: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 361 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64Rotr); } -#line 5224 "src/prebuilt/wast-lexer-gen.cc" -yy871: +#line 5202 "src/prebuilt/wast-lexer-gen.cc" +yy866: yych = *++cursor_; - if (yych == 's') goto yy969; - if (yych == 'u') goto yy971; + if (yych == 's') goto yy963; + if (yych == 'u') goto yy965; goto yy87; -yy872: +yy867: yych = *++cursor_; - if (yych == 'e') goto yy973; + if (yych == 'e') goto yy967; goto yy87; -yy873: +yy868: yych = *++cursor_; - if (yych == 'c') goto yy975; + if (yych == 'c') goto yy969; goto yy87; -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: +yy869: ++cursor_; if ((yych = *cursor_) <= '9') { if (yych <= '"') { if (yych == '!') goto yy86; } else { if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy877; + if (yych <= ')') goto yy870; if (yych <= '/') goto yy86; - goto yy878; + goto yy871; } } else { if (yych <= '_') { - if (yych == ';') goto yy877; + if (yych == ';') goto yy870; if (yych <= '^') goto yy86; - goto yy976; + goto yy970; } else { - if (yych == 'x') goto yy977; + if (yych == 'x') goto yy971; if (yych <= '~') goto yy86; } } -yy877: +yy870: #line 299 "src/wast-lexer.cc" { RETURN_TEXT_AT(OffsetEqNat, 7); } -#line 5270 "src/prebuilt/wast-lexer-gen.cc" -yy878: +#line 5240 "src/prebuilt/wast-lexer-gen.cc" +yy871: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; if (yych <= '/') { if (yych <= '"') { if (yych == '!') goto yy86; - goto yy877; + goto yy870; } else { if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy877; + if (yych <= ')') goto yy870; goto yy86; } } else { if (yych <= ';') { - if (yych <= '9') goto yy878; + if (yych <= '9') goto yy871; if (yych <= ':') goto yy86; - goto yy877; + goto yy870; } else { - if (yych == '_') goto yy976; + if (yych == '_') goto yy970; if (yych <= '~') goto yy86; - goto yy877; + goto yy870; } } -yy880: +yy873: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 531 "src/wast-lexer.cc" { RETURN(Register); } -#line 5302 "src/prebuilt/wast-lexer-gen.cc" -yy882: +#line 5272 "src/prebuilt/wast-lexer-gen.cc" +yy875: yych = *++cursor_; - if (yych == 'a') goto yy978; + if (yych == 'a') goto yy972; goto yy87; -yy883: +yy876: yych = *++cursor_; - if (yych == 'l') goto yy979; + if (yych == 'l') goto yy973; goto yy87; -yy884: +yy877: yych = *++cursor_; - if (yych == 'l') goto yy981; + if (yych == 'l') goto yy975; goto yy87; -yy885: +yy878: yych = *++cursor_; - if (yych == 'b') goto yy983; + if (yych == 'b') goto yy977; goto yy87; -yy886: +yy879: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; if (yych <= ':') { if (yych <= '\'') { if (yych == '!') goto yy86; - if (yych <= '"') goto yy613; + if (yych <= '"') goto yy610; goto yy86; } else { - if (yych <= ')') goto yy613; + if (yych <= ')') goto yy610; if (yych <= '/') goto yy86; - if (yych <= '9') goto yy886; + if (yych <= '9') goto yy879; goto yy86; } } else { if (yych <= '^') { - if (yych <= ';') goto yy613; + if (yych <= ';') goto yy610; if (yych <= '@') goto yy86; - if (yych <= 'F') goto yy886; + if (yych <= 'F') goto yy879; goto yy86; } else { if (yych <= '`') { - if (yych <= '_') goto yy762; + if (yych <= '_') goto yy758; goto yy86; } else { - if (yych <= 'f') goto yy886; + if (yych <= 'f') goto yy879; if (yych <= '~') goto yy86; - goto yy613; + goto yy610; } } } -yy888: +yy881: yych = *++cursor_; - if (yych == 'h') goto yy984; + if (yych == 'h') goto yy978; goto yy87; -yy889: +yy882: yych = *++cursor_; - if (yych == 'v') goto yy985; + if (yych == 'v') goto yy979; goto yy87; -yy890: +yy883: yych = *++cursor_; - if (yych == 'l') goto yy986; + if (yych == 'l') goto yy980; goto yy87; -yy891: +yy884: yych = *++cursor_; - if (yych == 't') goto yy987; + if (yych == 't') goto yy981; goto yy87; -yy892: +yy885: yych = *++cursor_; - if (yych == 'a') goto yy988; + if (yych == 'a') goto yy982; goto yy87; -yy893: +yy886: yych = *++cursor_; - if (yych == 'l') goto yy989; + if (yych == 'l') goto yy983; goto yy87; -yy894: +yy887: yych = *++cursor_; - if (yych == 'r') goto yy990; + if (yych == 'k') goto yy984; goto yy87; -yy895: +yy888: + yych = *++cursor_; + if (yych == 'r') goto yy985; + goto yy87; +yy889: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 544 "src/wast-lexer.cc" { RETURN_OPCODE0(CatchAll); } -#line 5386 "src/prebuilt/wast-lexer-gen.cc" -yy897: +#line 5360 "src/prebuilt/wast-lexer-gen.cc" +yy891: yych = *++cursor_; - if (yych == 'e') goto yy991; + if (yych == 'e') goto yy986; goto yy87; -yy898: +yy892: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 303 "src/wast-lexer.cc" { RETURN_OPCODE(Const, F32Const); } -#line 5398 "src/prebuilt/wast-lexer-gen.cc" -yy900: +#line 5372 "src/prebuilt/wast-lexer-gen.cc" +yy894: yych = *++cursor_; - if (yych == 'r') goto yy992; + if (yych == 'r') goto yy987; goto yy87; -yy901: +yy895: yych = *++cursor_; - if (yych == 'i') goto yy993; + if (yych == 'i') goto yy988; goto yy87; -yy902: +yy896: yych = *++cursor_; - if (yych == 'e') goto yy994; + if (yych == 'e') goto yy989; goto yy87; -yy903: +yy897: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 321 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F32Floor); } -#line 5418 "src/prebuilt/wast-lexer-gen.cc" -yy905: +#line 5392 "src/prebuilt/wast-lexer-gen.cc" +yy899: yych = *++cursor_; - if (yych == 's') goto yy995; + if (yych == 's') goto yy990; goto yy87; -yy906: +yy900: yych = *++cursor_; - if (yych == 'e') goto yy996; + if (yych == 'e') goto yy991; goto yy87; -yy907: +yy901: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 282 "src/wast-lexer.cc" { RETURN_OPCODE(Store, F32Store); } -#line 5434 "src/prebuilt/wast-lexer-gen.cc" -yy909: +#line 5408 "src/prebuilt/wast-lexer-gen.cc" +yy903: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 323 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F32Trunc); } -#line 5442 "src/prebuilt/wast-lexer-gen.cc" -yy911: +#line 5416 "src/prebuilt/wast-lexer-gen.cc" +yy905: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 304 "src/wast-lexer.cc" { RETURN_OPCODE(Const, F64Const); } -#line 5450 "src/prebuilt/wast-lexer-gen.cc" -yy913: +#line 5424 "src/prebuilt/wast-lexer-gen.cc" +yy907: yych = *++cursor_; - if (yych == 'r') goto yy997; + if (yych == 'r') goto yy992; goto yy87; -yy914: +yy908: yych = *++cursor_; - if (yych == 'i') goto yy998; + if (yych == 'i') goto yy993; goto yy87; -yy915: +yy909: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 322 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F64Floor); } -#line 5466 "src/prebuilt/wast-lexer-gen.cc" -yy917: +#line 5440 "src/prebuilt/wast-lexer-gen.cc" +yy911: yych = *++cursor_; - if (yych == 's') goto yy999; + if (yych == 's') goto yy994; goto yy87; -yy918: +yy912: yych = *++cursor_; - if (yych == 't') goto yy1000; + if (yych == 't') goto yy995; goto yy87; -yy919: +yy913: yych = *++cursor_; - if (yych == 'e') goto yy1001; + if (yych == 'e') goto yy996; goto yy87; -yy920: +yy914: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 283 "src/wast-lexer.cc" { RETURN_OPCODE(Store, F64Store); } -#line 5486 "src/prebuilt/wast-lexer-gen.cc" -yy922: +#line 5460 "src/prebuilt/wast-lexer-gen.cc" +yy916: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 324 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F64Trunc); } -#line 5494 "src/prebuilt/wast-lexer-gen.cc" -yy924: +#line 5468 "src/prebuilt/wast-lexer-gen.cc" +yy918: yych = *++cursor_; - if (yych == 'l') goto yy1002; + if (yych == 'l') goto yy997; goto yy87; -yy925: +yy919: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 271 "src/wast-lexer.cc" { RETURN_OPCODE0(GetLocal); } -#line 5506 "src/prebuilt/wast-lexer-gen.cc" -yy927: +#line 5480 "src/prebuilt/wast-lexer-gen.cc" +yy921: yych = *++cursor_; - if (yych == 'r') goto yy1004; + if (yych == 'r') goto yy999; goto yy87; -yy928: +yy922: yych = *++cursor_; - if (yych == 'c') goto yy1005; + if (yych == 'c') goto yy1000; goto yy87; -yy929: +yy923: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 301 "src/wast-lexer.cc" { RETURN_OPCODE(Const, I32Const); } -#line 5522 "src/prebuilt/wast-lexer-gen.cc" -yy931: +#line 5496 "src/prebuilt/wast-lexer-gen.cc" +yy925: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 338 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32DivS); } -#line 5530 "src/prebuilt/wast-lexer-gen.cc" -yy933: +#line 5504 "src/prebuilt/wast-lexer-gen.cc" +yy927: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 340 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32DivU); } -#line 5538 "src/prebuilt/wast-lexer-gen.cc" -yy935: +#line 5512 "src/prebuilt/wast-lexer-gen.cc" +yy929: yych = *++cursor_; - if (yych == 'd') goto yy1006; + if (yych == 'd') goto yy1001; goto yy87; -yy936: +yy930: yych = *++cursor_; - if (yych == '6') goto yy1007; + if (yych == '6') goto yy1002; goto yy87; -yy937: +yy931: yych = *++cursor_; - if (yych == '_') goto yy1008; + if (yych == '_') goto yy1003; goto yy87; -yy938: +yy932: yych = *++cursor_; - if (yych == 't') goto yy1009; + if (yych == 't') goto yy1004; goto yy87; -yy939: +yy933: yych = *++cursor_; - if (yych == 'e') goto yy1011; + if (yych == 'e') goto yy1006; goto yy87; -yy940: +yy934: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 342 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32RemS); } -#line 5566 "src/prebuilt/wast-lexer-gen.cc" -yy942: +#line 5540 "src/prebuilt/wast-lexer-gen.cc" +yy936: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 344 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32RemU); } -#line 5574 "src/prebuilt/wast-lexer-gen.cc" -yy944: +#line 5548 "src/prebuilt/wast-lexer-gen.cc" +yy938: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 354 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32ShrS); } -#line 5582 "src/prebuilt/wast-lexer-gen.cc" -yy946: +#line 5556 "src/prebuilt/wast-lexer-gen.cc" +yy940: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 356 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I32ShrU); } -#line 5590 "src/prebuilt/wast-lexer-gen.cc" -yy948: +#line 5564 "src/prebuilt/wast-lexer-gen.cc" +yy942: ++cursor_; if ((yych = *cursor_) <= '0') { if (yych <= '"') { @@ -5598,140 +5572,140 @@ yy948: } } else { if (yych <= '8') { - if (yych <= '1') goto yy1012; + if (yych <= '1') goto yy1007; if (yych <= '7') goto yy86; - goto yy1013; + goto yy1008; } else { - if (yych == ';') goto yy949; + if (yych == ';') goto yy943; if (yych <= '~') goto yy86; } } -yy949: +yy943: #line 280 "src/wast-lexer.cc" { RETURN_OPCODE(Store, I32Store); } -#line 5613 "src/prebuilt/wast-lexer-gen.cc" -yy950: +#line 5587 "src/prebuilt/wast-lexer-gen.cc" +yy944: yych = *++cursor_; - if (yych == '_') goto yy1015; + if (yych == '_') goto yy1010; goto yy87; -yy951: +yy945: yych = *++cursor_; - if (yych == 'i') goto yy1016; + if (yych == 'i') goto yy1011; goto yy87; -yy952: +yy946: yych = *++cursor_; - if (yych == 'c') goto yy1017; + if (yych == 'c') goto yy1012; goto yy87; -yy953: +yy947: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 302 "src/wast-lexer.cc" { RETURN_OPCODE(Const, I64Const); } -#line 5633 "src/prebuilt/wast-lexer-gen.cc" -yy955: +#line 5607 "src/prebuilt/wast-lexer-gen.cc" +yy949: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 339 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64DivS); } -#line 5641 "src/prebuilt/wast-lexer-gen.cc" -yy957: +#line 5615 "src/prebuilt/wast-lexer-gen.cc" +yy951: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 341 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64DivU); } -#line 5649 "src/prebuilt/wast-lexer-gen.cc" -yy959: +#line 5623 "src/prebuilt/wast-lexer-gen.cc" +yy953: yych = *++cursor_; - if (yych == 'd') goto yy1018; + if (yych == 'd') goto yy1013; goto yy87; -yy960: +yy954: yych = *++cursor_; - if (yych == '6') goto yy1019; + if (yych == '6') goto yy1014; goto yy87; -yy961: +yy955: yych = *++cursor_; - if (yych == '2') goto yy1020; + if (yych == '2') goto yy1015; goto yy87; -yy962: +yy956: yych = *++cursor_; - if (yych == '_') goto yy1021; + if (yych == '_') goto yy1016; goto yy87; -yy963: +yy957: yych = *++cursor_; - if (yych == 't') goto yy1022; + if (yych == 't') goto yy1017; goto yy87; -yy964: +yy958: yych = *++cursor_; - if (yych == 'e') goto yy1024; + if (yych == 'e') goto yy1019; goto yy87; -yy965: +yy959: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 343 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64RemS); } -#line 5681 "src/prebuilt/wast-lexer-gen.cc" -yy967: +#line 5655 "src/prebuilt/wast-lexer-gen.cc" +yy961: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 345 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64RemU); } -#line 5689 "src/prebuilt/wast-lexer-gen.cc" -yy969: +#line 5663 "src/prebuilt/wast-lexer-gen.cc" +yy963: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 355 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64ShrS); } -#line 5697 "src/prebuilt/wast-lexer-gen.cc" -yy971: +#line 5671 "src/prebuilt/wast-lexer-gen.cc" +yy965: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 357 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, I64ShrU); } -#line 5705 "src/prebuilt/wast-lexer-gen.cc" -yy973: +#line 5679 "src/prebuilt/wast-lexer-gen.cc" +yy967: ++cursor_; if ((yych = *cursor_) <= '1') { if (yych <= '"') { if (yych == '!') goto yy86; } else { if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy974; + if (yych <= ')') goto yy968; if (yych <= '0') goto yy86; - goto yy1025; + goto yy1020; } } else { if (yych <= '8') { - if (yych == '3') goto yy1026; + if (yych == '3') goto yy1021; if (yych <= '7') goto yy86; - goto yy1027; + goto yy1022; } else { - if (yych == ';') goto yy974; + if (yych == ';') goto yy968; if (yych <= '~') goto yy86; } } -yy974: +yy968: #line 281 "src/wast-lexer.cc" { RETURN_OPCODE(Store, I64Store); } -#line 5730 "src/prebuilt/wast-lexer-gen.cc" -yy975: +#line 5704 "src/prebuilt/wast-lexer-gen.cc" +yy969: yych = *++cursor_; - if (yych == '_') goto yy1029; + if (yych == '_') goto yy1024; goto yy87; -yy976: +yy970: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; @@ -5747,7 +5721,7 @@ yy976: } else { if (yych <= ':') { if (yych <= '/') goto yy86; - if (yych <= '9') goto yy878; + if (yych <= '9') goto yy871; goto yy86; } else { if (yych <= ';') goto yy88; @@ -5755,7 +5729,7 @@ yy976: goto yy88; } } -yy977: +yy971: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; @@ -5767,850 +5741,876 @@ yy977: if (yych <= '\'') goto yy86; if (yych <= ')') goto yy88; if (yych <= '/') goto yy86; - goto yy1030; + goto yy1025; } } else { if (yych <= 'F') { if (yych == ';') goto yy88; if (yych <= '@') goto yy86; - goto yy1030; + goto yy1025; } else { if (yych <= '`') goto yy86; - if (yych <= 'f') goto yy1030; + if (yych <= 'f') goto yy1025; if (yych <= '~') goto yy86; goto yy88; } } -yy978: +yy972: yych = *++cursor_; - if (yych == 'l') goto yy1032; + if (yych == 'l') goto yy1027; goto yy87; -yy979: +yy973: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 272 "src/wast-lexer.cc" { RETURN_OPCODE0(SetLocal); } -#line 5796 "src/prebuilt/wast-lexer-gen.cc" -yy981: +#line 5770 "src/prebuilt/wast-lexer-gen.cc" +yy975: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 273 "src/wast-lexer.cc" { RETURN_OPCODE0(TeeLocal); } -#line 5804 "src/prebuilt/wast-lexer-gen.cc" +#line 5778 "src/prebuilt/wast-lexer-gen.cc" +yy977: + yych = *++cursor_; + if (yych == 'l') goto yy1029; + goto yy87; +yy978: + yych = *++cursor_; + if (yych == 'a') goto yy1030; + goto yy87; +yy979: + yych = *++cursor_; + if (yych == 'a') goto yy1031; + goto yy87; +yy980: + yych = *++cursor_; + if (yych == 'f') goto yy1032; + goto yy87; +yy981: + yych = *++cursor_; + if (yych == 'u') goto yy1033; + goto yy87; +yy982: + yych = *++cursor_; + if (yych == 'p') goto yy1034; + goto yy87; yy983: yych = *++cursor_; - if (yych == 'l') goto yy1034; + if (yych == 'i') goto yy1036; goto yy87; yy984: yych = *++cursor_; - if (yych == 'a') goto yy1035; + if (yych == 'e') goto yy1037; goto yy87; yy985: yych = *++cursor_; - if (yych == 'a') goto yy1036; + if (yych == 'e') goto yy1039; goto yy87; yy986: yych = *++cursor_; - if (yych == 'f') goto yy1037; + if (yych == 'm') goto yy1040; goto yy87; yy987: yych = *++cursor_; - if (yych == 'u') goto yy1038; + if (yych == 't') goto yy1041; goto yy87; yy988: yych = *++cursor_; - if (yych == 'p') goto yy1039; + if (yych == 'g') goto yy1042; goto yy87; yy989: yych = *++cursor_; - if (yych == 'i') goto yy1041; + if (yych == '/') goto yy1043; goto yy87; yy990: yych = *++cursor_; - if (yych == 'e') goto yy1042; + if (yych == 't') goto yy1044; goto yy87; yy991: yych = *++cursor_; - if (yych == 'm') goto yy1043; + if (yych == 'r') goto yy1046; goto yy87; yy992: yych = *++cursor_; - if (yych == 't') goto yy1044; + if (yych == 't') goto yy1047; goto yy87; yy993: yych = *++cursor_; - if (yych == 'g') goto yy1045; + if (yych == 'g') goto yy1048; goto yy87; yy994: yych = *++cursor_; - if (yych == '/') goto yy1046; + if (yych == 't') goto yy1049; goto yy87; yy995: yych = *++cursor_; - if (yych == 't') goto yy1047; + if (yych == 'e') goto yy1051; goto yy87; yy996: yych = *++cursor_; - if (yych == 'r') goto yy1049; + if (yych == 'r') goto yy1052; goto yy87; yy997: - yych = *++cursor_; - if (yych == 't') goto yy1050; - goto yy87; -yy998: - yych = *++cursor_; - if (yych == 'g') goto yy1051; - goto yy87; -yy999: - yych = *++cursor_; - if (yych == 't') goto yy1052; - goto yy87; -yy1000: - yych = *++cursor_; - if (yych == 'e') goto yy1054; - goto yy87; -yy1001: - yych = *++cursor_; - if (yych == 'r') goto yy1055; - goto yy87; -yy1002: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 274 "src/wast-lexer.cc" { RETURN_OPCODE0(GetGlobal); } -#line 5888 "src/prebuilt/wast-lexer-gen.cc" -yy1004: +#line 5866 "src/prebuilt/wast-lexer-gen.cc" +yy999: yych = *++cursor_; - if (yych == 'y') goto yy1056; + if (yych == 'y') goto yy1053; goto yy87; -yy1005: +yy1000: yych = *++cursor_; - if (yych == '.') goto yy1058; + if (yych == '.') goto yy1055; goto yy87; -yy1006: +yy1001: yych = *++cursor_; - if (yych == '1') goto yy1059; - if (yych == '8') goto yy1060; + if (yych == '1') goto yy1056; + if (yych == '8') goto yy1057; goto yy87; -yy1007: +yy1002: yych = *++cursor_; - if (yych == '_') goto yy1061; + if (yych == '_') goto yy1058; goto yy87; -yy1008: +yy1003: yych = *++cursor_; - if (yych == 's') goto yy1062; - if (yych == 'u') goto yy1064; + if (yych == 's') goto yy1059; + if (yych == 'u') goto yy1061; goto yy87; -yy1009: +yy1004: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 311 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, I32Popcnt); } -#line 5918 "src/prebuilt/wast-lexer-gen.cc" -yy1011: +#line 5896 "src/prebuilt/wast-lexer-gen.cc" +yy1006: yych = *++cursor_; - if (yych == 'r') goto yy1066; + if (yych == 'r') goto yy1063; goto yy87; -yy1012: +yy1007: yych = *++cursor_; - if (yych == '6') goto yy1067; + if (yych == '6') goto yy1064; goto yy87; -yy1013: +yy1008: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 294 "src/wast-lexer.cc" { RETURN_OPCODE(Store, I32Store8); } -#line 5934 "src/prebuilt/wast-lexer-gen.cc" -yy1015: +#line 5912 "src/prebuilt/wast-lexer-gen.cc" +yy1010: yych = *++cursor_; - if (yych == 's') goto yy1069; - if (yych == 'u') goto yy1070; + if (yych == 's') goto yy1066; + if (yych == 'u') goto yy1067; goto yy87; -yy1016: +yy1011: yych = *++cursor_; - if (yych == '6') goto yy1071; + if (yych == '6') goto yy1068; goto yy87; -yy1017: +yy1012: yych = *++cursor_; - if (yych == '.') goto yy1072; + if (yych == '.') goto yy1069; goto yy87; -yy1018: +yy1013: yych = *++cursor_; if (yych <= '3') { - if (yych == '1') goto yy1073; + if (yych == '1') goto yy1070; if (yych <= '2') goto yy87; - goto yy1074; + goto yy1071; } else { if (yych <= '8') { if (yych <= '7') goto yy87; - goto yy1075; + goto yy1072; } else { - if (yych == '_') goto yy1076; + if (yych == '_') goto yy1073; goto yy87; } } -yy1019: +yy1014: yych = *++cursor_; - if (yych == '_') goto yy1077; + if (yych == '_') goto yy1074; goto yy87; -yy1020: +yy1015: yych = *++cursor_; - if (yych == '_') goto yy1078; + if (yych == '_') goto yy1075; goto yy87; -yy1021: +yy1016: yych = *++cursor_; - if (yych == 's') goto yy1079; - if (yych == 'u') goto yy1081; + if (yych == 's') goto yy1076; + if (yych == 'u') goto yy1078; goto yy87; -yy1022: +yy1017: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 312 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, I64Popcnt); } -#line 5983 "src/prebuilt/wast-lexer-gen.cc" -yy1024: +#line 5961 "src/prebuilt/wast-lexer-gen.cc" +yy1019: yych = *++cursor_; - if (yych == 'r') goto yy1083; + if (yych == 'r') goto yy1080; goto yy87; -yy1025: +yy1020: yych = *++cursor_; - if (yych == '6') goto yy1084; + if (yych == '6') goto yy1081; goto yy87; -yy1026: +yy1021: yych = *++cursor_; - if (yych == '2') goto yy1086; + if (yych == '2') goto yy1083; goto yy87; -yy1027: +yy1022: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 295 "src/wast-lexer.cc" { RETURN_OPCODE(Store, I64Store8); } -#line 6003 "src/prebuilt/wast-lexer-gen.cc" -yy1029: +#line 5981 "src/prebuilt/wast-lexer-gen.cc" +yy1024: yych = *++cursor_; - if (yych == 's') goto yy1088; - if (yych == 'u') goto yy1089; + if (yych == 's') goto yy1085; + if (yych == 'u') goto yy1086; goto yy87; -yy1030: +yy1025: ++cursor_; if (limit_ <= cursor_) FILL(1); yych = *cursor_; if (yych <= ':') { if (yych <= '\'') { if (yych == '!') goto yy86; - if (yych <= '"') goto yy877; + if (yych <= '"') goto yy870; goto yy86; } else { - if (yych <= ')') goto yy877; + if (yych <= ')') goto yy870; if (yych <= '/') goto yy86; - if (yych <= '9') goto yy1030; + if (yych <= '9') goto yy1025; goto yy86; } } else { if (yych <= '^') { - if (yych <= ';') goto yy877; + if (yych <= ';') goto yy870; if (yych <= '@') goto yy86; - if (yych <= 'F') goto yy1030; + if (yych <= 'F') goto yy1025; goto yy86; } else { if (yych <= '`') { - if (yych <= '_') goto yy977; + if (yych <= '_') goto yy971; goto yy86; } else { - if (yych <= 'f') goto yy1030; + if (yych <= 'f') goto yy1025; if (yych <= '~') goto yy86; - goto yy877; + goto yy870; } } } -yy1032: +yy1027: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 275 "src/wast-lexer.cc" { RETURN_OPCODE0(SetGlobal); } -#line 6048 "src/prebuilt/wast-lexer-gen.cc" -yy1034: +#line 6026 "src/prebuilt/wast-lexer-gen.cc" +yy1029: yych = *++cursor_; - if (yych == 'e') goto yy1090; + if (yych == 'e') goto yy1087; goto yy87; -yy1035: +yy1030: yych = *++cursor_; - if (yych == 'u') goto yy1092; + if (yych == 'u') goto yy1089; goto yy87; -yy1036: +yy1031: yych = *++cursor_; - if (yych == 'l') goto yy1093; + if (yych == 'l') goto yy1090; goto yy87; -yy1037: +yy1032: yych = *++cursor_; - if (yych == 'o') goto yy1094; + if (yych == 'o') goto yy1091; goto yy87; -yy1038: +yy1033: yych = *++cursor_; - if (yych == 'r') goto yy1095; + if (yych == 'r') goto yy1092; goto yy87; -yy1039: +yy1034: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 540 "src/wast-lexer.cc" { RETURN(AssertTrap); } -#line 6076 "src/prebuilt/wast-lexer-gen.cc" -yy1041: +#line 6054 "src/prebuilt/wast-lexer-gen.cc" +yy1036: yych = *++cursor_; - if (yych == 'n') goto yy1096; + if (yych == 'n') goto yy1093; goto yy87; -yy1042: +yy1037: + ++cursor_; + if (yybm[0+(yych = *cursor_)] & 8) { + goto yy86; + } +#line 448 "src/wast-lexer.cc" + { RETURN_OPCODE0(AtomicWake); } +#line 6066 "src/prebuilt/wast-lexer-gen.cc" +yy1039: yych = *++cursor_; - if (yych == 'c') goto yy1097; + if (yych == 'c') goto yy1094; goto yy87; -yy1043: +yy1040: yych = *++cursor_; - if (yych == 'o') goto yy1098; + if (yych == 'o') goto yy1095; goto yy87; -yy1044: +yy1041: yych = *++cursor_; - if (yych == '_') goto yy1099; + if (yych == '_') goto yy1096; goto yy87; -yy1045: +yy1042: yych = *++cursor_; - if (yych == 'n') goto yy1100; + if (yych == 'n') goto yy1097; goto yy87; -yy1046: +yy1043: yych = *++cursor_; - if (yych == 'f') goto yy1102; + if (yych == 'f') goto yy1099; goto yy87; -yy1047: +yy1044: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 325 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F32Nearest); } -#line 6108 "src/prebuilt/wast-lexer-gen.cc" -yy1049: +#line 6094 "src/prebuilt/wast-lexer-gen.cc" +yy1046: yych = *++cursor_; - if (yych == 'p') goto yy1103; + if (yych == 'p') goto yy1100; goto yy87; -yy1050: +yy1047: yych = *++cursor_; - if (yych == '_') goto yy1104; + if (yych == '_') goto yy1101; goto yy87; -yy1051: +yy1048: yych = *++cursor_; - if (yych == 'n') goto yy1105; + if (yych == 'n') goto yy1102; goto yy87; -yy1052: +yy1049: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 326 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, F64Nearest); } -#line 6128 "src/prebuilt/wast-lexer-gen.cc" -yy1054: +#line 6114 "src/prebuilt/wast-lexer-gen.cc" +yy1051: yych = *++cursor_; - if (yych == '/') goto yy1107; + if (yych == '/') goto yy1104; goto yy87; -yy1055: +yy1052: yych = *++cursor_; - if (yych == 'p') goto yy1108; + if (yych == 'p') goto yy1105; goto yy87; -yy1056: +yy1053: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 444 "src/wast-lexer.cc" { RETURN_OPCODE0(GrowMemory); } -#line 6144 "src/prebuilt/wast-lexer-gen.cc" -yy1058: +#line 6130 "src/prebuilt/wast-lexer-gen.cc" +yy1055: yych = *++cursor_; - if (yych <= 'q') { - if (yych == 'l') goto yy1109; - goto yy87; + if (yych <= 'r') { + if (yych == 'l') goto yy1106; + if (yych <= 'q') goto yy87; + goto yy1107; } else { - if (yych <= 'r') goto yy1110; - if (yych <= 's') goto yy1111; + if (yych <= 's') goto yy1108; + if (yych == 'w') goto yy1109; goto yy87; } -yy1059: +yy1056: yych = *++cursor_; - if (yych == '6') goto yy1112; + if (yych == '6') goto yy1110; goto yy87; -yy1060: +yy1057: yych = *++cursor_; - if (yych == '_') goto yy1113; + if (yych == '_') goto yy1111; goto yy87; -yy1061: +yy1058: yych = *++cursor_; - if (yych == 's') goto yy1114; - if (yych == 'u') goto yy1116; + if (yych == 's') goto yy1112; + if (yych == 'u') goto yy1114; goto yy87; -yy1062: +yy1059: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 284 "src/wast-lexer.cc" { RETURN_OPCODE(Load, I32Load8S); } -#line 6175 "src/prebuilt/wast-lexer-gen.cc" -yy1064: +#line 6162 "src/prebuilt/wast-lexer-gen.cc" +yy1061: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 286 "src/wast-lexer.cc" { RETURN_OPCODE(Load, I32Load8U); } -#line 6183 "src/prebuilt/wast-lexer-gen.cc" -yy1066: +#line 6170 "src/prebuilt/wast-lexer-gen.cc" +yy1063: yych = *++cursor_; - if (yych == 'p') goto yy1118; + if (yych == 'p') goto yy1116; goto yy87; -yy1067: +yy1064: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 296 "src/wast-lexer.cc" { RETURN_OPCODE(Store, I32Store16); } -#line 6195 "src/prebuilt/wast-lexer-gen.cc" -yy1069: +#line 6182 "src/prebuilt/wast-lexer-gen.cc" +yy1066: yych = *++cursor_; - if (yych == '/') goto yy1119; - if (yych == ':') goto yy1120; + if (yych == '/') goto yy1117; + if (yych == ':') goto yy1118; goto yy87; -yy1070: +yy1067: yych = *++cursor_; - if (yych == '/') goto yy1121; - if (yych == ':') goto yy1122; + if (yych == '/') goto yy1119; + if (yych == ':') goto yy1120; goto yy87; -yy1071: +yy1068: yych = *++cursor_; - if (yych == '4') goto yy1123; + if (yych == '4') goto yy1121; goto yy87; -yy1072: +yy1069: yych = *++cursor_; - if (yych <= 'q') { - if (yych == 'l') goto yy1125; - goto yy87; + if (yych <= 'r') { + if (yych == 'l') goto yy1123; + if (yych <= 'q') goto yy87; + goto yy1124; } else { - if (yych <= 'r') goto yy1126; - if (yych <= 's') goto yy1127; + if (yych <= 's') goto yy1125; + if (yych == 'w') goto yy1126; goto yy87; } -yy1073: +yy1070: yych = *++cursor_; - if (yych == '6') goto yy1128; + if (yych == '6') goto yy1127; goto yy87; -yy1074: +yy1071: yych = *++cursor_; - if (yych == '2') goto yy1129; + if (yych == '2') goto yy1128; goto yy87; -yy1075: +yy1072: yych = *++cursor_; - if (yych == '_') goto yy1130; + if (yych == '_') goto yy1129; goto yy87; -yy1076: +yy1073: yych = *++cursor_; - if (yych == 's') goto yy1131; - if (yych == 'u') goto yy1132; + if (yych == 's') goto yy1130; + if (yych == 'u') goto yy1131; goto yy87; -yy1077: +yy1074: yych = *++cursor_; - if (yych == 's') goto yy1133; - if (yych == 'u') goto yy1135; + if (yych == 's') goto yy1132; + if (yych == 'u') goto yy1134; goto yy87; -yy1078: +yy1075: yych = *++cursor_; - if (yych == 's') goto yy1137; - if (yych == 'u') goto yy1139; + if (yych == 's') goto yy1136; + if (yych == 'u') goto yy1138; goto yy87; -yy1079: +yy1076: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 285 "src/wast-lexer.cc" { RETURN_OPCODE(Load, I64Load8S); } -#line 6254 "src/prebuilt/wast-lexer-gen.cc" -yy1081: +#line 6242 "src/prebuilt/wast-lexer-gen.cc" +yy1078: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 287 "src/wast-lexer.cc" { RETURN_OPCODE(Load, I64Load8U); } -#line 6262 "src/prebuilt/wast-lexer-gen.cc" -yy1083: +#line 6250 "src/prebuilt/wast-lexer-gen.cc" +yy1080: yych = *++cursor_; - if (yych == 'p') goto yy1141; + if (yych == 'p') goto yy1140; goto yy87; -yy1084: +yy1081: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 297 "src/wast-lexer.cc" { RETURN_OPCODE(Store, I64Store16); } -#line 6274 "src/prebuilt/wast-lexer-gen.cc" -yy1086: +#line 6262 "src/prebuilt/wast-lexer-gen.cc" +yy1083: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 298 "src/wast-lexer.cc" { RETURN_OPCODE(Store, I64Store32); } -#line 6282 "src/prebuilt/wast-lexer-gen.cc" -yy1088: +#line 6270 "src/prebuilt/wast-lexer-gen.cc" +yy1085: yych = *++cursor_; - if (yych == '/') goto yy1142; - if (yych == ':') goto yy1143; + if (yych == '/') goto yy1141; + if (yych == ':') goto yy1142; goto yy87; -yy1089: +yy1086: yych = *++cursor_; - if (yych == '/') goto yy1144; - if (yych == ':') goto yy1145; + if (yych == '/') goto yy1143; + if (yych == ':') goto yy1144; goto yy87; -yy1090: +yy1087: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 442 "src/wast-lexer.cc" { RETURN_OPCODE0(Unreachable); } -#line 6300 "src/prebuilt/wast-lexer-gen.cc" -yy1092: +#line 6288 "src/prebuilt/wast-lexer-gen.cc" +yy1089: yych = *++cursor_; - if (yych == 's') goto yy1146; + if (yych == 's') goto yy1145; goto yy87; -yy1093: +yy1090: yych = *++cursor_; - if (yych == 'i') goto yy1147; + if (yych == 'i') goto yy1146; goto yy87; -yy1094: +yy1091: yych = *++cursor_; - if (yych == 'r') goto yy1148; + if (yych == 'r') goto yy1147; goto yy87; -yy1095: +yy1092: yych = *++cursor_; - if (yych == 'n') goto yy1149; + if (yych == 'n') goto yy1148; goto yy87; -yy1096: +yy1093: yych = *++cursor_; - if (yych == 'k') goto yy1151; + if (yych == 'k') goto yy1150; goto yy87; -yy1097: +yy1094: yych = *++cursor_; - if (yych == 't') goto yy1152; + if (yych == 't') goto yy1151; goto yy87; -yy1098: +yy1095: yych = *++cursor_; - if (yych == 'r') goto yy1154; + if (yych == 'r') goto yy1153; goto yy87; -yy1099: +yy1096: yych = *++cursor_; - if (yych == 's') goto yy1155; - if (yych == 'u') goto yy1156; + if (yych == 's') goto yy1154; + if (yych == 'u') goto yy1155; goto yy87; -yy1100: +yy1097: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 374 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F32Copysign); } -#line 6341 "src/prebuilt/wast-lexer-gen.cc" -yy1102: +#line 6329 "src/prebuilt/wast-lexer-gen.cc" +yy1099: yych = *++cursor_; - if (yych == '6') goto yy1157; + if (yych == '6') goto yy1156; goto yy87; -yy1103: +yy1100: yych = *++cursor_; - if (yych == 'r') goto yy1158; + if (yych == 'r') goto yy1157; goto yy87; -yy1104: +yy1101: yych = *++cursor_; - if (yych == 's') goto yy1159; - if (yych == 'u') goto yy1160; + if (yych == 's') goto yy1158; + if (yych == 'u') goto yy1159; goto yy87; -yy1105: +yy1102: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 375 "src/wast-lexer.cc" { RETURN_OPCODE(Binary, F64Copysign); } -#line 6362 "src/prebuilt/wast-lexer-gen.cc" -yy1107: +#line 6350 "src/prebuilt/wast-lexer-gen.cc" +yy1104: yych = *++cursor_; - if (yych == 'f') goto yy1161; + if (yych == 'f') goto yy1160; goto yy87; -yy1108: +yy1105: yych = *++cursor_; - if (yych == 'r') goto yy1162; + if (yych == 'r') goto yy1161; goto yy87; -yy1109: +yy1106: yych = *++cursor_; - if (yych == 'o') goto yy1163; + if (yych == 'o') goto yy1162; goto yy87; -yy1110: +yy1107: yych = *++cursor_; - if (yych == 'm') goto yy1164; + if (yych == 'm') goto yy1163; goto yy87; -yy1111: +yy1108: yych = *++cursor_; - if (yych == 't') goto yy1165; + if (yych == 't') goto yy1164; goto yy87; -yy1112: +yy1109: + yych = *++cursor_; + if (yych == 'a') goto yy1165; + goto yy87; +yy1110: yych = *++cursor_; if (yych == '_') goto yy1166; goto yy87; -yy1113: +yy1111: yych = *++cursor_; if (yych == 's') goto yy1167; goto yy87; -yy1114: +yy1112: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 288 "src/wast-lexer.cc" { RETURN_OPCODE(Load, I32Load16S); } -#line 6398 "src/prebuilt/wast-lexer-gen.cc" -yy1116: +#line 6390 "src/prebuilt/wast-lexer-gen.cc" +yy1114: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 290 "src/wast-lexer.cc" { RETURN_OPCODE(Load, I32Load16U); } -#line 6406 "src/prebuilt/wast-lexer-gen.cc" -yy1118: +#line 6398 "src/prebuilt/wast-lexer-gen.cc" +yy1116: yych = *++cursor_; if (yych == 'r') goto yy1169; goto yy87; -yy1119: +yy1117: yych = *++cursor_; if (yych == 'f') goto yy1170; goto yy87; -yy1120: +yy1118: yych = *++cursor_; if (yych == 's') goto yy1171; goto yy87; -yy1121: +yy1119: yych = *++cursor_; if (yych == 'f') goto yy1172; goto yy87; -yy1122: +yy1120: yych = *++cursor_; if (yych == 's') goto yy1173; goto yy87; -yy1123: +yy1121: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 410 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I32WrapI64); } -#line 6434 "src/prebuilt/wast-lexer-gen.cc" -yy1125: +#line 6426 "src/prebuilt/wast-lexer-gen.cc" +yy1123: yych = *++cursor_; if (yych == 'o') goto yy1174; goto yy87; -yy1126: +yy1124: yych = *++cursor_; if (yych == 'm') goto yy1175; goto yy87; -yy1127: +yy1125: yych = *++cursor_; if (yych == 't') goto yy1176; goto yy87; +yy1126: + yych = *++cursor_; + if (yych == 'a') goto yy1177; + goto yy87; +yy1127: + yych = *++cursor_; + if (yych == '_') goto yy1178; + goto yy87; yy1128: yych = *++cursor_; - if (yych == '_') goto yy1177; + if (yych == '_') goto yy1179; goto yy87; yy1129: yych = *++cursor_; - if (yych == '_') goto yy1178; + if (yych == 's') goto yy1180; goto yy87; yy1130: yych = *++cursor_; - if (yych == 's') goto yy1179; + if (yych == '/') goto yy1182; goto yy87; yy1131: yych = *++cursor_; - if (yych == '/') goto yy1181; + if (yych == '/') goto yy1183; goto yy87; yy1132: - yych = *++cursor_; - if (yych == '/') goto yy1182; - goto yy87; -yy1133: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 289 "src/wast-lexer.cc" { RETURN_OPCODE(Load, I64Load16S); } -#line 6474 "src/prebuilt/wast-lexer-gen.cc" -yy1135: +#line 6470 "src/prebuilt/wast-lexer-gen.cc" +yy1134: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 291 "src/wast-lexer.cc" { RETURN_OPCODE(Load, I64Load16U); } -#line 6482 "src/prebuilt/wast-lexer-gen.cc" -yy1137: +#line 6478 "src/prebuilt/wast-lexer-gen.cc" +yy1136: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 292 "src/wast-lexer.cc" { RETURN_OPCODE(Load, I64Load32S); } -#line 6490 "src/prebuilt/wast-lexer-gen.cc" -yy1139: +#line 6486 "src/prebuilt/wast-lexer-gen.cc" +yy1138: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 293 "src/wast-lexer.cc" { RETURN_OPCODE(Load, I64Load32U); } -#line 6498 "src/prebuilt/wast-lexer-gen.cc" +#line 6494 "src/prebuilt/wast-lexer-gen.cc" +yy1140: + yych = *++cursor_; + if (yych == 'r') goto yy1184; + goto yy87; yy1141: yych = *++cursor_; - if (yych == 'r') goto yy1183; + if (yych == 'f') goto yy1185; goto yy87; yy1142: yych = *++cursor_; - if (yych == 'f') goto yy1184; + if (yych == 's') goto yy1186; goto yy87; yy1143: yych = *++cursor_; - if (yych == 's') goto yy1185; + if (yych == 'f') goto yy1187; goto yy87; yy1144: yych = *++cursor_; - if (yych == 'f') goto yy1186; + if (yych == 's') goto yy1188; goto yy87; yy1145: yych = *++cursor_; - if (yych == 's') goto yy1187; + if (yych == 't') goto yy1189; goto yy87; yy1146: yych = *++cursor_; - if (yych == 't') goto yy1188; + if (yych == 'd') goto yy1190; goto yy87; yy1147: yych = *++cursor_; - if (yych == 'd') goto yy1189; + if (yych == 'm') goto yy1192; goto yy87; yy1148: - yych = *++cursor_; - if (yych == 'm') goto yy1191; - goto yy87; -yy1149: ++cursor_; if ((yych = *cursor_) <= ')') { if (yych <= '!') { if (yych >= '!') goto yy86; } else { - if (yych <= '"') goto yy1150; + if (yych <= '"') goto yy1149; if (yych <= '\'') goto yy86; } } else { if (yych <= '^') { if (yych != ';') goto yy86; } else { - if (yych <= '_') goto yy1192; + if (yych <= '_') goto yy1193; if (yych <= '~') goto yy86; } } -yy1150: +yy1149: #line 537 "src/wast-lexer.cc" { RETURN(AssertReturn); } -#line 6551 "src/prebuilt/wast-lexer-gen.cc" -yy1151: +#line 6547 "src/prebuilt/wast-lexer-gen.cc" +yy1150: yych = *++cursor_; - if (yych == 'a') goto yy1193; + if (yych == 'a') goto yy1194; goto yy87; -yy1152: +yy1151: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 267 "src/wast-lexer.cc" { RETURN_OPCODE0(CallIndirect); } -#line 6563 "src/prebuilt/wast-lexer-gen.cc" +#line 6559 "src/prebuilt/wast-lexer-gen.cc" +yy1153: + yych = *++cursor_; + if (yych == 'y') goto yy1195; + goto yy87; yy1154: yych = *++cursor_; - if (yych == 'y') goto yy1194; + if (yych == '/') goto yy1197; goto yy87; yy1155: yych = *++cursor_; - if (yych == '/') goto yy1196; + if (yych == '/') goto yy1198; goto yy87; yy1156: yych = *++cursor_; - if (yych == '/') goto yy1197; + if (yych == '4') goto yy1199; goto yy87; yy1157: yych = *++cursor_; - if (yych == '4') goto yy1198; + if (yych == 'e') goto yy1201; goto yy87; yy1158: yych = *++cursor_; - if (yych == 'e') goto yy1200; + if (yych == '/') goto yy1202; goto yy87; yy1159: yych = *++cursor_; - if (yych == '/') goto yy1201; + if (yych == '/') goto yy1203; goto yy87; yy1160: yych = *++cursor_; - if (yych == '/') goto yy1202; + if (yych == '3') goto yy1204; goto yy87; yy1161: yych = *++cursor_; - if (yych == '3') goto yy1203; + if (yych == 'e') goto yy1205; goto yy87; yy1162: yych = *++cursor_; - if (yych == 'e') goto yy1204; + if (yych == 'a') goto yy1206; goto yy87; yy1163: yych = *++cursor_; - if (yych == 'a') goto yy1205; + if (yych == 'w') goto yy1207; goto yy87; yy1164: yych = *++cursor_; - if (yych == 'w') goto yy1206; + if (yych == 'o') goto yy1208; goto yy87; yy1165: yych = *++cursor_; - if (yych == 'o') goto yy1207; + if (yych == 'i') goto yy1209; goto yy87; yy1166: yych = *++cursor_; - if (yych == 's') goto yy1208; + if (yych == 's') goto yy1210; goto yy87; yy1167: ++cursor_; @@ -6622,333 +6622,345 @@ yy1167: #line 6623 "src/prebuilt/wast-lexer-gen.cc" yy1169: yych = *++cursor_; - if (yych == 'e') goto yy1210; + if (yych == 'e') goto yy1212; goto yy87; yy1170: yych = *++cursor_; - if (yych == '3') goto yy1211; - if (yych == '6') goto yy1212; + if (yych == '3') goto yy1213; + if (yych == '6') goto yy1214; goto yy87; yy1171: yych = *++cursor_; - if (yych == 'a') goto yy1213; + if (yych == 'a') goto yy1215; goto yy87; yy1172: yych = *++cursor_; - if (yych == '3') goto yy1214; - if (yych == '6') goto yy1215; + if (yych == '3') goto yy1216; + if (yych == '6') goto yy1217; goto yy87; yy1173: yych = *++cursor_; - if (yych == 'a') goto yy1216; + if (yych == 'a') goto yy1218; goto yy87; yy1174: yych = *++cursor_; - if (yych == 'a') goto yy1217; + if (yych == 'a') goto yy1219; goto yy87; yy1175: yych = *++cursor_; - if (yych == 'w') goto yy1218; + if (yych == 'w') goto yy1220; goto yy87; yy1176: yych = *++cursor_; - if (yych == 'o') goto yy1219; + if (yych == 'o') goto yy1221; goto yy87; yy1177: yych = *++cursor_; - if (yych == 's') goto yy1220; + if (yych == 'i') goto yy1222; goto yy87; yy1178: yych = *++cursor_; - if (yych == 's') goto yy1222; + if (yych == 's') goto yy1223; goto yy87; yy1179: + yych = *++cursor_; + if (yych == 's') goto yy1225; + goto yy87; +yy1180: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 329 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, I64Extend8S); } -#line 6673 "src/prebuilt/wast-lexer-gen.cc" -yy1181: - yych = *++cursor_; - if (yych == 'i') goto yy1224; - goto yy87; +#line 6677 "src/prebuilt/wast-lexer-gen.cc" yy1182: yych = *++cursor_; - if (yych == 'i') goto yy1225; + if (yych == 'i') goto yy1227; goto yy87; yy1183: yych = *++cursor_; - if (yych == 'e') goto yy1226; + if (yych == 'i') goto yy1228; goto yy87; yy1184: yych = *++cursor_; - if (yych == '3') goto yy1227; - if (yych == '6') goto yy1228; + if (yych == 'e') goto yy1229; goto yy87; yy1185: yych = *++cursor_; - if (yych == 'a') goto yy1229; + if (yych == '3') goto yy1230; + if (yych == '6') goto yy1231; goto yy87; yy1186: yych = *++cursor_; - if (yych == '3') goto yy1230; - if (yych == '6') goto yy1231; + if (yych == 'a') goto yy1232; goto yy87; yy1187: yych = *++cursor_; - if (yych == 'a') goto yy1232; + if (yych == '3') goto yy1233; + if (yych == '6') goto yy1234; goto yy87; yy1188: yych = *++cursor_; - if (yych == 'i') goto yy1233; + if (yych == 'a') goto yy1235; goto yy87; yy1189: + yych = *++cursor_; + if (yych == 'i') goto yy1236; + goto yy87; +yy1190: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 535 "src/wast-lexer.cc" { RETURN(AssertInvalid); } -#line 6715 "src/prebuilt/wast-lexer-gen.cc" -yy1191: - yych = *++cursor_; - if (yych == 'e') goto yy1234; - goto yy87; +#line 6719 "src/prebuilt/wast-lexer-gen.cc" yy1192: yych = *++cursor_; - if (yych == 'a') goto yy1235; - if (yych == 'c') goto yy1236; + if (yych == 'e') goto yy1237; goto yy87; yy1193: yych = *++cursor_; - if (yych == 'b') goto yy1237; + if (yych == 'a') goto yy1238; + if (yych == 'c') goto yy1239; goto yy87; yy1194: + yych = *++cursor_; + if (yych == 'b') goto yy1240; + goto yy87; +yy1195: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 443 "src/wast-lexer.cc" { RETURN_OPCODE0(CurrentMemory); } -#line 6736 "src/prebuilt/wast-lexer-gen.cc" -yy1196: - yych = *++cursor_; - if (yych == 'i') goto yy1238; - goto yy87; +#line 6740 "src/prebuilt/wast-lexer-gen.cc" yy1197: yych = *++cursor_; - if (yych == 'i') goto yy1239; + if (yych == 'i') goto yy1241; goto yy87; yy1198: + yych = *++cursor_; + if (yych == 'i') goto yy1242; + goto yy87; +yy1199: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 436 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, F32DemoteF64); } -#line 6752 "src/prebuilt/wast-lexer-gen.cc" -yy1200: - yych = *++cursor_; - if (yych == 't') goto yy1240; - goto yy87; +#line 6756 "src/prebuilt/wast-lexer-gen.cc" yy1201: yych = *++cursor_; - if (yych == 'i') goto yy1241; + if (yych == 't') goto yy1243; goto yy87; yy1202: yych = *++cursor_; - if (yych == 'i') goto yy1242; + if (yych == 'i') goto yy1244; goto yy87; yy1203: yych = *++cursor_; - if (yych == '2') goto yy1243; + if (yych == 'i') goto yy1245; goto yy87; yy1204: yych = *++cursor_; - if (yych == 't') goto yy1245; + if (yych == '2') goto yy1246; goto yy87; yy1205: yych = *++cursor_; - if (yych == 'd') goto yy1246; + if (yych == 't') goto yy1248; goto yy87; yy1206: yych = *++cursor_; + if (yych == 'd') goto yy1249; + goto yy87; +yy1207: + yych = *++cursor_; if (yych <= '0') { - if (yych == '.') goto yy1248; + if (yych == '.') goto yy1251; goto yy87; } else { - if (yych <= '1') goto yy1249; - if (yych == '8') goto yy1250; + if (yych <= '1') goto yy1252; + if (yych == '8') goto yy1253; goto yy87; } -yy1207: +yy1208: yych = *++cursor_; - if (yych == 'r') goto yy1251; + if (yych == 'r') goto yy1254; goto yy87; -yy1208: +yy1209: + yych = *++cursor_; + if (yych == 't') goto yy1255; + goto yy87; +yy1210: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 328 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, I32Extend16S); } -#line 6798 "src/prebuilt/wast-lexer-gen.cc" -yy1210: - yych = *++cursor_; - if (yych == 't') goto yy1252; - goto yy87; -yy1211: - yych = *++cursor_; - if (yych == '2') goto yy1253; - goto yy87; +#line 6806 "src/prebuilt/wast-lexer-gen.cc" yy1212: yych = *++cursor_; - if (yych == '4') goto yy1255; + if (yych == 't') goto yy1257; goto yy87; yy1213: yych = *++cursor_; - if (yych == 't') goto yy1257; + if (yych == '2') goto yy1258; goto yy87; yy1214: yych = *++cursor_; - if (yych == '2') goto yy1258; + if (yych == '4') goto yy1260; goto yy87; yy1215: yych = *++cursor_; - if (yych == '4') goto yy1260; + if (yych == 't') goto yy1262; goto yy87; yy1216: yych = *++cursor_; - if (yych == 't') goto yy1262; + if (yych == '2') goto yy1263; goto yy87; yy1217: yych = *++cursor_; - if (yych == 'd') goto yy1263; + if (yych == '4') goto yy1265; goto yy87; yy1218: yych = *++cursor_; + if (yych == 't') goto yy1267; + goto yy87; +yy1219: + yych = *++cursor_; + if (yych == 'd') goto yy1268; + goto yy87; +yy1220: + yych = *++cursor_; switch (yych) { - case '.': goto yy1265; - case '1': goto yy1266; - case '3': goto yy1267; - case '8': goto yy1268; + case '.': goto yy1270; + case '1': goto yy1271; + case '3': goto yy1272; + case '8': goto yy1273; default: goto yy87; } -yy1219: +yy1221: yych = *++cursor_; - if (yych == 'r') goto yy1269; + if (yych == 'r') goto yy1274; goto yy87; -yy1220: +yy1222: + yych = *++cursor_; + if (yych == 't') goto yy1275; + goto yy87; +yy1223: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 330 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, I64Extend16S); } -#line 6851 "src/prebuilt/wast-lexer-gen.cc" -yy1222: +#line 6863 "src/prebuilt/wast-lexer-gen.cc" +yy1225: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 331 "src/wast-lexer.cc" { RETURN_OPCODE(Unary, I64Extend32S); } -#line 6859 "src/prebuilt/wast-lexer-gen.cc" -yy1224: - yych = *++cursor_; - if (yych == '3') goto yy1270; - goto yy87; -yy1225: - yych = *++cursor_; - if (yych == '3') goto yy1271; - goto yy87; -yy1226: - yych = *++cursor_; - if (yych == 't') goto yy1272; - goto yy87; +#line 6871 "src/prebuilt/wast-lexer-gen.cc" yy1227: yych = *++cursor_; - if (yych == '2') goto yy1273; + if (yych == '3') goto yy1277; goto yy87; yy1228: yych = *++cursor_; - if (yych == '4') goto yy1275; + if (yych == '3') goto yy1278; goto yy87; yy1229: yych = *++cursor_; - if (yych == 't') goto yy1277; + if (yych == 't') goto yy1279; goto yy87; yy1230: yych = *++cursor_; - if (yych == '2') goto yy1278; + if (yych == '2') goto yy1280; goto yy87; yy1231: yych = *++cursor_; - if (yych == '4') goto yy1280; + if (yych == '4') goto yy1282; goto yy87; yy1232: yych = *++cursor_; - if (yych == 't') goto yy1282; + if (yych == 't') goto yy1284; goto yy87; yy1233: yych = *++cursor_; - if (yych == 'o') goto yy1283; + if (yych == '2') goto yy1285; goto yy87; yy1234: yych = *++cursor_; - if (yych == 'd') goto yy1284; + if (yych == '4') goto yy1287; goto yy87; yy1235: yych = *++cursor_; - if (yych == 'r') goto yy1286; + if (yych == 't') goto yy1289; goto yy87; yy1236: yych = *++cursor_; - if (yych == 'a') goto yy1287; + if (yych == 'o') goto yy1290; goto yy87; yy1237: yych = *++cursor_; - if (yych == 'l') goto yy1288; + if (yych == 'd') goto yy1291; goto yy87; yy1238: yych = *++cursor_; - if (yych == '3') goto yy1289; - if (yych == '6') goto yy1290; + if (yych == 'r') goto yy1293; goto yy87; yy1239: yych = *++cursor_; - if (yych == '3') goto yy1291; - if (yych == '6') goto yy1292; + if (yych == 'a') goto yy1294; goto yy87; yy1240: yych = *++cursor_; - if (yych == '/') goto yy1293; + if (yych == 'l') goto yy1295; goto yy87; yy1241: yych = *++cursor_; - if (yych == '3') goto yy1294; - if (yych == '6') goto yy1295; + if (yych == '3') goto yy1296; + if (yych == '6') goto yy1297; goto yy87; yy1242: yych = *++cursor_; - if (yych == '3') goto yy1296; - if (yych == '6') goto yy1297; + if (yych == '3') goto yy1298; + if (yych == '6') goto yy1299; goto yy87; yy1243: + yych = *++cursor_; + if (yych == '/') goto yy1300; + goto yy87; +yy1244: + yych = *++cursor_; + if (yych == '3') goto yy1301; + if (yych == '6') goto yy1302; + goto yy87; +yy1245: + yych = *++cursor_; + if (yych == '3') goto yy1303; + if (yych == '6') goto yy1304; + goto yy87; +yy1246: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 435 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, F64PromoteF32); } -#line 6947 "src/prebuilt/wast-lexer-gen.cc" -yy1245: +#line 6959 "src/prebuilt/wast-lexer-gen.cc" +yy1248: yych = *++cursor_; - if (yych == '/') goto yy1298; + if (yych == '/') goto yy1305; goto yy87; -yy1246: +yy1249: ++cursor_; if ((yych = *cursor_) <= '0') { if (yych <= '"') { @@ -6959,290 +6971,306 @@ yy1246: } } else { if (yych <= '8') { - if (yych <= '1') goto yy1299; + if (yych <= '1') goto yy1306; if (yych <= '7') goto yy86; - goto yy1300; + goto yy1307; } else { - if (yych == ';') goto yy1247; + if (yych == ';') goto yy1250; if (yych <= '~') goto yy86; } } -yy1247: +yy1250: #line 449 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicLoad, I32AtomicLoad); } -#line 6974 "src/prebuilt/wast-lexer-gen.cc" -yy1248: +#line 6986 "src/prebuilt/wast-lexer-gen.cc" +yy1251: yych = *++cursor_; switch (yych) { - case 'a': goto yy1301; - case 'c': goto yy1302; - case 'o': goto yy1303; - case 's': goto yy1304; - case 'x': goto yy1305; + case 'a': goto yy1308; + case 'c': goto yy1309; + case 'o': goto yy1310; + case 's': goto yy1311; + case 'x': goto yy1312; default: goto yy87; } -yy1249: +yy1252: yych = *++cursor_; - if (yych == '6') goto yy1306; + if (yych == '6') goto yy1313; goto yy87; -yy1250: +yy1253: yych = *++cursor_; - if (yych == '_') goto yy1307; + if (yych == '_') goto yy1314; goto yy87; -yy1251: +yy1254: yych = *++cursor_; - if (yych == 'e') goto yy1308; + if (yych == 'e') goto yy1315; goto yy87; -yy1252: +yy1255: + ++cursor_; + if (yybm[0+(yych = *cursor_)] & 8) { + goto yy86; + } +#line 446 "src/wast-lexer.cc" + { RETURN_OPCODE(AtomicWait, I32AtomicWait); } +#line 7016 "src/prebuilt/wast-lexer-gen.cc" +yy1257: yych = *++cursor_; - if (yych == '/') goto yy1310; + if (yych == '/') goto yy1317; goto yy87; -yy1253: +yy1258: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 411 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I32TruncSF32); } -#line 7008 "src/prebuilt/wast-lexer-gen.cc" -yy1255: +#line 7028 "src/prebuilt/wast-lexer-gen.cc" +yy1260: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 413 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I32TruncSF64); } -#line 7016 "src/prebuilt/wast-lexer-gen.cc" -yy1257: +#line 7036 "src/prebuilt/wast-lexer-gen.cc" +yy1262: yych = *++cursor_; - if (yych == '/') goto yy1311; + if (yych == '/') goto yy1318; goto yy87; -yy1258: +yy1263: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 415 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I32TruncUF32); } -#line 7028 "src/prebuilt/wast-lexer-gen.cc" -yy1260: +#line 7048 "src/prebuilt/wast-lexer-gen.cc" +yy1265: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 417 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I32TruncUF64); } -#line 7036 "src/prebuilt/wast-lexer-gen.cc" -yy1262: +#line 7056 "src/prebuilt/wast-lexer-gen.cc" +yy1267: yych = *++cursor_; - if (yych == '/') goto yy1312; + if (yych == '/') goto yy1319; goto yy87; -yy1263: +yy1268: ++cursor_; if ((yych = *cursor_) <= '1') { if (yych <= '"') { if (yych == '!') goto yy86; } else { if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy1264; + if (yych <= ')') goto yy1269; if (yych <= '0') goto yy86; - goto yy1313; + goto yy1320; } } else { if (yych <= '8') { - if (yych == '3') goto yy1314; + if (yych == '3') goto yy1321; if (yych <= '7') goto yy86; - goto yy1315; + goto yy1322; } else { - if (yych == ';') goto yy1264; + if (yych == ';') goto yy1269; if (yych <= '~') goto yy86; } } -yy1264: +yy1269: #line 450 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicLoad, I64AtomicLoad); } -#line 7065 "src/prebuilt/wast-lexer-gen.cc" -yy1265: +#line 7085 "src/prebuilt/wast-lexer-gen.cc" +yy1270: yych = *++cursor_; switch (yych) { - case 'a': goto yy1316; - case 'c': goto yy1317; - case 'o': goto yy1318; - case 's': goto yy1319; - case 'x': goto yy1320; + case 'a': goto yy1323; + case 'c': goto yy1324; + case 'o': goto yy1325; + case 's': goto yy1326; + case 'x': goto yy1327; default: goto yy87; } -yy1266: +yy1271: yych = *++cursor_; - if (yych == '6') goto yy1321; + if (yych == '6') goto yy1328; goto yy87; -yy1267: +yy1272: yych = *++cursor_; - if (yych == '2') goto yy1322; + if (yych == '2') goto yy1329; goto yy87; -yy1268: +yy1273: yych = *++cursor_; - if (yych == '_') goto yy1323; + if (yych == '_') goto yy1330; goto yy87; -yy1269: +yy1274: yych = *++cursor_; - if (yych == 'e') goto yy1324; + if (yych == 'e') goto yy1331; goto yy87; -yy1270: +yy1275: + ++cursor_; + if (yybm[0+(yych = *cursor_)] & 8) { + goto yy86; + } +#line 447 "src/wast-lexer.cc" + { RETURN_OPCODE(AtomicWait, I64AtomicWait); } +#line 7119 "src/prebuilt/wast-lexer-gen.cc" +yy1277: yych = *++cursor_; - if (yych == '2') goto yy1326; + if (yych == '2') goto yy1333; goto yy87; -yy1271: +yy1278: yych = *++cursor_; - if (yych == '2') goto yy1328; + if (yych == '2') goto yy1335; goto yy87; -yy1272: +yy1279: yych = *++cursor_; - if (yych == '/') goto yy1330; + if (yych == '/') goto yy1337; goto yy87; -yy1273: +yy1280: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 412 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I64TruncSF32); } -#line 7111 "src/prebuilt/wast-lexer-gen.cc" -yy1275: +#line 7139 "src/prebuilt/wast-lexer-gen.cc" +yy1282: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 414 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I64TruncSF64); } -#line 7119 "src/prebuilt/wast-lexer-gen.cc" -yy1277: +#line 7147 "src/prebuilt/wast-lexer-gen.cc" +yy1284: yych = *++cursor_; - if (yych == '/') goto yy1331; + if (yych == '/') goto yy1338; goto yy87; -yy1278: +yy1285: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 416 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I64TruncUF32); } -#line 7131 "src/prebuilt/wast-lexer-gen.cc" -yy1280: +#line 7159 "src/prebuilt/wast-lexer-gen.cc" +yy1287: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 418 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I64TruncUF64); } -#line 7139 "src/prebuilt/wast-lexer-gen.cc" -yy1282: +#line 7167 "src/prebuilt/wast-lexer-gen.cc" +yy1289: yych = *++cursor_; - if (yych == '/') goto yy1332; + if (yych == '/') goto yy1339; goto yy87; -yy1283: +yy1290: yych = *++cursor_; - if (yych == 'n') goto yy1333; + if (yych == 'n') goto yy1340; goto yy87; -yy1284: +yy1291: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 534 "src/wast-lexer.cc" { RETURN(AssertMalformed); } -#line 7155 "src/prebuilt/wast-lexer-gen.cc" -yy1286: - yych = *++cursor_; - if (yych == 'i') goto yy1335; - goto yy87; -yy1287: - yych = *++cursor_; - if (yych == 'n') goto yy1336; - goto yy87; -yy1288: - yych = *++cursor_; - if (yych == 'e') goto yy1337; - goto yy87; -yy1289: - yych = *++cursor_; - if (yych == '2') goto yy1339; - goto yy87; -yy1290: - yych = *++cursor_; - if (yych == '4') goto yy1341; - goto yy87; -yy1291: - yych = *++cursor_; - if (yych == '2') goto yy1343; - goto yy87; -yy1292: - yych = *++cursor_; - if (yych == '4') goto yy1345; - goto yy87; +#line 7183 "src/prebuilt/wast-lexer-gen.cc" yy1293: yych = *++cursor_; - if (yych == 'i') goto yy1347; + if (yych == 'i') goto yy1342; goto yy87; yy1294: yych = *++cursor_; - if (yych == '2') goto yy1348; + if (yych == 'n') goto yy1343; goto yy87; yy1295: yych = *++cursor_; - if (yych == '4') goto yy1350; + if (yych == 'e') goto yy1344; goto yy87; yy1296: yych = *++cursor_; - if (yych == '2') goto yy1352; + if (yych == '2') goto yy1346; goto yy87; yy1297: yych = *++cursor_; - if (yych == '4') goto yy1354; + if (yych == '4') goto yy1348; goto yy87; yy1298: yych = *++cursor_; - if (yych == 'i') goto yy1356; + if (yych == '2') goto yy1350; goto yy87; yy1299: yych = *++cursor_; - if (yych == '6') goto yy1357; + if (yych == '4') goto yy1352; goto yy87; yy1300: yych = *++cursor_; - if (yych == '_') goto yy1358; + if (yych == 'i') goto yy1354; goto yy87; yy1301: yych = *++cursor_; - if (yych == 'd') goto yy1359; - if (yych == 'n') goto yy1360; + if (yych == '2') goto yy1355; goto yy87; yy1302: yych = *++cursor_; - if (yych == 'm') goto yy1361; + if (yych == '4') goto yy1357; goto yy87; yy1303: yych = *++cursor_; - if (yych == 'r') goto yy1362; + if (yych == '2') goto yy1359; goto yy87; yy1304: yych = *++cursor_; - if (yych == 'u') goto yy1364; + if (yych == '4') goto yy1361; goto yy87; yy1305: yych = *++cursor_; - if (yych == 'c') goto yy1365; - if (yych == 'o') goto yy1366; + if (yych == 'i') goto yy1363; goto yy87; yy1306: yych = *++cursor_; - if (yych == '_') goto yy1367; + if (yych == '6') goto yy1364; goto yy87; yy1307: yych = *++cursor_; - if (yych == 'u') goto yy1368; + if (yych == '_') goto yy1365; goto yy87; yy1308: + yych = *++cursor_; + if (yych == 'd') goto yy1366; + if (yych == 'n') goto yy1367; + goto yy87; +yy1309: + yych = *++cursor_; + if (yych == 'm') goto yy1368; + goto yy87; +yy1310: + yych = *++cursor_; + if (yych == 'r') goto yy1369; + goto yy87; +yy1311: + yych = *++cursor_; + if (yych == 'u') goto yy1371; + goto yy87; +yy1312: + yych = *++cursor_; + if (yych == 'c') goto yy1372; + if (yych == 'o') goto yy1373; + goto yy87; +yy1313: + yych = *++cursor_; + if (yych == '_') goto yy1374; + goto yy87; +yy1314: + yych = *++cursor_; + if (yych == 'u') goto yy1375; + goto yy87; +yy1315: ++cursor_; if ((yych = *cursor_) <= '0') { if (yych <= '"') { @@ -7253,1505 +7281,1505 @@ yy1308: } } else { if (yych <= '8') { - if (yych <= '1') goto yy1369; + if (yych <= '1') goto yy1376; if (yych <= '7') goto yy86; - goto yy1370; + goto yy1377; } else { - if (yych == ';') goto yy1309; + if (yych == ';') goto yy1316; if (yych <= '~') goto yy86; } } -yy1309: +yy1316: #line 456 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicStore, I32AtomicStore); } -#line 7268 "src/prebuilt/wast-lexer-gen.cc" -yy1310: +#line 7296 "src/prebuilt/wast-lexer-gen.cc" +yy1317: yych = *++cursor_; - if (yych == 'f') goto yy1372; + if (yych == 'f') goto yy1379; goto yy87; -yy1311: +yy1318: yych = *++cursor_; - if (yych == 'f') goto yy1373; + if (yych == 'f') goto yy1380; goto yy87; -yy1312: +yy1319: yych = *++cursor_; - if (yych == 'f') goto yy1374; + if (yych == 'f') goto yy1381; goto yy87; -yy1313: +yy1320: yych = *++cursor_; - if (yych == '6') goto yy1375; + if (yych == '6') goto yy1382; goto yy87; -yy1314: +yy1321: yych = *++cursor_; - if (yych == '2') goto yy1376; + if (yych == '2') goto yy1383; goto yy87; -yy1315: +yy1322: yych = *++cursor_; - if (yych == '_') goto yy1377; + if (yych == '_') goto yy1384; goto yy87; -yy1316: +yy1323: yych = *++cursor_; - if (yych == 'd') goto yy1378; - if (yych == 'n') goto yy1379; + if (yych == 'd') goto yy1385; + if (yych == 'n') goto yy1386; goto yy87; -yy1317: +yy1324: yych = *++cursor_; - if (yych == 'm') goto yy1380; + if (yych == 'm') goto yy1387; goto yy87; -yy1318: +yy1325: yych = *++cursor_; - if (yych == 'r') goto yy1381; + if (yych == 'r') goto yy1388; goto yy87; -yy1319: +yy1326: yych = *++cursor_; - if (yych == 'u') goto yy1383; + if (yych == 'u') goto yy1390; goto yy87; -yy1320: +yy1327: yych = *++cursor_; - if (yych == 'c') goto yy1384; - if (yych == 'o') goto yy1385; + if (yych == 'c') goto yy1391; + if (yych == 'o') goto yy1392; goto yy87; -yy1321: +yy1328: yych = *++cursor_; - if (yych == '_') goto yy1386; + if (yych == '_') goto yy1393; goto yy87; -yy1322: +yy1329: yych = *++cursor_; - if (yych == '_') goto yy1387; + if (yych == '_') goto yy1394; goto yy87; -yy1323: +yy1330: yych = *++cursor_; - if (yych == 'u') goto yy1388; + if (yych == 'u') goto yy1395; goto yy87; -yy1324: +yy1331: ++cursor_; if ((yych = *cursor_) <= '1') { if (yych <= '"') { if (yych == '!') goto yy86; } else { if (yych <= '\'') goto yy86; - if (yych <= ')') goto yy1325; + if (yych <= ')') goto yy1332; if (yych <= '0') goto yy86; - goto yy1389; + goto yy1396; } } else { if (yych <= '8') { - if (yych == '3') goto yy1390; + if (yych == '3') goto yy1397; if (yych <= '7') goto yy86; - goto yy1391; + goto yy1398; } else { - if (yych == ';') goto yy1325; + if (yych == ';') goto yy1332; if (yych <= '~') goto yy86; } } -yy1325: +yy1332: #line 457 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicStore, I64AtomicStore); } -#line 7351 "src/prebuilt/wast-lexer-gen.cc" -yy1326: +#line 7379 "src/prebuilt/wast-lexer-gen.cc" +yy1333: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 408 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I64ExtendSI32); } -#line 7359 "src/prebuilt/wast-lexer-gen.cc" -yy1328: +#line 7387 "src/prebuilt/wast-lexer-gen.cc" +yy1335: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 409 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I64ExtendUI32); } -#line 7367 "src/prebuilt/wast-lexer-gen.cc" -yy1330: +#line 7395 "src/prebuilt/wast-lexer-gen.cc" +yy1337: yych = *++cursor_; - if (yych == 'f') goto yy1393; + if (yych == 'f') goto yy1400; goto yy87; -yy1331: +yy1338: yych = *++cursor_; - if (yych == 'f') goto yy1394; + if (yych == 'f') goto yy1401; goto yy87; -yy1332: +yy1339: yych = *++cursor_; - if (yych == 'f') goto yy1395; + if (yych == 'f') goto yy1402; goto yy87; -yy1333: +yy1340: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 541 "src/wast-lexer.cc" { RETURN(AssertExhaustion); } -#line 7387 "src/prebuilt/wast-lexer-gen.cc" -yy1335: +#line 7415 "src/prebuilt/wast-lexer-gen.cc" +yy1342: yych = *++cursor_; - if (yych == 't') goto yy1396; + if (yych == 't') goto yy1403; goto yy87; -yy1336: +yy1343: yych = *++cursor_; - if (yych == 'o') goto yy1397; + if (yych == 'o') goto yy1404; goto yy87; -yy1337: +yy1344: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 536 "src/wast-lexer.cc" { RETURN(AssertUnlinkable); } -#line 7403 "src/prebuilt/wast-lexer-gen.cc" -yy1339: +#line 7431 "src/prebuilt/wast-lexer-gen.cc" +yy1346: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 427 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, F32ConvertSI32); } -#line 7411 "src/prebuilt/wast-lexer-gen.cc" -yy1341: +#line 7439 "src/prebuilt/wast-lexer-gen.cc" +yy1348: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 429 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, F32ConvertSI64); } -#line 7419 "src/prebuilt/wast-lexer-gen.cc" -yy1343: +#line 7447 "src/prebuilt/wast-lexer-gen.cc" +yy1350: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 431 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, F32ConvertUI32); } -#line 7427 "src/prebuilt/wast-lexer-gen.cc" -yy1345: +#line 7455 "src/prebuilt/wast-lexer-gen.cc" +yy1352: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 433 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, F32ConvertUI64); } -#line 7435 "src/prebuilt/wast-lexer-gen.cc" -yy1347: +#line 7463 "src/prebuilt/wast-lexer-gen.cc" +yy1354: yych = *++cursor_; - if (yych == '3') goto yy1398; + if (yych == '3') goto yy1405; goto yy87; -yy1348: +yy1355: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 428 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, F64ConvertSI32); } -#line 7447 "src/prebuilt/wast-lexer-gen.cc" -yy1350: +#line 7475 "src/prebuilt/wast-lexer-gen.cc" +yy1357: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 430 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, F64ConvertSI64); } -#line 7455 "src/prebuilt/wast-lexer-gen.cc" -yy1352: +#line 7483 "src/prebuilt/wast-lexer-gen.cc" +yy1359: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 432 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, F64ConvertUI32); } -#line 7463 "src/prebuilt/wast-lexer-gen.cc" -yy1354: +#line 7491 "src/prebuilt/wast-lexer-gen.cc" +yy1361: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 434 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, F64ConvertUI64); } -#line 7471 "src/prebuilt/wast-lexer-gen.cc" -yy1356: +#line 7499 "src/prebuilt/wast-lexer-gen.cc" +yy1363: yych = *++cursor_; - if (yych == '6') goto yy1399; + if (yych == '6') goto yy1406; goto yy87; -yy1357: +yy1364: yych = *++cursor_; - if (yych == '_') goto yy1400; + if (yych == '_') goto yy1407; goto yy87; -yy1358: +yy1365: yych = *++cursor_; - if (yych == 'u') goto yy1401; + if (yych == 'u') goto yy1408; goto yy87; -yy1359: +yy1366: yych = *++cursor_; - if (yych == 'd') goto yy1403; + if (yych == 'd') goto yy1410; goto yy87; -yy1360: +yy1367: yych = *++cursor_; - if (yych == 'd') goto yy1405; + if (yych == 'd') goto yy1412; goto yy87; -yy1361: +yy1368: yych = *++cursor_; - if (yych == 'p') goto yy1407; + if (yych == 'p') goto yy1414; goto yy87; -yy1362: +yy1369: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 484 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmwOr); } -#line 7503 "src/prebuilt/wast-lexer-gen.cc" -yy1364: +#line 7531 "src/prebuilt/wast-lexer-gen.cc" +yy1371: yych = *++cursor_; - if (yych == 'b') goto yy1408; + if (yych == 'b') goto yy1415; goto yy87; -yy1365: +yy1372: yych = *++cursor_; - if (yych == 'h') goto yy1410; + if (yych == 'h') goto yy1417; goto yy87; -yy1366: +yy1373: yych = *++cursor_; - if (yych == 'r') goto yy1411; + if (yych == 'r') goto yy1418; goto yy87; -yy1367: +yy1374: yych = *++cursor_; - if (yych == 'u') goto yy1413; + if (yych == 'u') goto yy1420; goto yy87; -yy1368: +yy1375: yych = *++cursor_; - if (yych == '.') goto yy1414; + if (yych == '.') goto yy1421; goto yy87; -yy1369: +yy1376: yych = *++cursor_; - if (yych == '6') goto yy1415; + if (yych == '6') goto yy1422; goto yy87; -yy1370: +yy1377: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 458 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicStore, I32AtomicStore8); } -#line 7535 "src/prebuilt/wast-lexer-gen.cc" -yy1372: +#line 7563 "src/prebuilt/wast-lexer-gen.cc" +yy1379: yych = *++cursor_; - if (yych == '3') goto yy1417; + if (yych == '3') goto yy1424; goto yy87; -yy1373: +yy1380: yych = *++cursor_; - if (yych == '3') goto yy1418; - if (yych == '6') goto yy1419; + if (yych == '3') goto yy1425; + if (yych == '6') goto yy1426; goto yy87; -yy1374: +yy1381: yych = *++cursor_; - if (yych == '3') goto yy1420; - if (yych == '6') goto yy1421; + if (yych == '3') goto yy1427; + if (yych == '6') goto yy1428; goto yy87; -yy1375: +yy1382: yych = *++cursor_; - if (yych == '_') goto yy1422; + if (yych == '_') goto yy1429; goto yy87; -yy1376: +yy1383: yych = *++cursor_; - if (yych == '_') goto yy1423; + if (yych == '_') goto yy1430; goto yy87; -yy1377: +yy1384: yych = *++cursor_; - if (yych == 'u') goto yy1424; + if (yych == 'u') goto yy1431; goto yy87; -yy1378: +yy1385: yych = *++cursor_; - if (yych == 'd') goto yy1426; + if (yych == 'd') goto yy1433; goto yy87; -yy1379: +yy1386: yych = *++cursor_; - if (yych == 'd') goto yy1428; + if (yych == 'd') goto yy1435; goto yy87; -yy1380: +yy1387: yych = *++cursor_; - if (yych == 'p') goto yy1430; + if (yych == 'p') goto yy1437; goto yy87; -yy1381: +yy1388: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 485 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmwOr); } -#line 7581 "src/prebuilt/wast-lexer-gen.cc" -yy1383: +#line 7609 "src/prebuilt/wast-lexer-gen.cc" +yy1390: yych = *++cursor_; - if (yych == 'b') goto yy1431; + if (yych == 'b') goto yy1438; goto yy87; -yy1384: +yy1391: yych = *++cursor_; - if (yych == 'h') goto yy1433; + if (yych == 'h') goto yy1440; goto yy87; -yy1385: +yy1392: yych = *++cursor_; - if (yych == 'r') goto yy1434; + if (yych == 'r') goto yy1441; goto yy87; -yy1386: +yy1393: yych = *++cursor_; - if (yych == 'u') goto yy1436; + if (yych == 'u') goto yy1443; goto yy87; -yy1387: +yy1394: yych = *++cursor_; - if (yych == 'u') goto yy1437; + if (yych == 'u') goto yy1444; goto yy87; -yy1388: +yy1395: yych = *++cursor_; - if (yych == '.') goto yy1438; + if (yych == '.') goto yy1445; goto yy87; -yy1389: +yy1396: yych = *++cursor_; - if (yych == '6') goto yy1439; + if (yych == '6') goto yy1446; goto yy87; -yy1390: +yy1397: yych = *++cursor_; - if (yych == '2') goto yy1441; + if (yych == '2') goto yy1448; goto yy87; -yy1391: +yy1398: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 460 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicStore, I64AtomicStore8); } -#line 7621 "src/prebuilt/wast-lexer-gen.cc" -yy1393: +#line 7649 "src/prebuilt/wast-lexer-gen.cc" +yy1400: yych = *++cursor_; - if (yych == '6') goto yy1443; + if (yych == '6') goto yy1450; goto yy87; -yy1394: +yy1401: yych = *++cursor_; - if (yych == '3') goto yy1444; - if (yych == '6') goto yy1445; + if (yych == '3') goto yy1451; + if (yych == '6') goto yy1452; goto yy87; -yy1395: +yy1402: yych = *++cursor_; - if (yych == '3') goto yy1446; - if (yych == '6') goto yy1447; + if (yych == '3') goto yy1453; + if (yych == '6') goto yy1454; goto yy87; -yy1396: +yy1403: yych = *++cursor_; - if (yych == 'h') goto yy1448; + if (yych == 'h') goto yy1455; goto yy87; -yy1397: +yy1404: yych = *++cursor_; - if (yych == 'n') goto yy1449; + if (yych == 'n') goto yy1456; goto yy87; -yy1398: +yy1405: yych = *++cursor_; - if (yych == '2') goto yy1450; + if (yych == '2') goto yy1457; goto yy87; -yy1399: +yy1406: yych = *++cursor_; - if (yych == '4') goto yy1452; + if (yych == '4') goto yy1459; goto yy87; -yy1400: +yy1407: yych = *++cursor_; - if (yych == 'u') goto yy1454; + if (yych == 'u') goto yy1461; goto yy87; -yy1401: +yy1408: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 451 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicLoad, I32AtomicLoad8U); } -#line 7663 "src/prebuilt/wast-lexer-gen.cc" -yy1403: +#line 7691 "src/prebuilt/wast-lexer-gen.cc" +yy1410: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 463 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmwAdd); } -#line 7671 "src/prebuilt/wast-lexer-gen.cc" -yy1405: +#line 7699 "src/prebuilt/wast-lexer-gen.cc" +yy1412: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 477 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmwAnd); } -#line 7679 "src/prebuilt/wast-lexer-gen.cc" -yy1407: +#line 7707 "src/prebuilt/wast-lexer-gen.cc" +yy1414: yych = *++cursor_; - if (yych == 'x') goto yy1456; + if (yych == 'x') goto yy1463; goto yy87; -yy1408: +yy1415: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 470 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmwSub); } -#line 7691 "src/prebuilt/wast-lexer-gen.cc" -yy1410: +#line 7719 "src/prebuilt/wast-lexer-gen.cc" +yy1417: yych = *++cursor_; - if (yych == 'g') goto yy1457; + if (yych == 'g') goto yy1464; goto yy87; -yy1411: +yy1418: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 491 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmwXor); } -#line 7703 "src/prebuilt/wast-lexer-gen.cc" -yy1413: +#line 7731 "src/prebuilt/wast-lexer-gen.cc" +yy1420: yych = *++cursor_; - if (yych == '.') goto yy1459; + if (yych == '.') goto yy1466; goto yy87; -yy1414: +yy1421: yych = *++cursor_; switch (yych) { - case 'a': goto yy1460; - case 'c': goto yy1461; - case 'o': goto yy1462; - case 's': goto yy1463; - case 'x': goto yy1464; + case 'a': goto yy1467; + case 'c': goto yy1468; + case 'o': goto yy1469; + case 's': goto yy1470; + case 'x': goto yy1471; default: goto yy87; } -yy1415: +yy1422: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 459 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicStore, I32AtomicStore16); } -#line 7725 "src/prebuilt/wast-lexer-gen.cc" -yy1417: +#line 7753 "src/prebuilt/wast-lexer-gen.cc" +yy1424: yych = *++cursor_; - if (yych == '2') goto yy1465; + if (yych == '2') goto yy1472; goto yy87; -yy1418: +yy1425: yych = *++cursor_; - if (yych == '2') goto yy1467; + if (yych == '2') goto yy1474; goto yy87; -yy1419: +yy1426: yych = *++cursor_; - if (yych == '4') goto yy1469; + if (yych == '4') goto yy1476; goto yy87; -yy1420: +yy1427: yych = *++cursor_; - if (yych == '2') goto yy1471; + if (yych == '2') goto yy1478; goto yy87; -yy1421: +yy1428: yych = *++cursor_; - if (yych == '4') goto yy1473; + if (yych == '4') goto yy1480; goto yy87; -yy1422: +yy1429: yych = *++cursor_; - if (yych == 'u') goto yy1475; + if (yych == 'u') goto yy1482; goto yy87; -yy1423: +yy1430: yych = *++cursor_; - if (yych == 'u') goto yy1477; + if (yych == 'u') goto yy1484; goto yy87; -yy1424: +yy1431: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 453 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicLoad, I64AtomicLoad8U); } -#line 7761 "src/prebuilt/wast-lexer-gen.cc" -yy1426: +#line 7789 "src/prebuilt/wast-lexer-gen.cc" +yy1433: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 464 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmwAdd); } -#line 7769 "src/prebuilt/wast-lexer-gen.cc" -yy1428: +#line 7797 "src/prebuilt/wast-lexer-gen.cc" +yy1435: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 478 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmwAnd); } -#line 7777 "src/prebuilt/wast-lexer-gen.cc" -yy1430: +#line 7805 "src/prebuilt/wast-lexer-gen.cc" +yy1437: yych = *++cursor_; - if (yych == 'x') goto yy1479; + if (yych == 'x') goto yy1486; goto yy87; -yy1431: +yy1438: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 471 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmwSub); } -#line 7789 "src/prebuilt/wast-lexer-gen.cc" -yy1433: +#line 7817 "src/prebuilt/wast-lexer-gen.cc" +yy1440: yych = *++cursor_; - if (yych == 'g') goto yy1480; + if (yych == 'g') goto yy1487; goto yy87; -yy1434: +yy1441: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 492 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmwXor); } -#line 7801 "src/prebuilt/wast-lexer-gen.cc" -yy1436: +#line 7829 "src/prebuilt/wast-lexer-gen.cc" +yy1443: yych = *++cursor_; - if (yych == '.') goto yy1482; + if (yych == '.') goto yy1489; goto yy87; -yy1437: +yy1444: yych = *++cursor_; - if (yych == '.') goto yy1483; + if (yych == '.') goto yy1490; goto yy87; -yy1438: +yy1445: yych = *++cursor_; switch (yych) { - case 'a': goto yy1484; - case 'c': goto yy1485; - case 'o': goto yy1486; - case 's': goto yy1487; - case 'x': goto yy1488; + case 'a': goto yy1491; + case 'c': goto yy1492; + case 'o': goto yy1493; + case 's': goto yy1494; + case 'x': goto yy1495; default: goto yy87; } -yy1439: +yy1446: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 461 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicStore, I64AtomicStore16); } -#line 7827 "src/prebuilt/wast-lexer-gen.cc" -yy1441: +#line 7855 "src/prebuilt/wast-lexer-gen.cc" +yy1448: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 462 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicStore, I64AtomicStore32); } -#line 7835 "src/prebuilt/wast-lexer-gen.cc" -yy1443: +#line 7863 "src/prebuilt/wast-lexer-gen.cc" +yy1450: yych = *++cursor_; - if (yych == '4') goto yy1489; + if (yych == '4') goto yy1496; goto yy87; -yy1444: +yy1451: yych = *++cursor_; - if (yych == '2') goto yy1491; + if (yych == '2') goto yy1498; goto yy87; -yy1445: +yy1452: yych = *++cursor_; - if (yych == '4') goto yy1493; + if (yych == '4') goto yy1500; goto yy87; -yy1446: +yy1453: yych = *++cursor_; - if (yych == '2') goto yy1495; + if (yych == '2') goto yy1502; goto yy87; -yy1447: +yy1454: yych = *++cursor_; - if (yych == '4') goto yy1497; + if (yych == '4') goto yy1504; goto yy87; -yy1448: +yy1455: yych = *++cursor_; - if (yych == 'm') goto yy1499; + if (yych == 'm') goto yy1506; goto yy87; -yy1449: +yy1456: yych = *++cursor_; - if (yych == 'i') goto yy1500; + if (yych == 'i') goto yy1507; goto yy87; -yy1450: +yy1457: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 437 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, F32ReinterpretI32); } -#line 7871 "src/prebuilt/wast-lexer-gen.cc" -yy1452: +#line 7899 "src/prebuilt/wast-lexer-gen.cc" +yy1459: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 439 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, F64ReinterpretI64); } -#line 7879 "src/prebuilt/wast-lexer-gen.cc" -yy1454: +#line 7907 "src/prebuilt/wast-lexer-gen.cc" +yy1461: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 452 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicLoad, I32AtomicLoad16U); } -#line 7887 "src/prebuilt/wast-lexer-gen.cc" -yy1456: +#line 7915 "src/prebuilt/wast-lexer-gen.cc" +yy1463: yych = *++cursor_; - if (yych == 'c') goto yy1501; + if (yych == 'c') goto yy1508; goto yy87; -yy1457: +yy1464: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 498 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmwXchg); } -#line 7899 "src/prebuilt/wast-lexer-gen.cc" -yy1459: +#line 7927 "src/prebuilt/wast-lexer-gen.cc" +yy1466: 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 yy1509; + case 'c': goto yy1510; + case 'o': goto yy1511; + case 's': goto yy1512; + case 'x': goto yy1513; default: goto yy87; } -yy1460: +yy1467: yych = *++cursor_; - if (yych == 'd') goto yy1507; - if (yych == 'n') goto yy1508; + if (yych == 'd') goto yy1514; + if (yych == 'n') goto yy1515; goto yy87; -yy1461: +yy1468: yych = *++cursor_; - if (yych == 'm') goto yy1509; + if (yych == 'm') goto yy1516; goto yy87; -yy1462: +yy1469: yych = *++cursor_; - if (yych == 'r') goto yy1510; + if (yych == 'r') goto yy1517; goto yy87; -yy1463: +yy1470: yych = *++cursor_; - if (yych == 'u') goto yy1512; + if (yych == 'u') goto yy1519; goto yy87; -yy1464: +yy1471: yych = *++cursor_; - if (yych == 'c') goto yy1513; - if (yych == 'o') goto yy1514; + if (yych == 'c') goto yy1520; + if (yych == 'o') goto yy1521; goto yy87; -yy1465: +yy1472: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 438 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I32ReinterpretF32); } -#line 7939 "src/prebuilt/wast-lexer-gen.cc" -yy1467: +#line 7967 "src/prebuilt/wast-lexer-gen.cc" +yy1474: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 419 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I32TruncSSatF32); } -#line 7947 "src/prebuilt/wast-lexer-gen.cc" -yy1469: +#line 7975 "src/prebuilt/wast-lexer-gen.cc" +yy1476: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 421 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I32TruncSSatF64); } -#line 7955 "src/prebuilt/wast-lexer-gen.cc" -yy1471: +#line 7983 "src/prebuilt/wast-lexer-gen.cc" +yy1478: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 423 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I32TruncUSatF32); } -#line 7963 "src/prebuilt/wast-lexer-gen.cc" -yy1473: +#line 7991 "src/prebuilt/wast-lexer-gen.cc" +yy1480: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 425 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I32TruncUSatF64); } -#line 7971 "src/prebuilt/wast-lexer-gen.cc" -yy1475: +#line 7999 "src/prebuilt/wast-lexer-gen.cc" +yy1482: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 454 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicLoad, I64AtomicLoad16U); } -#line 7979 "src/prebuilt/wast-lexer-gen.cc" -yy1477: +#line 8007 "src/prebuilt/wast-lexer-gen.cc" +yy1484: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 455 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicLoad, I64AtomicLoad32U); } -#line 7987 "src/prebuilt/wast-lexer-gen.cc" -yy1479: +#line 8015 "src/prebuilt/wast-lexer-gen.cc" +yy1486: yych = *++cursor_; - if (yych == 'c') goto yy1515; + if (yych == 'c') goto yy1522; goto yy87; -yy1480: +yy1487: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 499 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmwXchg); } -#line 7999 "src/prebuilt/wast-lexer-gen.cc" -yy1482: +#line 8027 "src/prebuilt/wast-lexer-gen.cc" +yy1489: yych = *++cursor_; switch (yych) { - case 'a': goto yy1516; - case 'c': goto yy1517; - case 'o': goto yy1518; - case 's': goto yy1519; - case 'x': goto yy1520; + case 'a': goto yy1523; + case 'c': goto yy1524; + case 'o': goto yy1525; + case 's': goto yy1526; + case 'x': goto yy1527; default: goto yy87; } -yy1483: +yy1490: yych = *++cursor_; switch (yych) { - case 'a': goto yy1521; - case 'c': goto yy1522; - case 'o': goto yy1523; - case 's': goto yy1524; - case 'x': goto yy1525; + case 'a': goto yy1528; + case 'c': goto yy1529; + case 'o': goto yy1530; + case 's': goto yy1531; + case 'x': goto yy1532; default: goto yy87; } -yy1484: +yy1491: yych = *++cursor_; - if (yych == 'd') goto yy1526; - if (yych == 'n') goto yy1527; + if (yych == 'd') goto yy1533; + if (yych == 'n') goto yy1534; goto yy87; -yy1485: +yy1492: yych = *++cursor_; - if (yych == 'm') goto yy1528; + if (yych == 'm') goto yy1535; goto yy87; -yy1486: +yy1493: yych = *++cursor_; - if (yych == 'r') goto yy1529; + if (yych == 'r') goto yy1536; goto yy87; -yy1487: +yy1494: yych = *++cursor_; - if (yych == 'u') goto yy1531; + if (yych == 'u') goto yy1538; goto yy87; -yy1488: +yy1495: yych = *++cursor_; - if (yych == 'c') goto yy1532; - if (yych == 'o') goto yy1533; + if (yych == 'c') goto yy1539; + if (yych == 'o') goto yy1540; goto yy87; -yy1489: +yy1496: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 440 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I64ReinterpretF64); } -#line 8049 "src/prebuilt/wast-lexer-gen.cc" -yy1491: +#line 8077 "src/prebuilt/wast-lexer-gen.cc" +yy1498: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 420 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I64TruncSSatF32); } -#line 8057 "src/prebuilt/wast-lexer-gen.cc" -yy1493: +#line 8085 "src/prebuilt/wast-lexer-gen.cc" +yy1500: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 422 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I64TruncSSatF64); } -#line 8065 "src/prebuilt/wast-lexer-gen.cc" -yy1495: +#line 8093 "src/prebuilt/wast-lexer-gen.cc" +yy1502: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 424 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I64TruncUSatF32); } -#line 8073 "src/prebuilt/wast-lexer-gen.cc" -yy1497: +#line 8101 "src/prebuilt/wast-lexer-gen.cc" +yy1504: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 426 "src/wast-lexer.cc" { RETURN_OPCODE(Convert, I64TruncUSatF64); } -#line 8081 "src/prebuilt/wast-lexer-gen.cc" -yy1499: +#line 8109 "src/prebuilt/wast-lexer-gen.cc" +yy1506: yych = *++cursor_; - if (yych == 'e') goto yy1534; + if (yych == 'e') goto yy1541; goto yy87; -yy1500: +yy1507: yych = *++cursor_; - if (yych == 'c') goto yy1535; + if (yych == 'c') goto yy1542; goto yy87; -yy1501: +yy1508: yych = *++cursor_; - if (yych == 'h') goto yy1536; + if (yych == 'h') goto yy1543; goto yy87; -yy1502: +yy1509: yych = *++cursor_; - if (yych == 'd') goto yy1537; - if (yych == 'n') goto yy1538; + if (yych == 'd') goto yy1544; + if (yych == 'n') goto yy1545; goto yy87; -yy1503: +yy1510: yych = *++cursor_; - if (yych == 'm') goto yy1539; + if (yych == 'm') goto yy1546; goto yy87; -yy1504: +yy1511: yych = *++cursor_; - if (yych == 'r') goto yy1540; + if (yych == 'r') goto yy1547; goto yy87; -yy1505: +yy1512: yych = *++cursor_; - if (yych == 'u') goto yy1542; + if (yych == 'u') goto yy1549; goto yy87; -yy1506: +yy1513: yych = *++cursor_; - if (yych == 'c') goto yy1543; - if (yych == 'o') goto yy1544; + if (yych == 'c') goto yy1550; + if (yych == 'o') goto yy1551; goto yy87; -yy1507: +yy1514: yych = *++cursor_; - if (yych == 'd') goto yy1545; + if (yych == 'd') goto yy1552; goto yy87; -yy1508: +yy1515: yych = *++cursor_; - if (yych == 'd') goto yy1547; + if (yych == 'd') goto yy1554; goto yy87; -yy1509: +yy1516: yych = *++cursor_; - if (yych == 'p') goto yy1549; + if (yych == 'p') goto yy1556; goto yy87; -yy1510: +yy1517: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 486 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UOr); } -#line 8135 "src/prebuilt/wast-lexer-gen.cc" -yy1512: +#line 8163 "src/prebuilt/wast-lexer-gen.cc" +yy1519: yych = *++cursor_; - if (yych == 'b') goto yy1550; + if (yych == 'b') goto yy1557; goto yy87; -yy1513: +yy1520: yych = *++cursor_; - if (yych == 'h') goto yy1552; + if (yych == 'h') goto yy1559; goto yy87; -yy1514: +yy1521: yych = *++cursor_; - if (yych == 'r') goto yy1553; + if (yych == 'r') goto yy1560; goto yy87; -yy1515: +yy1522: yych = *++cursor_; - if (yych == 'h') goto yy1555; + if (yych == 'h') goto yy1562; goto yy87; -yy1516: +yy1523: yych = *++cursor_; - if (yych == 'd') goto yy1556; - if (yych == 'n') goto yy1557; + if (yych == 'd') goto yy1563; + if (yych == 'n') goto yy1564; goto yy87; -yy1517: +yy1524: yych = *++cursor_; - if (yych == 'm') goto yy1558; + if (yych == 'm') goto yy1565; goto yy87; -yy1518: +yy1525: yych = *++cursor_; - if (yych == 'r') goto yy1559; + if (yych == 'r') goto yy1566; goto yy87; -yy1519: +yy1526: yych = *++cursor_; - if (yych == 'u') goto yy1561; + if (yych == 'u') goto yy1568; goto yy87; -yy1520: +yy1527: yych = *++cursor_; - if (yych == 'c') goto yy1562; - if (yych == 'o') goto yy1563; + if (yych == 'c') goto yy1569; + if (yych == 'o') goto yy1570; goto yy87; -yy1521: +yy1528: yych = *++cursor_; - if (yych == 'd') goto yy1564; - if (yych == 'n') goto yy1565; + if (yych == 'd') goto yy1571; + if (yych == 'n') goto yy1572; goto yy87; -yy1522: +yy1529: yych = *++cursor_; - if (yych == 'm') goto yy1566; + if (yych == 'm') goto yy1573; goto yy87; -yy1523: +yy1530: yych = *++cursor_; - if (yych == 'r') goto yy1567; + if (yych == 'r') goto yy1574; goto yy87; -yy1524: +yy1531: yych = *++cursor_; - if (yych == 'u') goto yy1569; + if (yych == 'u') goto yy1576; goto yy87; -yy1525: +yy1532: yych = *++cursor_; - if (yych == 'c') goto yy1570; - if (yych == 'o') goto yy1571; + if (yych == 'c') goto yy1577; + if (yych == 'o') goto yy1578; goto yy87; -yy1526: +yy1533: yych = *++cursor_; - if (yych == 'd') goto yy1572; + if (yych == 'd') goto yy1579; goto yy87; -yy1527: +yy1534: yych = *++cursor_; - if (yych == 'd') goto yy1574; + if (yych == 'd') goto yy1581; goto yy87; -yy1528: +yy1535: yych = *++cursor_; - if (yych == 'p') goto yy1576; + if (yych == 'p') goto yy1583; goto yy87; -yy1529: +yy1536: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 488 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UOr); } -#line 8215 "src/prebuilt/wast-lexer-gen.cc" -yy1531: +#line 8243 "src/prebuilt/wast-lexer-gen.cc" +yy1538: yych = *++cursor_; - if (yych == 'b') goto yy1577; + if (yych == 'b') goto yy1584; goto yy87; -yy1532: +yy1539: yych = *++cursor_; - if (yych == 'h') goto yy1579; + if (yych == 'h') goto yy1586; goto yy87; -yy1533: +yy1540: yych = *++cursor_; - if (yych == 'r') goto yy1580; + if (yych == 'r') goto yy1587; goto yy87; -yy1534: +yy1541: yych = *++cursor_; - if (yych == 't') goto yy1582; + if (yych == 't') goto yy1589; goto yy87; -yy1535: +yy1542: yych = *++cursor_; - if (yych == 'a') goto yy1583; + if (yych == 'a') goto yy1590; goto yy87; -yy1536: +yy1543: yych = *++cursor_; - if (yych == 'g') goto yy1584; + if (yych == 'g') goto yy1591; goto yy87; -yy1537: +yy1544: yych = *++cursor_; - if (yych == 'd') goto yy1586; + if (yych == 'd') goto yy1593; goto yy87; -yy1538: +yy1545: yych = *++cursor_; - if (yych == 'd') goto yy1588; + if (yych == 'd') goto yy1595; goto yy87; -yy1539: +yy1546: yych = *++cursor_; - if (yych == 'p') goto yy1590; + if (yych == 'p') goto yy1597; goto yy87; -yy1540: +yy1547: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 487 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UOr); } -#line 8259 "src/prebuilt/wast-lexer-gen.cc" -yy1542: +#line 8287 "src/prebuilt/wast-lexer-gen.cc" +yy1549: yych = *++cursor_; - if (yych == 'b') goto yy1591; + if (yych == 'b') goto yy1598; goto yy87; -yy1543: +yy1550: yych = *++cursor_; - if (yych == 'h') goto yy1593; + if (yych == 'h') goto yy1600; goto yy87; -yy1544: +yy1551: yych = *++cursor_; - if (yych == 'r') goto yy1594; + if (yych == 'r') goto yy1601; goto yy87; -yy1545: +yy1552: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 465 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UAdd); } -#line 8279 "src/prebuilt/wast-lexer-gen.cc" -yy1547: +#line 8307 "src/prebuilt/wast-lexer-gen.cc" +yy1554: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 479 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UAnd); } -#line 8287 "src/prebuilt/wast-lexer-gen.cc" -yy1549: +#line 8315 "src/prebuilt/wast-lexer-gen.cc" +yy1556: yych = *++cursor_; - if (yych == 'x') goto yy1596; + if (yych == 'x') goto yy1603; goto yy87; -yy1550: +yy1557: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 472 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8USub); } -#line 8299 "src/prebuilt/wast-lexer-gen.cc" -yy1552: +#line 8327 "src/prebuilt/wast-lexer-gen.cc" +yy1559: yych = *++cursor_; - if (yych == 'g') goto yy1597; + if (yych == 'g') goto yy1604; goto yy87; -yy1553: +yy1560: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 493 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UXor); } -#line 8311 "src/prebuilt/wast-lexer-gen.cc" -yy1555: +#line 8339 "src/prebuilt/wast-lexer-gen.cc" +yy1562: yych = *++cursor_; - if (yych == 'g') goto yy1599; + if (yych == 'g') goto yy1606; goto yy87; -yy1556: +yy1563: yych = *++cursor_; - if (yych == 'd') goto yy1601; + if (yych == 'd') goto yy1608; goto yy87; -yy1557: +yy1564: yych = *++cursor_; - if (yych == 'd') goto yy1603; + if (yych == 'd') goto yy1610; goto yy87; -yy1558: +yy1565: yych = *++cursor_; - if (yych == 'p') goto yy1605; + if (yych == 'p') goto yy1612; goto yy87; -yy1559: +yy1566: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 489 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UOr); } -#line 8335 "src/prebuilt/wast-lexer-gen.cc" -yy1561: +#line 8363 "src/prebuilt/wast-lexer-gen.cc" +yy1568: yych = *++cursor_; - if (yych == 'b') goto yy1606; + if (yych == 'b') goto yy1613; goto yy87; -yy1562: +yy1569: yych = *++cursor_; - if (yych == 'h') goto yy1608; + if (yych == 'h') goto yy1615; goto yy87; -yy1563: +yy1570: yych = *++cursor_; - if (yych == 'r') goto yy1609; + if (yych == 'r') goto yy1616; goto yy87; -yy1564: +yy1571: yych = *++cursor_; - if (yych == 'd') goto yy1611; + if (yych == 'd') goto yy1618; goto yy87; -yy1565: +yy1572: yych = *++cursor_; - if (yych == 'd') goto yy1613; + if (yych == 'd') goto yy1620; goto yy87; -yy1566: +yy1573: yych = *++cursor_; - if (yych == 'p') goto yy1615; + if (yych == 'p') goto yy1622; goto yy87; -yy1567: +yy1574: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 490 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UOr); } -#line 8367 "src/prebuilt/wast-lexer-gen.cc" -yy1569: +#line 8395 "src/prebuilt/wast-lexer-gen.cc" +yy1576: yych = *++cursor_; - if (yych == 'b') goto yy1616; + if (yych == 'b') goto yy1623; goto yy87; -yy1570: +yy1577: yych = *++cursor_; - if (yych == 'h') goto yy1618; + if (yych == 'h') goto yy1625; goto yy87; -yy1571: +yy1578: yych = *++cursor_; - if (yych == 'r') goto yy1619; + if (yych == 'r') goto yy1626; goto yy87; -yy1572: +yy1579: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 467 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UAdd); } -#line 8387 "src/prebuilt/wast-lexer-gen.cc" -yy1574: +#line 8415 "src/prebuilt/wast-lexer-gen.cc" +yy1581: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 481 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UAnd); } -#line 8395 "src/prebuilt/wast-lexer-gen.cc" -yy1576: +#line 8423 "src/prebuilt/wast-lexer-gen.cc" +yy1583: yych = *++cursor_; - if (yych == 'x') goto yy1621; + if (yych == 'x') goto yy1628; goto yy87; -yy1577: +yy1584: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 474 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8USub); } -#line 8407 "src/prebuilt/wast-lexer-gen.cc" -yy1579: +#line 8435 "src/prebuilt/wast-lexer-gen.cc" +yy1586: yych = *++cursor_; - if (yych == 'g') goto yy1622; + if (yych == 'g') goto yy1629; goto yy87; -yy1580: +yy1587: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 495 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UXor); } -#line 8419 "src/prebuilt/wast-lexer-gen.cc" -yy1582: +#line 8447 "src/prebuilt/wast-lexer-gen.cc" +yy1589: yych = *++cursor_; - if (yych == 'i') goto yy1624; + if (yych == 'i') goto yy1631; goto yy87; -yy1583: +yy1590: yych = *++cursor_; - if (yych == 'l') goto yy1625; + if (yych == 'l') goto yy1632; goto yy87; -yy1584: +yy1591: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 505 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmwCmpxchg); } -#line 8435 "src/prebuilt/wast-lexer-gen.cc" -yy1586: +#line 8463 "src/prebuilt/wast-lexer-gen.cc" +yy1593: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 466 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UAdd); } -#line 8443 "src/prebuilt/wast-lexer-gen.cc" -yy1588: +#line 8471 "src/prebuilt/wast-lexer-gen.cc" +yy1595: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 480 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UAnd); } -#line 8451 "src/prebuilt/wast-lexer-gen.cc" -yy1590: +#line 8479 "src/prebuilt/wast-lexer-gen.cc" +yy1597: yych = *++cursor_; - if (yych == 'x') goto yy1626; + if (yych == 'x') goto yy1633; goto yy87; -yy1591: +yy1598: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 473 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16USub); } -#line 8463 "src/prebuilt/wast-lexer-gen.cc" -yy1593: +#line 8491 "src/prebuilt/wast-lexer-gen.cc" +yy1600: yych = *++cursor_; - if (yych == 'g') goto yy1627; + if (yych == 'g') goto yy1634; goto yy87; -yy1594: +yy1601: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 494 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UXor); } -#line 8475 "src/prebuilt/wast-lexer-gen.cc" -yy1596: +#line 8503 "src/prebuilt/wast-lexer-gen.cc" +yy1603: yych = *++cursor_; - if (yych == 'c') goto yy1629; + if (yych == 'c') goto yy1636; goto yy87; -yy1597: +yy1604: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 500 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UXchg); } -#line 8487 "src/prebuilt/wast-lexer-gen.cc" -yy1599: +#line 8515 "src/prebuilt/wast-lexer-gen.cc" +yy1606: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 506 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmwCmpxchg); } -#line 8495 "src/prebuilt/wast-lexer-gen.cc" -yy1601: +#line 8523 "src/prebuilt/wast-lexer-gen.cc" +yy1608: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 468 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UAdd); } -#line 8503 "src/prebuilt/wast-lexer-gen.cc" -yy1603: +#line 8531 "src/prebuilt/wast-lexer-gen.cc" +yy1610: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 482 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UAnd); } -#line 8511 "src/prebuilt/wast-lexer-gen.cc" -yy1605: +#line 8539 "src/prebuilt/wast-lexer-gen.cc" +yy1612: yych = *++cursor_; - if (yych == 'x') goto yy1630; + if (yych == 'x') goto yy1637; goto yy87; -yy1606: +yy1613: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 475 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16USub); } -#line 8523 "src/prebuilt/wast-lexer-gen.cc" -yy1608: +#line 8551 "src/prebuilt/wast-lexer-gen.cc" +yy1615: yych = *++cursor_; - if (yych == 'g') goto yy1631; + if (yych == 'g') goto yy1638; goto yy87; -yy1609: +yy1616: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 496 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UXor); } -#line 8535 "src/prebuilt/wast-lexer-gen.cc" -yy1611: +#line 8563 "src/prebuilt/wast-lexer-gen.cc" +yy1618: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 469 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UAdd); } -#line 8543 "src/prebuilt/wast-lexer-gen.cc" -yy1613: +#line 8571 "src/prebuilt/wast-lexer-gen.cc" +yy1620: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 483 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UAnd); } -#line 8551 "src/prebuilt/wast-lexer-gen.cc" -yy1615: +#line 8579 "src/prebuilt/wast-lexer-gen.cc" +yy1622: yych = *++cursor_; - if (yych == 'x') goto yy1633; + if (yych == 'x') goto yy1640; goto yy87; -yy1616: +yy1623: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 476 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32USub); } -#line 8563 "src/prebuilt/wast-lexer-gen.cc" -yy1618: +#line 8591 "src/prebuilt/wast-lexer-gen.cc" +yy1625: yych = *++cursor_; - if (yych == 'g') goto yy1634; + if (yych == 'g') goto yy1641; goto yy87; -yy1619: +yy1626: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 497 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UXor); } -#line 8575 "src/prebuilt/wast-lexer-gen.cc" -yy1621: +#line 8603 "src/prebuilt/wast-lexer-gen.cc" +yy1628: yych = *++cursor_; - if (yych == 'c') goto yy1636; + if (yych == 'c') goto yy1643; goto yy87; -yy1622: +yy1629: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 502 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UXchg); } -#line 8587 "src/prebuilt/wast-lexer-gen.cc" -yy1624: +#line 8615 "src/prebuilt/wast-lexer-gen.cc" +yy1631: yych = *++cursor_; - if (yych == 'c') goto yy1637; + if (yych == 'c') goto yy1644; goto yy87; -yy1625: +yy1632: yych = *++cursor_; - if (yych == '_') goto yy1638; + if (yych == '_') goto yy1645; goto yy87; -yy1626: +yy1633: yych = *++cursor_; - if (yych == 'c') goto yy1639; + if (yych == 'c') goto yy1646; goto yy87; -yy1627: +yy1634: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 501 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UXchg); } -#line 8607 "src/prebuilt/wast-lexer-gen.cc" -yy1629: +#line 8635 "src/prebuilt/wast-lexer-gen.cc" +yy1636: yych = *++cursor_; - if (yych == 'h') goto yy1640; + if (yych == 'h') goto yy1647; goto yy87; -yy1630: +yy1637: yych = *++cursor_; - if (yych == 'c') goto yy1641; + if (yych == 'c') goto yy1648; goto yy87; -yy1631: +yy1638: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 503 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UXchg); } -#line 8623 "src/prebuilt/wast-lexer-gen.cc" -yy1633: +#line 8651 "src/prebuilt/wast-lexer-gen.cc" +yy1640: yych = *++cursor_; - if (yych == 'c') goto yy1642; + if (yych == 'c') goto yy1649; goto yy87; -yy1634: +yy1641: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 504 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UXchg); } -#line 8635 "src/prebuilt/wast-lexer-gen.cc" -yy1636: +#line 8663 "src/prebuilt/wast-lexer-gen.cc" +yy1643: yych = *++cursor_; - if (yych == 'h') goto yy1643; + if (yych == 'h') goto yy1650; goto yy87; -yy1637: +yy1644: yych = *++cursor_; - if (yych == '_') goto yy1644; + if (yych == '_') goto yy1651; goto yy87; -yy1638: +yy1645: yych = *++cursor_; - if (yych == 'n') goto yy1645; + if (yych == 'n') goto yy1652; goto yy87; -yy1639: +yy1646: yych = *++cursor_; - if (yych == 'h') goto yy1646; + if (yych == 'h') goto yy1653; goto yy87; -yy1640: +yy1647: yych = *++cursor_; - if (yych == 'g') goto yy1647; + if (yych == 'g') goto yy1654; goto yy87; -yy1641: +yy1648: yych = *++cursor_; - if (yych == 'h') goto yy1649; + if (yych == 'h') goto yy1656; goto yy87; -yy1642: +yy1649: yych = *++cursor_; - if (yych == 'h') goto yy1650; + if (yych == 'h') goto yy1657; goto yy87; -yy1643: +yy1650: yych = *++cursor_; - if (yych == 'g') goto yy1651; + if (yych == 'g') goto yy1658; goto yy87; -yy1644: +yy1651: yych = *++cursor_; - if (yych == 'n') goto yy1653; + if (yych == 'n') goto yy1660; goto yy87; -yy1645: +yy1652: yych = *++cursor_; - if (yych == 'a') goto yy1654; + if (yych == 'a') goto yy1661; goto yy87; -yy1646: +yy1653: yych = *++cursor_; - if (yych == 'g') goto yy1655; + if (yych == 'g') goto yy1662; goto yy87; -yy1647: +yy1654: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 507 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmw8UCmpxchg); } -#line 8687 "src/prebuilt/wast-lexer-gen.cc" -yy1649: +#line 8715 "src/prebuilt/wast-lexer-gen.cc" +yy1656: yych = *++cursor_; - if (yych == 'g') goto yy1657; + if (yych == 'g') goto yy1664; goto yy87; -yy1650: +yy1657: yych = *++cursor_; - if (yych == 'g') goto yy1659; + if (yych == 'g') goto yy1666; goto yy87; -yy1651: +yy1658: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 509 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw8UCmpxchg); } -#line 8703 "src/prebuilt/wast-lexer-gen.cc" -yy1653: +#line 8731 "src/prebuilt/wast-lexer-gen.cc" +yy1660: yych = *++cursor_; - if (yych == 'a') goto yy1661; + if (yych == 'a') goto yy1668; goto yy87; -yy1654: +yy1661: yych = *++cursor_; - if (yych == 'n') goto yy1662; + if (yych == 'n') goto yy1669; goto yy87; -yy1655: +yy1662: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 508 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmw16UCmpxchg); } -#line 8719 "src/prebuilt/wast-lexer-gen.cc" -yy1657: +#line 8747 "src/prebuilt/wast-lexer-gen.cc" +yy1664: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 510 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw16UCmpxchg); } -#line 8727 "src/prebuilt/wast-lexer-gen.cc" -yy1659: +#line 8755 "src/prebuilt/wast-lexer-gen.cc" +yy1666: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 511 "src/wast-lexer.cc" { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw32UCmpxchg); } -#line 8735 "src/prebuilt/wast-lexer-gen.cc" -yy1661: +#line 8763 "src/prebuilt/wast-lexer-gen.cc" +yy1668: yych = *++cursor_; - if (yych == 'n') goto yy1664; + if (yych == 'n') goto yy1671; goto yy87; -yy1662: +yy1669: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 538 "src/wast-lexer.cc" { RETURN(AssertReturnCanonicalNan); } -#line 8747 "src/prebuilt/wast-lexer-gen.cc" -yy1664: +#line 8775 "src/prebuilt/wast-lexer-gen.cc" +yy1671: ++cursor_; if (yybm[0+(yych = *cursor_)] & 8) { goto yy86; } #line 539 "src/wast-lexer.cc" { RETURN(AssertReturnArithmeticNan); } -#line 8755 "src/prebuilt/wast-lexer-gen.cc" +#line 8783 "src/prebuilt/wast-lexer-gen.cc" } } #line 566 "src/wast-lexer.cc" diff --git a/src/token.h b/src/token.h index c1525c8b..0b407261 100644 --- a/src/token.h +++ b/src/token.h @@ -86,6 +86,8 @@ enum class TokenType { AtomicRmw, AtomicRmwCmpxchg, AtomicStore, + AtomicWait, + AtomicWake, Binary, Block, Br, @@ -120,10 +122,8 @@ enum class TokenType { Try, Unary, Unreachable, - Wait, - Wake, First_Opcode = AtomicLoad, - Last_Opcode = Wake, + Last_Opcode = Unreachable, // Tokens with string data. AlignEqNat, diff --git a/src/type-checker.cc b/src/type-checker.cc index 4656ae8a..47de7063 100644 --- a/src/type-checker.cc +++ b/src/type-checker.cc @@ -305,6 +305,14 @@ Result TypeChecker::OnAtomicRmwCmpxchg(Opcode opcode) { return CheckOpcode3(opcode); } +Result TypeChecker::OnAtomicWait(Opcode opcode) { + return CheckOpcode3(opcode); +} + +Result TypeChecker::OnAtomicWake(Opcode opcode) { + return CheckOpcode2(opcode); +} + Result TypeChecker::OnBinary(Opcode opcode) { return CheckOpcode2(opcode); } @@ -587,14 +595,6 @@ 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 b2e32045..adc07423 100644 --- a/src/type-checker.h +++ b/src/type-checker.h @@ -55,6 +55,8 @@ class TypeChecker { Result OnAtomicStore(Opcode); Result OnAtomicRmw(Opcode); Result OnAtomicRmwCmpxchg(Opcode); + Result OnAtomicWait(Opcode); + Result OnAtomicWake(Opcode); Result OnBinary(Opcode); Result OnBlock(const TypeVector* sig); Result OnBr(Index depth); @@ -91,8 +93,6 @@ 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 c4ad1f9a..5d6f3bca 100644 --- a/src/validator.cc +++ b/src/validator.cc @@ -457,6 +457,14 @@ void Validator::CheckExpr(const Expr* expr) { CheckAtomicExpr(cast<AtomicStoreExpr>(expr), &TypeChecker::OnAtomicStore); break; + case ExprType::AtomicWait: + CheckAtomicExpr(cast<AtomicWaitExpr>(expr), &TypeChecker::OnAtomicWait); + break; + + case ExprType::AtomicWake: + CheckAtomicExpr(cast<AtomicWakeExpr>(expr), &TypeChecker::OnAtomicWake); + break; + case ExprType::Binary: typechecker_.OnBinary(cast<BinaryExpr>(expr)->opcode); break; @@ -660,14 +668,6 @@ 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 886b7097..de47a0bc 100644 --- a/src/wast-lexer.cc +++ b/src/wast-lexer.cc @@ -443,9 +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.wait" { RETURN_OPCODE(AtomicWait, I32AtomicWait); } + <i> "i64.atomic.wait" { RETURN_OPCODE(AtomicWait, I64AtomicWait); } + <i> "atomic.wake" { RETURN_OPCODE0(AtomicWake); } <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 577b18c7..90412538 100644 --- a/src/wast-parser.cc +++ b/src/wast-parser.cc @@ -165,12 +165,12 @@ 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: case TokenType::AtomicRmwCmpxchg: + case TokenType::AtomicWake: + case TokenType::AtomicWait: return true; default: return false; @@ -1431,17 +1431,19 @@ Result WastParser::ParsePlainInstr(std::unique_ptr<Expr>* out_expr) { CHECK_RESULT(ParsePlainInstrVar<RethrowExpr>(loc, out_expr)); break; - case TokenType::Wake: { + case TokenType::AtomicWake: { Token token = Consume(); ErrorUnlessOpcodeEnabled(token); - CHECK_RESULT(ParsePlainLoadStoreInstr<WakeExpr>(loc, token, out_expr)); + CHECK_RESULT( + ParsePlainLoadStoreInstr<AtomicWakeExpr>(loc, token, out_expr)); break; } - case TokenType::Wait: { + case TokenType::AtomicWait: { Token token = Consume(); ErrorUnlessOpcodeEnabled(token); - CHECK_RESULT(ParsePlainLoadStoreInstr<WaitExpr>(loc, token, out_expr)); + CHECK_RESULT( + ParsePlainLoadStoreInstr<AtomicWaitExpr>(loc, token, out_expr)); break; } diff --git a/src/wat-writer.cc b/src/wat-writer.cc index 718c312b..50c03041 100644 --- a/src/wat-writer.cc +++ b/src/wat-writer.cc @@ -488,6 +488,14 @@ void WatWriter::WriteExpr(const Expr* expr) { WriteLoadStoreExpr<AtomicRmwCmpxchgExpr>(expr); break; + case ExprType::AtomicWait: + WriteLoadStoreExpr<AtomicWaitExpr>(expr); + break; + + case ExprType::AtomicWake: + WriteLoadStoreExpr<AtomicWakeExpr>(expr); + break; + case ExprType::Binary: WritePutsNewline(cast<BinaryExpr>(expr)->opcode.GetName()); break; @@ -657,14 +665,6 @@ 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); @@ -712,9 +712,9 @@ void WatWriter::WriteFoldedExpr(const Expr* expr) { WABT_TRACE_ARGS(WriteFoldedExpr, "%s", GetExprTypeName(*expr)); switch (expr->type()) { case ExprType::AtomicRmw: + case ExprType::AtomicWake: case ExprType::Binary: case ExprType::Compare: - case ExprType::Wake: PushExpr(expr, 2, 1); break; @@ -799,8 +799,8 @@ void WatWriter::WriteFoldedExpr(const Expr* expr) { break; case ExprType::AtomicRmwCmpxchg: + case ExprType::AtomicWait: case ExprType::Select: - case ExprType::Wait: PushExpr(expr, 3, 1); break; |