summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/apply-names.cc20
-rw-r--r--src/binary-reader-ir.cc50
-rw-r--r--src/binary-reader-logging.cc14
-rw-r--r--src/binary-reader-logging.h18
-rw-r--r--src/binary-reader-nop.h14
-rw-r--r--src/binary-reader-objdump.cc8
-rw-r--r--src/binary-reader.cc180
-rw-r--r--src/binary-reader.h26
-rw-r--r--src/binary-writer.cc56
-rw-r--r--src/c-writer.cc110
-rw-r--r--src/expr-visitor.cc35
-rw-r--r--src/expr-visitor.h24
-rw-r--r--src/interp/binary-reader-interp.cc58
-rw-r--r--src/interp/interp-disassemble.cc150
-rw-r--r--src/interp/interp-trace.cc150
-rw-r--r--src/interp/interp.cc100
-rw-r--r--src/ir.cc14
-rw-r--r--src/ir.h26
-rw-r--r--src/opcode.cc104
-rw-r--r--src/opcode.def164
-rw-r--r--src/prebuilt/wast-lexer-gen.cc17942
-rw-r--r--src/resolve-names.cc42
-rw-r--r--src/token.def14
-rw-r--r--src/type-checker.cc40
-rw-r--r--src/type-checker.h12
-rw-r--r--src/validator.cc88
-rw-r--r--src/wast-lexer.cc211
-rw-r--r--src/wast-parser.cc44
-rw-r--r--src/wat-writer.cc75
29 files changed, 10433 insertions, 9356 deletions
diff --git a/src/apply-names.cc b/src/apply-names.cc
index e03b2377..1c66428e 100644
--- a/src/apply-names.cc
+++ b/src/apply-names.cc
@@ -44,21 +44,21 @@ class NameApplier : public ExprVisitor::DelegateNop {
Result OnCallIndirectExpr(CallIndirectExpr*) override;
Result OnReturnCallExpr(ReturnCallExpr*) override;
Result OnReturnCallIndirectExpr(ReturnCallIndirectExpr*) override;
- Result OnGetGlobalExpr(GetGlobalExpr*) override;
- Result OnGetLocalExpr(GetLocalExpr*) override;
+ Result OnGlobalGetExpr(GlobalGetExpr*) override;
+ Result OnGlobalSetExpr(GlobalSetExpr*) override;
Result BeginIfExpr(IfExpr*) override;
Result EndIfExpr(IfExpr*) override;
Result BeginIfExceptExpr(IfExceptExpr*) override;
Result EndIfExceptExpr(IfExceptExpr*) override;
+ Result OnLocalGetExpr(LocalGetExpr*) override;
+ Result OnLocalSetExpr(LocalSetExpr*) override;
+ Result OnLocalTeeExpr(LocalTeeExpr*) override;
Result BeginLoopExpr(LoopExpr*) override;
Result EndLoopExpr(LoopExpr*) override;
Result OnMemoryDropExpr(MemoryDropExpr*) override;
Result OnMemoryInitExpr(MemoryInitExpr*) override;
- Result OnSetGlobalExpr(SetGlobalExpr*) override;
- Result OnSetLocalExpr(SetLocalExpr*) override;
Result OnTableDropExpr(TableDropExpr*) override;
Result OnTableInitExpr(TableInitExpr*) override;
- Result OnTeeLocalExpr(TeeLocalExpr*) override;
Result BeginTryExpr(TryExpr*) override;
Result EndTryExpr(TryExpr*) override;
Result OnThrowExpr(ThrowExpr*) override;
@@ -320,12 +320,12 @@ Result NameApplier::OnReturnCallIndirectExpr(ReturnCallIndirectExpr* expr) {
return Result::Ok;
}
-Result NameApplier::OnGetGlobalExpr(GetGlobalExpr* expr) {
+Result NameApplier::OnGlobalGetExpr(GlobalGetExpr* expr) {
CHECK_RESULT(UseNameForGlobalVar(&expr->var));
return Result::Ok;
}
-Result NameApplier::OnGetLocalExpr(GetLocalExpr* expr) {
+Result NameApplier::OnLocalGetExpr(LocalGetExpr* expr) {
CHECK_RESULT(UseNameForParamAndLocalVar(current_func_, &expr->var));
return Result::Ok;
}
@@ -351,17 +351,17 @@ Result NameApplier::EndIfExceptExpr(IfExceptExpr* expr) {
return Result::Ok;
}
-Result NameApplier::OnSetGlobalExpr(SetGlobalExpr* expr) {
+Result NameApplier::OnGlobalSetExpr(GlobalSetExpr* expr) {
CHECK_RESULT(UseNameForGlobalVar(&expr->var));
return Result::Ok;
}
-Result NameApplier::OnSetLocalExpr(SetLocalExpr* expr) {
+Result NameApplier::OnLocalSetExpr(LocalSetExpr* expr) {
CHECK_RESULT(UseNameForParamAndLocalVar(current_func_, &expr->var));
return Result::Ok;
}
-Result NameApplier::OnTeeLocalExpr(TeeLocalExpr* expr) {
+Result NameApplier::OnLocalTeeExpr(LocalTeeExpr* expr) {
CHECK_RESULT(UseNameForParamAndLocalVar(current_func_, &expr->var));
return Result::Ok;
}
diff --git a/src/binary-reader-ir.cc b/src/binary-reader-ir.cc
index dd4ad01a..a215117f 100644
--- a/src/binary-reader-ir.cc
+++ b/src/binary-reader-ir.cc
@@ -130,9 +130,9 @@ class BinaryReaderIR : public BinaryReaderNop {
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 OnAtomicNotifyExpr(Opcode opcode,
+ uint32_t alignment_log2,
+ Address offset) override;
Result OnBinaryExpr(Opcode opcode) override;
Result OnBlockExpr(Type sig_type) override;
Result OnBrExpr(Index depth) override;
@@ -153,8 +153,8 @@ class BinaryReaderIR : public BinaryReaderNop {
Result OnF32ConstExpr(uint32_t value_bits) override;
Result OnF64ConstExpr(uint64_t value_bits) override;
Result OnV128ConstExpr(v128 value_bits) override;
- Result OnGetGlobalExpr(Index global_index) override;
- Result OnGetLocalExpr(Index local_index) override;
+ Result OnGlobalGetExpr(Index global_index) override;
+ Result OnGlobalSetExpr(Index global_index) override;
Result OnI32ConstExpr(uint32_t value) override;
Result OnI64ConstExpr(uint64_t value) override;
Result OnIfExpr(Type sig_type) override;
@@ -162,6 +162,9 @@ class BinaryReaderIR : public BinaryReaderNop {
Result OnLoadExpr(Opcode opcode,
uint32_t alignment_log2,
Address offset) override;
+ Result OnLocalGetExpr(Index local_index) override;
+ Result OnLocalSetExpr(Index local_index) override;
+ Result OnLocalTeeExpr(Index local_index) override;
Result OnLoopExpr(Type sig_type) override;
Result OnMemoryCopyExpr() override;
Result OnMemoryDropExpr(Index segment_index) override;
@@ -176,13 +179,10 @@ class BinaryReaderIR : public BinaryReaderNop {
Result OnRethrowExpr() override;
Result OnReturnExpr() override;
Result OnSelectExpr() override;
- Result OnSetGlobalExpr(Index global_index) override;
- Result OnSetLocalExpr(Index local_index) override;
Result OnStoreExpr(Opcode opcode,
uint32_t alignment_log2,
Address offset) override;
Result OnThrowExpr(Index except_index) override;
- Result OnTeeLocalExpr(Index local_index) override;
Result OnTryExpr(Type sig_type) override;
Result OnUnaryExpr(Opcode opcode) override;
Result OnTernaryExpr(Opcode opcode) override;
@@ -223,7 +223,7 @@ class BinaryReaderIR : public BinaryReaderNop {
Result OnInitExprF32ConstExpr(Index index, uint32_t value) override;
Result OnInitExprF64ConstExpr(Index index, uint64_t value) override;
Result OnInitExprV128ConstExpr(Index index, v128 value) override;
- Result OnInitExprGetGlobalExpr(Index index, Index global_index) override;
+ Result OnInitExprGlobalGetExpr(Index index, Index global_index) override;
Result OnInitExprI32ConstExpr(Index index, uint32_t value) override;
Result OnInitExprI64ConstExpr(Index index, uint64_t value) override;
@@ -620,11 +620,11 @@ wabt::Result BinaryReaderIR::OnAtomicWaitExpr(Opcode opcode,
MakeUnique<AtomicWaitExpr>(opcode, 1 << alignment_log2, offset));
}
-wabt::Result BinaryReaderIR::OnAtomicWakeExpr(Opcode opcode,
- uint32_t alignment_log2,
- Address offset) {
+wabt::Result BinaryReaderIR::OnAtomicNotifyExpr(Opcode opcode,
+ uint32_t alignment_log2,
+ Address offset) {
return AppendExpr(
- MakeUnique<AtomicWakeExpr>(opcode, 1 << alignment_log2, offset));
+ MakeUnique<AtomicNotifyExpr>(opcode, 1 << alignment_log2, offset));
}
Result BinaryReaderIR::OnBinaryExpr(Opcode opcode) {
@@ -773,13 +773,13 @@ Result BinaryReaderIR::OnV128ConstExpr(v128 value_bits) {
MakeUnique<ConstExpr>(Const::V128(value_bits, GetLocation())));
}
-Result BinaryReaderIR::OnGetGlobalExpr(Index global_index) {
+Result BinaryReaderIR::OnGlobalGetExpr(Index global_index) {
return AppendExpr(
- MakeUnique<GetGlobalExpr>(Var(global_index, GetLocation())));
+ MakeUnique<GlobalGetExpr>(Var(global_index, GetLocation())));
}
-Result BinaryReaderIR::OnGetLocalExpr(Index local_index) {
- return AppendExpr(MakeUnique<GetLocalExpr>(Var(local_index, GetLocation())));
+Result BinaryReaderIR::OnLocalGetExpr(Index local_index) {
+ return AppendExpr(MakeUnique<LocalGetExpr>(Var(local_index, GetLocation())));
}
Result BinaryReaderIR::OnI32ConstExpr(uint32_t value) {
@@ -876,13 +876,13 @@ Result BinaryReaderIR::OnSelectExpr() {
return AppendExpr(MakeUnique<SelectExpr>());
}
-Result BinaryReaderIR::OnSetGlobalExpr(Index global_index) {
+Result BinaryReaderIR::OnGlobalSetExpr(Index global_index) {
return AppendExpr(
- MakeUnique<SetGlobalExpr>(Var(global_index, GetLocation())));
+ MakeUnique<GlobalSetExpr>(Var(global_index, GetLocation())));
}
-Result BinaryReaderIR::OnSetLocalExpr(Index local_index) {
- return AppendExpr(MakeUnique<SetLocalExpr>(Var(local_index, GetLocation())));
+Result BinaryReaderIR::OnLocalSetExpr(Index local_index) {
+ return AppendExpr(MakeUnique<LocalSetExpr>(Var(local_index, GetLocation())));
}
Result BinaryReaderIR::OnStoreExpr(Opcode opcode,
@@ -895,8 +895,8 @@ Result BinaryReaderIR::OnThrowExpr(Index except_index) {
return AppendExpr(MakeUnique<ThrowExpr>(Var(except_index, GetLocation())));
}
-Result BinaryReaderIR::OnTeeLocalExpr(Index local_index) {
- return AppendExpr(MakeUnique<TeeLocalExpr>(Var(local_index, GetLocation())));
+Result BinaryReaderIR::OnLocalTeeExpr(Index local_index) {
+ return AppendExpr(MakeUnique<LocalTeeExpr>(Var(local_index, GetLocation())));
}
Result BinaryReaderIR::OnTryExpr(Type sig_type) {
@@ -1114,11 +1114,11 @@ Result BinaryReaderIR::OnInitExprV128ConstExpr(Index index, v128 value) {
return Result::Ok;
}
-Result BinaryReaderIR::OnInitExprGetGlobalExpr(Index index,
+Result BinaryReaderIR::OnInitExprGlobalGetExpr(Index index,
Index global_index) {
Location loc = GetLocation();
current_init_expr_->push_back(
- MakeUnique<GetGlobalExpr>(Var(global_index, loc), loc));
+ MakeUnique<GlobalGetExpr>(Var(global_index, loc), loc));
return Result::Ok;
}
diff --git a/src/binary-reader-logging.cc b/src/binary-reader-logging.cc
index 934e125c..bb89fb9d 100644
--- a/src/binary-reader-logging.cc
+++ b/src/binary-reader-logging.cc
@@ -681,7 +681,7 @@ 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_LOAD_STORE_OPCODE(OnAtomicNotifyExpr);
DEFINE_OPCODE(OnBinaryExpr)
DEFINE_INDEX_DESC(OnCallExpr, "func_index")
DEFINE_INDEX_DESC(OnCallIndirectExpr, "sig_index")
@@ -691,9 +691,12 @@ DEFINE_OPCODE(OnConvertExpr)
DEFINE0(OnDropExpr)
DEFINE0(OnElseExpr)
DEFINE0(OnEndExpr)
-DEFINE_INDEX_DESC(OnGetGlobalExpr, "index")
-DEFINE_INDEX_DESC(OnGetLocalExpr, "index")
+DEFINE_INDEX_DESC(OnGlobalGetExpr, "index")
+DEFINE_INDEX_DESC(OnGlobalSetExpr, "index")
DEFINE_LOAD_STORE_OPCODE(OnLoadExpr);
+DEFINE_INDEX_DESC(OnLocalGetExpr, "index")
+DEFINE_INDEX_DESC(OnLocalSetExpr, "index")
+DEFINE_INDEX_DESC(OnLocalTeeExpr, "index")
DEFINE0(OnMemoryCopyExpr)
DEFINE_INDEX(OnMemoryDropExpr)
DEFINE0(OnMemoryFillExpr)
@@ -710,10 +713,7 @@ DEFINE_INDEX_DESC(OnReturnCallExpr, "func_index")
DEFINE_INDEX_DESC(OnReturnCallIndirectExpr, "sig_index")
DEFINE0(OnReturnExpr)
DEFINE0(OnSelectExpr)
-DEFINE_INDEX_DESC(OnSetGlobalExpr, "index")
-DEFINE_INDEX_DESC(OnSetLocalExpr, "index")
DEFINE_LOAD_STORE_OPCODE(OnStoreExpr);
-DEFINE_INDEX_DESC(OnTeeLocalExpr, "index")
DEFINE_INDEX_DESC(OnThrowExpr, "except_index")
DEFINE0(OnUnreachableExpr)
DEFINE_OPCODE(OnUnaryExpr)
@@ -746,7 +746,7 @@ DEFINE_END(EndNamesSection)
DEFINE_BEGIN(BeginRelocSection)
DEFINE_END(EndRelocSection)
-DEFINE_INDEX_INDEX(OnInitExprGetGlobalExpr, "index", "global_index")
+DEFINE_INDEX_INDEX(OnInitExprGlobalGetExpr, "index", "global_index")
DEFINE_BEGIN(BeginDylinkSection)
DEFINE_INDEX(OnDylinkNeededCount)
diff --git a/src/binary-reader-logging.h b/src/binary-reader-logging.h
index 32480306..0f2c509a 100644
--- a/src/binary-reader-logging.h
+++ b/src/binary-reader-logging.h
@@ -165,8 +165,8 @@ class BinaryReaderLogging : public BinaryReaderDelegate {
Result OnF32ConstExpr(uint32_t value_bits) override;
Result OnF64ConstExpr(uint64_t value_bits) override;
Result OnV128ConstExpr(v128 value_bits) override;
- Result OnGetGlobalExpr(Index global_index) override;
- Result OnGetLocalExpr(Index local_index) override;
+ Result OnGlobalGetExpr(Index global_index) override;
+ Result OnGlobalSetExpr(Index global_index) override;
Result OnI32ConstExpr(uint32_t value) override;
Result OnI64ConstExpr(uint64_t value) override;
Result OnIfExpr(Type sig_type) override;
@@ -174,6 +174,9 @@ class BinaryReaderLogging : public BinaryReaderDelegate {
Result OnLoadExpr(Opcode opcode,
uint32_t alignment_log2,
Address offset) override;
+ Result OnLocalGetExpr(Index local_index) override;
+ Result OnLocalSetExpr(Index local_index) override;
+ Result OnLocalTeeExpr(Index local_index) override;
Result OnLoopExpr(Type sig_type) override;
Result OnMemoryCopyExpr() override;
Result OnMemoryDropExpr(Index segment_index) override;
@@ -190,12 +193,9 @@ class BinaryReaderLogging : public BinaryReaderDelegate {
Result OnReturnCallIndirectExpr(Index sig_index) override;
Result OnReturnExpr() override;
Result OnSelectExpr() override;
- Result OnSetGlobalExpr(Index global_index) override;
- Result OnSetLocalExpr(Index local_index) override;
Result OnStoreExpr(Opcode opcode,
uint32_t alignment_log2,
Address offset) override;
- Result OnTeeLocalExpr(Index local_index) override;
Result OnThrowExpr(Index except_index) override;
Result OnTryExpr(Type sig_type) override;
Result OnUnaryExpr(Opcode opcode) override;
@@ -204,9 +204,9 @@ class BinaryReaderLogging : public BinaryReaderDelegate {
Result OnAtomicWaitExpr(Opcode opcode,
uint32_t alignment_log2,
Address offset) override;
- Result OnAtomicWakeExpr(Opcode opcode,
- uint32_t alignment_log2,
- Address offset) override;
+ Result OnAtomicNotifyExpr(Opcode opcode,
+ uint32_t alignment_log2,
+ Address offset) override;
Result EndFunctionBody(Index index) override;
Result EndCodeSection() override;
Result OnSimdLaneOpExpr(Opcode opcode, uint64_t value) override;
@@ -308,7 +308,7 @@ class BinaryReaderLogging : public BinaryReaderDelegate {
Result OnInitExprF32ConstExpr(Index index, uint32_t value) override;
Result OnInitExprF64ConstExpr(Index index, uint64_t value) override;
Result OnInitExprV128ConstExpr(Index index, v128 value) override;
- Result OnInitExprGetGlobalExpr(Index index, Index global_index) override;
+ Result OnInitExprGlobalGetExpr(Index index, Index global_index) override;
Result OnInitExprI32ConstExpr(Index index, uint32_t value) override;
Result OnInitExprI64ConstExpr(Index index, uint64_t value) override;
diff --git a/src/binary-reader-nop.h b/src/binary-reader-nop.h
index 5cb926a9..bfab11d8 100644
--- a/src/binary-reader-nop.h
+++ b/src/binary-reader-nop.h
@@ -199,7 +199,7 @@ class BinaryReaderNop : public BinaryReaderDelegate {
Result OnAtomicWaitExpr(Opcode, uint32_t, Address) override {
return Result::Ok;
}
- Result OnAtomicWakeExpr(Opcode, uint32_t, Address) override {
+ Result OnAtomicNotifyExpr(Opcode, uint32_t, Address) override {
return Result::Ok;
}
Result OnBinaryExpr(Opcode opcode) override { return Result::Ok; }
@@ -223,8 +223,8 @@ class BinaryReaderNop : public BinaryReaderDelegate {
Result OnF32ConstExpr(uint32_t value_bits) override { return Result::Ok; }
Result OnF64ConstExpr(uint64_t value_bits) override { return Result::Ok; }
Result OnV128ConstExpr(v128 value_bits) override { return Result::Ok; }
- Result OnGetGlobalExpr(Index global_index) override { return Result::Ok; }
- Result OnGetLocalExpr(Index local_index) override { return Result::Ok; }
+ Result OnGlobalGetExpr(Index global_index) override { return Result::Ok; }
+ Result OnGlobalSetExpr(Index global_index) override { return Result::Ok; }
Result OnI32ConstExpr(uint32_t value) override { return Result::Ok; }
Result OnI64ConstExpr(uint64_t value) override { return Result::Ok; }
Result OnIfExpr(Type sig_type) override { return Result::Ok; }
@@ -236,6 +236,9 @@ class BinaryReaderNop : public BinaryReaderDelegate {
Address offset) override {
return Result::Ok;
}
+ Result OnLocalGetExpr(Index local_index) override { return Result::Ok; }
+ Result OnLocalSetExpr(Index local_index) override { return Result::Ok; }
+ Result OnLocalTeeExpr(Index local_index) override { return Result::Ok; }
Result OnLoopExpr(Type sig_type) override { return Result::Ok; }
Result OnMemoryCopyExpr() override { return Result::Ok; }
Result OnMemoryDropExpr(Index segment_index) override { return Result::Ok; }
@@ -252,14 +255,11 @@ class BinaryReaderNop : public BinaryReaderDelegate {
Result OnReturnCallIndirectExpr(Index sig_index) override { return Result::Ok; }
Result OnReturnExpr() override { return Result::Ok; }
Result OnSelectExpr() override { return Result::Ok; }
- Result OnSetGlobalExpr(Index global_index) override { return Result::Ok; }
- Result OnSetLocalExpr(Index local_index) override { return Result::Ok; }
Result OnStoreExpr(Opcode opcode,
uint32_t alignment_log2,
Address offset) override {
return Result::Ok;
}
- Result OnTeeLocalExpr(Index local_index) override { return Result::Ok; }
Result OnThrowExpr(Index depth) override { return Result::Ok; }
Result OnTryExpr(Type sig_type) override { return Result::Ok; }
Result OnUnaryExpr(Opcode opcode) override { return Result::Ok; }
@@ -436,7 +436,7 @@ class BinaryReaderNop : public BinaryReaderDelegate {
Result OnInitExprV128ConstExpr(Index index, v128 value) override {
return Result::Ok;
}
- Result OnInitExprGetGlobalExpr(Index index, Index global_index) override {
+ Result OnInitExprGlobalGetExpr(Index index, Index global_index) override {
return Result::Ok;
}
Result OnInitExprI32ConstExpr(Index index, uint32_t value) override {
diff --git a/src/binary-reader-objdump.cc b/src/binary-reader-objdump.cc
index ca5e4332..1cd636a6 100644
--- a/src/binary-reader-objdump.cc
+++ b/src/binary-reader-objdump.cc
@@ -517,8 +517,8 @@ Result BinaryReaderObjdumpDisassemble::OnOpcodeIndex(Index value) {
const char* name;
if (current_opcode == Opcode::Call && (name = GetFunctionName(value))) {
LogOpcode(immediate_len, "%d <%s>", value, name);
- } else if ((current_opcode == Opcode::GetGlobal ||
- current_opcode == Opcode::SetGlobal) &&
+ } else if ((current_opcode == Opcode::GlobalGet ||
+ current_opcode == Opcode::GlobalSet) &&
(name = GetGlobalName(value))) {
LogOpcode(immediate_len, "%d <%s>", value, name);
} else {
@@ -761,7 +761,7 @@ class BinaryReaderObjdump : public BinaryReaderObjdumpBase {
Result OnInitExprF32ConstExpr(Index index, uint32_t value) override;
Result OnInitExprF64ConstExpr(Index index, uint64_t value) override;
Result OnInitExprV128ConstExpr(Index index, v128 value) override;
- Result OnInitExprGetGlobalExpr(Index index, Index global_index) override;
+ Result OnInitExprGlobalGetExpr(Index index, Index global_index) override;
Result OnInitExprI32ConstExpr(Index index, uint32_t value) override;
Result OnInitExprI64ConstExpr(Index index, uint64_t value) override;
@@ -1258,7 +1258,7 @@ Result BinaryReaderObjdump::OnInitExprV128ConstExpr(Index index, v128 value) {
return Result::Ok;
}
-Result BinaryReaderObjdump::OnInitExprGetGlobalExpr(Index index,
+Result BinaryReaderObjdump::OnInitExprGlobalGetExpr(Index index,
Index global_index) {
InitExpr expr;
expr.type = InitExprType::Global;
diff --git a/src/binary-reader.cc b/src/binary-reader.cc
index ebdcb547..9e048410 100644
--- a/src/binary-reader.cc
+++ b/src/binary-reader.cc
@@ -460,10 +460,10 @@ Result BinaryReader::ReadInitExpr(Index index, bool require_i32) {
break;
}
- case Opcode::GetGlobal: {
+ case Opcode::GlobalGet: {
Index global_index;
- CHECK_RESULT(ReadIndex(&global_index, "init_expr get_global index"));
- CALLBACK(OnInitExprGetGlobalExpr, index, global_index);
+ CHECK_RESULT(ReadIndex(&global_index, "init_expr global.get index"));
+ CALLBACK(OnInitExprGlobalGetExpr, index, global_index);
break;
}
@@ -475,7 +475,7 @@ Result BinaryReader::ReadInitExpr(Index index, bool require_i32) {
}
if (require_i32 && opcode != Opcode::I32Const &&
- opcode != Opcode::GetGlobal) {
+ opcode != Opcode::GlobalGet) {
PrintError("expected i32 init_expr");
return Result::Error;
}
@@ -706,34 +706,34 @@ Result BinaryReader::ReadFunctionBody(Offset end_offset) {
break;
}
- case Opcode::GetGlobal: {
+ case Opcode::GlobalGet: {
Index global_index;
- CHECK_RESULT(ReadIndex(&global_index, "get_global global index"));
- CALLBACK(OnGetGlobalExpr, global_index);
+ CHECK_RESULT(ReadIndex(&global_index, "global.get global index"));
+ CALLBACK(OnGlobalGetExpr, global_index);
CALLBACK(OnOpcodeIndex, global_index);
break;
}
- case Opcode::GetLocal: {
+ case Opcode::LocalGet: {
Index local_index;
- CHECK_RESULT(ReadIndex(&local_index, "get_local local index"));
- CALLBACK(OnGetLocalExpr, local_index);
+ CHECK_RESULT(ReadIndex(&local_index, "local.get local index"));
+ CALLBACK(OnLocalGetExpr, local_index);
CALLBACK(OnOpcodeIndex, local_index);
break;
}
- case Opcode::SetGlobal: {
+ case Opcode::GlobalSet: {
Index global_index;
- CHECK_RESULT(ReadIndex(&global_index, "set_global global index"));
- CALLBACK(OnSetGlobalExpr, global_index);
+ CHECK_RESULT(ReadIndex(&global_index, "global.set global index"));
+ CALLBACK(OnGlobalSetExpr, global_index);
CALLBACK(OnOpcodeIndex, global_index);
break;
}
- case Opcode::SetLocal: {
+ case Opcode::LocalSet: {
Index local_index;
- CHECK_RESULT(ReadIndex(&local_index, "set_local local index"));
- CALLBACK(OnSetLocalExpr, local_index);
+ CHECK_RESULT(ReadIndex(&local_index, "local.set local index"));
+ CALLBACK(OnLocalSetExpr, local_index);
CALLBACK(OnOpcodeIndex, local_index);
break;
}
@@ -787,10 +787,10 @@ Result BinaryReader::ReadFunctionBody(Offset end_offset) {
break;
}
- case Opcode::TeeLocal: {
+ case Opcode::LocalTee: {
Index local_index;
- CHECK_RESULT(ReadIndex(&local_index, "tee_local local index"));
- CALLBACK(OnTeeLocalExpr, local_index);
+ CHECK_RESULT(ReadIndex(&local_index, "local.tee local index"));
+ CALLBACK(OnLocalTeeExpr, local_index);
CALLBACK(OnOpcodeIndex, local_index);
break;
}
@@ -1113,41 +1113,41 @@ Result BinaryReader::ReadFunctionBody(Offset end_offset) {
break;
}
- case Opcode::I32TruncSF32:
- case Opcode::I32TruncSF64:
- case Opcode::I32TruncUF32:
- case Opcode::I32TruncUF64:
+ case Opcode::I32TruncF32S:
+ case Opcode::I32TruncF64S:
+ case Opcode::I32TruncF32U:
+ case Opcode::I32TruncF64U:
case Opcode::I32WrapI64:
- case Opcode::I64TruncSF32:
- case Opcode::I64TruncSF64:
- case Opcode::I64TruncUF32:
- case Opcode::I64TruncUF64:
- case Opcode::I64ExtendSI32:
- case Opcode::I64ExtendUI32:
- case Opcode::F32ConvertSI32:
- case Opcode::F32ConvertUI32:
- case Opcode::F32ConvertSI64:
- case Opcode::F32ConvertUI64:
+ case Opcode::I64TruncF32S:
+ case Opcode::I64TruncF64S:
+ case Opcode::I64TruncF32U:
+ case Opcode::I64TruncF64U:
+ case Opcode::I64ExtendI32S:
+ case Opcode::I64ExtendI32U:
+ case Opcode::F32ConvertI32S:
+ case Opcode::F32ConvertI32U:
+ case Opcode::F32ConvertI64S:
+ case Opcode::F32ConvertI64U:
case Opcode::F32DemoteF64:
case Opcode::F32ReinterpretI32:
- case Opcode::F64ConvertSI32:
- case Opcode::F64ConvertUI32:
- case Opcode::F64ConvertSI64:
- case Opcode::F64ConvertUI64:
+ case Opcode::F64ConvertI32S:
+ case Opcode::F64ConvertI32U:
+ case Opcode::F64ConvertI64S:
+ case Opcode::F64ConvertI64U:
case Opcode::F64PromoteF32:
case Opcode::F64ReinterpretI64:
case Opcode::I32ReinterpretF32:
case Opcode::I64ReinterpretF64:
case Opcode::I32Eqz:
case Opcode::I64Eqz:
- case Opcode::F32X4ConvertSI32X4:
- case Opcode::F32X4ConvertUI32X4:
- case Opcode::F64X2ConvertSI64X2:
- case Opcode::F64X2ConvertUI64X2:
- case Opcode::I32X4TruncSF32X4Sat:
- case Opcode::I32X4TruncUF32X4Sat:
- case Opcode::I64X2TruncSF64X2Sat:
- case Opcode::I64X2TruncUF64X2Sat:
+ case Opcode::F32X4ConvertI32X4S:
+ case Opcode::F32X4ConvertI32X4U:
+ case Opcode::F64X2ConvertI64X2S:
+ case Opcode::F64X2ConvertI64X2U:
+ case Opcode::I32X4TruncSatF32X4S:
+ case Opcode::I32X4TruncSatF32X4U:
+ case Opcode::I64X2TruncSatF64X2S:
+ case Opcode::I64X2TruncSatF64X2U:
CALLBACK(OnConvertExpr, opcode);
CALLBACK0(OnOpcodeBare);
break;
@@ -1202,25 +1202,25 @@ Result BinaryReader::ReadFunctionBody(Offset end_offset) {
CALLBACK0(OnOpcodeBare);
break;
- case Opcode::I32TruncSSatF32:
- case Opcode::I32TruncUSatF32:
- case Opcode::I32TruncSSatF64:
- case Opcode::I32TruncUSatF64:
- case Opcode::I64TruncSSatF32:
- case Opcode::I64TruncUSatF32:
- case Opcode::I64TruncSSatF64:
- case Opcode::I64TruncUSatF64:
+ case Opcode::I32TruncSatF32S:
+ case Opcode::I32TruncSatF32U:
+ case Opcode::I32TruncSatF64S:
+ case Opcode::I32TruncSatF64U:
+ case Opcode::I64TruncSatF32S:
+ case Opcode::I64TruncSatF32U:
+ case Opcode::I64TruncSatF64S:
+ case Opcode::I64TruncSatF64U:
CALLBACK(OnConvertExpr, opcode);
CALLBACK0(OnOpcodeBare);
break;
- case Opcode::AtomicWake: {
+ case Opcode::AtomicNotify: {
uint32_t alignment_log2;
CHECK_RESULT(ReadU32Leb128(&alignment_log2, "load alignment"));
Address offset;
CHECK_RESULT(ReadU32Leb128(&offset, "load offset"));
- CALLBACK(OnAtomicWakeExpr, opcode, alignment_log2, offset);
+ CALLBACK(OnAtomicNotifyExpr, opcode, alignment_log2, offset);
CALLBACK(OnOpcodeUint32Uint32, alignment_log2, offset);
break;
}
@@ -1273,46 +1273,46 @@ Result BinaryReader::ReadFunctionBody(Offset end_offset) {
case Opcode::I32AtomicRmwAdd:
case Opcode::I64AtomicRmwAdd:
- case Opcode::I32AtomicRmw8UAdd:
- case Opcode::I32AtomicRmw16UAdd:
- case Opcode::I64AtomicRmw8UAdd:
- case Opcode::I64AtomicRmw16UAdd:
- case Opcode::I64AtomicRmw32UAdd:
+ case Opcode::I32AtomicRmw8AddU:
+ case Opcode::I32AtomicRmw16AddU:
+ case Opcode::I64AtomicRmw8AddU:
+ case Opcode::I64AtomicRmw16AddU:
+ case Opcode::I64AtomicRmw32AddU:
case Opcode::I32AtomicRmwSub:
case Opcode::I64AtomicRmwSub:
- case Opcode::I32AtomicRmw8USub:
- case Opcode::I32AtomicRmw16USub:
- case Opcode::I64AtomicRmw8USub:
- case Opcode::I64AtomicRmw16USub:
- case Opcode::I64AtomicRmw32USub:
+ case Opcode::I32AtomicRmw8SubU:
+ case Opcode::I32AtomicRmw16SubU:
+ case Opcode::I64AtomicRmw8SubU:
+ case Opcode::I64AtomicRmw16SubU:
+ case Opcode::I64AtomicRmw32SubU:
case Opcode::I32AtomicRmwAnd:
case Opcode::I64AtomicRmwAnd:
- case Opcode::I32AtomicRmw8UAnd:
- case Opcode::I32AtomicRmw16UAnd:
- case Opcode::I64AtomicRmw8UAnd:
- case Opcode::I64AtomicRmw16UAnd:
- case Opcode::I64AtomicRmw32UAnd:
+ case Opcode::I32AtomicRmw8AndU:
+ case Opcode::I32AtomicRmw16AndU:
+ case Opcode::I64AtomicRmw8AndU:
+ case Opcode::I64AtomicRmw16AndU:
+ case Opcode::I64AtomicRmw32AndU:
case Opcode::I32AtomicRmwOr:
case Opcode::I64AtomicRmwOr:
- case Opcode::I32AtomicRmw8UOr:
- case Opcode::I32AtomicRmw16UOr:
- case Opcode::I64AtomicRmw8UOr:
- case Opcode::I64AtomicRmw16UOr:
- case Opcode::I64AtomicRmw32UOr:
+ case Opcode::I32AtomicRmw8OrU:
+ case Opcode::I32AtomicRmw16OrU:
+ case Opcode::I64AtomicRmw8OrU:
+ case Opcode::I64AtomicRmw16OrU:
+ case Opcode::I64AtomicRmw32OrU:
case Opcode::I32AtomicRmwXor:
case Opcode::I64AtomicRmwXor:
- case Opcode::I32AtomicRmw8UXor:
- case Opcode::I32AtomicRmw16UXor:
- case Opcode::I64AtomicRmw8UXor:
- case Opcode::I64AtomicRmw16UXor:
- case Opcode::I64AtomicRmw32UXor:
+ case Opcode::I32AtomicRmw8XorU:
+ case Opcode::I32AtomicRmw16XorU:
+ case Opcode::I64AtomicRmw8XorU:
+ case Opcode::I64AtomicRmw16XorU:
+ case Opcode::I64AtomicRmw32XorU:
case Opcode::I32AtomicRmwXchg:
case Opcode::I64AtomicRmwXchg:
- case Opcode::I32AtomicRmw8UXchg:
- case Opcode::I32AtomicRmw16UXchg:
- case Opcode::I64AtomicRmw8UXchg:
- case Opcode::I64AtomicRmw16UXchg:
- case Opcode::I64AtomicRmw32UXchg: {
+ case Opcode::I32AtomicRmw8XchgU:
+ case Opcode::I32AtomicRmw16XchgU:
+ case Opcode::I64AtomicRmw8XchgU:
+ case Opcode::I64AtomicRmw16XchgU:
+ case Opcode::I64AtomicRmw32XchgU: {
uint32_t alignment_log2;
CHECK_RESULT(ReadU32Leb128(&alignment_log2, "memory alignment"));
Address offset;
@@ -1325,11 +1325,11 @@ Result BinaryReader::ReadFunctionBody(Offset end_offset) {
case Opcode::I32AtomicRmwCmpxchg:
case Opcode::I64AtomicRmwCmpxchg:
- case Opcode::I32AtomicRmw8UCmpxchg:
- case Opcode::I32AtomicRmw16UCmpxchg:
- case Opcode::I64AtomicRmw8UCmpxchg:
- case Opcode::I64AtomicRmw16UCmpxchg:
- case Opcode::I64AtomicRmw32UCmpxchg: {
+ case Opcode::I32AtomicRmw8CmpxchgU:
+ case Opcode::I32AtomicRmw16CmpxchgU:
+ case Opcode::I64AtomicRmw8CmpxchgU:
+ case Opcode::I64AtomicRmw16CmpxchgU:
+ case Opcode::I64AtomicRmw32CmpxchgU: {
uint32_t alignment_log2;
CHECK_RESULT(ReadU32Leb128(&alignment_log2, "memory alignment"));
Address offset;
diff --git a/src/binary-reader.h b/src/binary-reader.h
index 743103e9..98334440 100644
--- a/src/binary-reader.h
+++ b/src/binary-reader.h
@@ -199,9 +199,9 @@ class BinaryReaderDelegate {
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 OnAtomicNotifyExpr(Opcode opcode,
+ uint32_t alignment_log2,
+ Address offset) = 0;
virtual Result OnBinaryExpr(Opcode opcode) = 0;
virtual Result OnBlockExpr(Type sig_type) = 0;
virtual Result OnBrExpr(Index depth) = 0;
@@ -221,8 +221,8 @@ class BinaryReaderDelegate {
virtual Result OnF32ConstExpr(uint32_t value_bits) = 0;
virtual Result OnF64ConstExpr(uint64_t value_bits) = 0;
virtual Result OnV128ConstExpr(v128 value_bits) = 0;
- virtual Result OnGetGlobalExpr(Index global_index) = 0;
- virtual Result OnGetLocalExpr(Index local_index) = 0;
+ virtual Result OnGlobalGetExpr(Index global_index) = 0;
+ virtual Result OnGlobalSetExpr(Index global_index) = 0;
virtual Result OnI32ConstExpr(uint32_t value) = 0;
virtual Result OnI64ConstExpr(uint64_t value) = 0;
virtual Result OnIfExpr(Type sig_type) = 0;
@@ -230,6 +230,9 @@ class BinaryReaderDelegate {
virtual Result OnLoadExpr(Opcode opcode,
uint32_t alignment_log2,
Address offset) = 0;
+ virtual Result OnLocalGetExpr(Index local_index) = 0;
+ virtual Result OnLocalSetExpr(Index local_index) = 0;
+ virtual Result OnLocalTeeExpr(Index local_index) = 0;
virtual Result OnLoopExpr(Type sig_type) = 0;
virtual Result OnMemoryCopyExpr() = 0;
virtual Result OnMemoryDropExpr(Index segment_index) = 0;
@@ -246,12 +249,9 @@ class BinaryReaderDelegate {
virtual Result OnReturnCallExpr(Index func_index) = 0;
virtual Result OnReturnCallIndirectExpr(Index sig_index) = 0;
virtual Result OnSelectExpr() = 0;
- virtual Result OnSetGlobalExpr(Index global_index) = 0;
- virtual Result OnSetLocalExpr(Index local_index) = 0;
virtual Result OnStoreExpr(Opcode opcode,
uint32_t alignment_log2,
Address offset) = 0;
- virtual Result OnTeeLocalExpr(Index local_index) = 0;
virtual Result OnThrowExpr(Index except_index) = 0;
virtual Result OnTryExpr(Type sig_type) = 0;
@@ -268,7 +268,9 @@ class BinaryReaderDelegate {
/* Elem section */
virtual Result BeginElemSection(Offset size) = 0;
virtual Result OnElemSegmentCount(Index count) = 0;
- virtual Result BeginElemSegment(Index index, Index table_index, bool passive) = 0;
+ virtual Result BeginElemSegment(Index index,
+ Index table_index,
+ bool passive) = 0;
virtual Result BeginElemSegmentInitExpr(Index index) = 0;
virtual Result EndElemSegmentInitExpr(Index index) = 0;
virtual Result OnElemSegmentFunctionIndexCount(Index index, Index count) = 0;
@@ -280,7 +282,9 @@ class BinaryReaderDelegate {
/* Data section */
virtual Result BeginDataSection(Offset size) = 0;
virtual Result OnDataSegmentCount(Index count) = 0;
- virtual Result BeginDataSegment(Index index, Index memory_index, bool passive) = 0;
+ virtual Result BeginDataSegment(Index index,
+ Index memory_index,
+ bool passive) = 0;
virtual Result BeginDataSegmentInitExpr(Index index) = 0;
virtual Result EndDataSegmentInitExpr(Index index) = 0;
virtual Result OnDataSegmentData(Index index,
@@ -373,7 +377,7 @@ class BinaryReaderDelegate {
virtual Result OnInitExprF32ConstExpr(Index index, uint32_t value) = 0;
virtual Result OnInitExprF64ConstExpr(Index index, uint64_t value) = 0;
virtual Result OnInitExprV128ConstExpr(Index index, v128 value) = 0;
- virtual Result OnInitExprGetGlobalExpr(Index index, Index global_index) = 0;
+ virtual Result OnInitExprGlobalGetExpr(Index index, Index global_index) = 0;
virtual Result OnInitExprI32ConstExpr(Index index, uint32_t value) = 0;
virtual Result OnInitExprI64ConstExpr(Index index, uint64_t value) = 0;
diff --git a/src/binary-writer.cc b/src/binary-writer.cc
index dc26128d..af71250d 100644
--- a/src/binary-writer.cc
+++ b/src/binary-writer.cc
@@ -357,7 +357,7 @@ void BinaryWriter::WriteU32Leb128WithReloc(Index index,
}
Index BinaryWriter::GetLocalIndex(const Func* func, const Var& var) {
- // func can be nullptr when using get_local/set_local/tee_local in an
+ // func can be nullptr when using local.get/local.set/local.tee in an
// init_expr.
if (func) {
return func->GetLocalIndex(var);
@@ -397,8 +397,8 @@ void BinaryWriter::WriteExpr(const Func* func, const Expr* expr) {
case ExprType::AtomicWait:
WriteLoadStoreExpr<AtomicWaitExpr>(func, expr, "memory offset");
break;
- case ExprType::AtomicWake:
- WriteLoadStoreExpr<AtomicWakeExpr>(func, expr, "memory offset");
+ case ExprType::AtomicNotify:
+ WriteLoadStoreExpr<AtomicNotifyExpr>(func, expr, "memory offset");
break;
case ExprType::Binary:
WriteOpcode(stream_, cast<BinaryExpr>(expr)->opcode);
@@ -498,16 +498,16 @@ void BinaryWriter::WriteExpr(const Func* func, const Expr* expr) {
case ExprType::Drop:
WriteOpcode(stream_, Opcode::Drop);
break;
- case ExprType::GetGlobal: {
- Index index = module_->GetGlobalIndex(cast<GetGlobalExpr>(expr)->var);
- WriteOpcode(stream_, Opcode::GetGlobal);
+ case ExprType::GlobalGet: {
+ Index index = module_->GetGlobalIndex(cast<GlobalGetExpr>(expr)->var);
+ WriteOpcode(stream_, Opcode::GlobalGet);
WriteU32Leb128WithReloc(index, "global index", RelocType::GlobalIndexLEB);
break;
}
- case ExprType::GetLocal: {
- Index index = GetLocalIndex(func, cast<GetLocalExpr>(expr)->var);
- WriteOpcode(stream_, Opcode::GetLocal);
- WriteU32Leb128(stream_, index, "local index");
+ case ExprType::GlobalSet: {
+ Index index = module_->GetGlobalIndex(cast<GlobalSetExpr>(expr)->var);
+ WriteOpcode(stream_, Opcode::GlobalSet);
+ WriteU32Leb128WithReloc(index, "global index", RelocType::GlobalIndexLEB);
break;
}
case ExprType::If: {
@@ -539,6 +539,24 @@ void BinaryWriter::WriteExpr(const Func* func, const Expr* expr) {
case ExprType::Load:
WriteLoadStoreExpr<LoadExpr>(func, expr, "load offset");
break;
+ case ExprType::LocalGet: {
+ Index index = GetLocalIndex(func, cast<LocalGetExpr>(expr)->var);
+ WriteOpcode(stream_, Opcode::LocalGet);
+ WriteU32Leb128(stream_, index, "local index");
+ break;
+ }
+ case ExprType::LocalSet: {
+ Index index = GetLocalIndex(func, cast<LocalSetExpr>(expr)->var);
+ WriteOpcode(stream_, Opcode::LocalSet);
+ WriteU32Leb128(stream_, index, "local index");
+ break;
+ }
+ case ExprType::LocalTee: {
+ Index index = GetLocalIndex(func, cast<LocalTeeExpr>(expr)->var);
+ WriteOpcode(stream_, Opcode::LocalTee);
+ WriteU32Leb128(stream_, index, "local index");
+ break;
+ }
case ExprType::Loop:
WriteOpcode(stream_, Opcode::Loop);
WriteBlockDecl(cast<LoopExpr>(expr)->block.decl);
@@ -607,27 +625,9 @@ void BinaryWriter::WriteExpr(const Func* func, const Expr* expr) {
case ExprType::Select:
WriteOpcode(stream_, Opcode::Select);
break;
- case ExprType::SetGlobal: {
- Index index = module_->GetGlobalIndex(cast<SetGlobalExpr>(expr)->var);
- WriteOpcode(stream_, Opcode::SetGlobal);
- WriteU32Leb128WithReloc(index, "global index", RelocType::GlobalIndexLEB);
- break;
- }
- case ExprType::SetLocal: {
- Index index = GetLocalIndex(func, cast<SetLocalExpr>(expr)->var);
- WriteOpcode(stream_, Opcode::SetLocal);
- WriteU32Leb128(stream_, index, "local index");
- break;
- }
case ExprType::Store:
WriteLoadStoreExpr<StoreExpr>(func, expr, "store offset");
break;
- case ExprType::TeeLocal: {
- Index index = GetLocalIndex(func, cast<TeeLocalExpr>(expr)->var);
- WriteOpcode(stream_, Opcode::TeeLocal);
- WriteU32Leb128(stream_, index, "local index");
- break;
- }
case ExprType::Throw:
WriteOpcode(stream_, Opcode::Throw);
WriteU32Leb128(stream_, GetExceptVarDepth(&cast<ThrowExpr>(expr)->var),
diff --git a/src/c-writer.cc b/src/c-writer.cc
index 0e8d6f91..77eabbda 100644
--- a/src/c-writer.cc
+++ b/src/c-writer.cc
@@ -861,8 +861,8 @@ void CWriter::WriteInitExpr(const ExprList& expr_list) {
Write(cast<ConstExpr>(expr)->const_);
break;
- case ExprType::GetGlobal:
- Write(GlobalVar(cast<GetGlobalExpr>(expr)->var));
+ case ExprType::GlobalGet:
+ Write(GlobalVar(cast<GlobalGetExpr>(expr)->var));
break;
default:
@@ -1516,17 +1516,17 @@ void CWriter::Write(const ExprList& exprs) {
DropTypes(1);
break;
- case ExprType::GetGlobal: {
- const Var& var = cast<GetGlobalExpr>(&expr)->var;
+ case ExprType::GlobalGet: {
+ const Var& var = cast<GlobalGetExpr>(&expr)->var;
PushType(module_->GetGlobal(var)->type);
Write(StackVar(0), " = ", GlobalVar(var), ";", Newline());
break;
}
- case ExprType::GetLocal: {
- const Var& var = cast<GetLocalExpr>(&expr)->var;
- PushType(func_->GetLocalType(var));
- Write(StackVar(0), " = ", var, ";", Newline());
+ case ExprType::GlobalSet: {
+ const Var& var = cast<GlobalSetExpr>(&expr)->var;
+ Write(GlobalVar(var), " = ", StackVar(0), ";", Newline());
+ DropTypes(1);
break;
}
@@ -1553,6 +1553,26 @@ void CWriter::Write(const ExprList& exprs) {
Write(*cast<LoadExpr>(&expr));
break;
+ case ExprType::LocalGet: {
+ const Var& var = cast<LocalGetExpr>(&expr)->var;
+ PushType(func_->GetLocalType(var));
+ Write(StackVar(0), " = ", var, ";", Newline());
+ break;
+ }
+
+ case ExprType::LocalSet: {
+ const Var& var = cast<LocalSetExpr>(&expr)->var;
+ Write(var, " = ", StackVar(0), ";", Newline());
+ DropTypes(1);
+ break;
+ }
+
+ case ExprType::LocalTee: {
+ const Var& var = cast<LocalTeeExpr>(&expr)->var;
+ Write(var, " = ", StackVar(0), ";", Newline());
+ break;
+ }
+
case ExprType::Loop: {
const Block& block = cast<LoopExpr>(&expr)->block;
if (!block.exprs.empty()) {
@@ -1617,30 +1637,10 @@ void CWriter::Write(const ExprList& exprs) {
break;
}
- case ExprType::SetGlobal: {
- const Var& var = cast<SetGlobalExpr>(&expr)->var;
- Write(GlobalVar(var), " = ", StackVar(0), ";", Newline());
- DropTypes(1);
- break;
- }
-
- case ExprType::SetLocal: {
- const Var& var = cast<SetLocalExpr>(&expr)->var;
- Write(var, " = ", StackVar(0), ";", Newline());
- DropTypes(1);
- break;
- }
-
case ExprType::Store:
Write(*cast<StoreExpr>(&expr));
break;
- case ExprType::TeeLocal: {
- const Var& var = cast<TeeLocalExpr>(&expr)->var;
- Write(var, " = ", StackVar(0), ";", Newline());
- break;
- }
-
case ExprType::Unary:
Write(*cast<UnaryExpr>(&expr));
break;
@@ -1668,7 +1668,7 @@ void CWriter::Write(const ExprList& exprs) {
case ExprType::AtomicRmwCmpxchg:
case ExprType::AtomicStore:
case ExprType::AtomicWait:
- case ExprType::AtomicWake:
+ case ExprType::AtomicNotify:
case ExprType::IfExcept:
case ExprType::Rethrow:
case ExprType::ReturnCall:
@@ -1930,11 +1930,11 @@ void CWriter::Write(const ConvertExpr& expr) {
WriteSimpleUnaryExpr(expr.opcode, "!");
break;
- case Opcode::I64ExtendSI32:
+ case Opcode::I64ExtendI32S:
WriteSimpleUnaryExpr(expr.opcode, "(u64)(s64)(s32)");
break;
- case Opcode::I64ExtendUI32:
+ case Opcode::I64ExtendI32U:
WriteSimpleUnaryExpr(expr.opcode, "(u64)");
break;
@@ -1942,82 +1942,82 @@ void CWriter::Write(const ConvertExpr& expr) {
WriteSimpleUnaryExpr(expr.opcode, "(u32)");
break;
- case Opcode::I32TruncSF32:
+ case Opcode::I32TruncF32S:
WriteSimpleUnaryExpr(expr.opcode, "I32_TRUNC_S_F32");
break;
- case Opcode::I64TruncSF32:
+ case Opcode::I64TruncF32S:
WriteSimpleUnaryExpr(expr.opcode, "I64_TRUNC_S_F32");
break;
- case Opcode::I32TruncSF64:
+ case Opcode::I32TruncF64S:
WriteSimpleUnaryExpr(expr.opcode, "I32_TRUNC_S_F64");
break;
- case Opcode::I64TruncSF64:
+ case Opcode::I64TruncF64S:
WriteSimpleUnaryExpr(expr.opcode, "I64_TRUNC_S_F64");
break;
- case Opcode::I32TruncUF32:
+ case Opcode::I32TruncF32U:
WriteSimpleUnaryExpr(expr.opcode, "I32_TRUNC_U_F32");
break;
- case Opcode::I64TruncUF32:
+ case Opcode::I64TruncF32U:
WriteSimpleUnaryExpr(expr.opcode, "I64_TRUNC_U_F32");
break;
- case Opcode::I32TruncUF64:
+ case Opcode::I32TruncF64U:
WriteSimpleUnaryExpr(expr.opcode, "I32_TRUNC_U_F64");
break;
- case Opcode::I64TruncUF64:
+ case Opcode::I64TruncF64U:
WriteSimpleUnaryExpr(expr.opcode, "I64_TRUNC_U_F64");
break;
- case Opcode::I32TruncSSatF32:
- case Opcode::I64TruncSSatF32:
- case Opcode::I32TruncSSatF64:
- case Opcode::I64TruncSSatF64:
- case Opcode::I32TruncUSatF32:
- case Opcode::I64TruncUSatF32:
- case Opcode::I32TruncUSatF64:
- case Opcode::I64TruncUSatF64:
+ case Opcode::I32TruncSatF32S:
+ case Opcode::I64TruncSatF32S:
+ case Opcode::I32TruncSatF64S:
+ case Opcode::I64TruncSatF64S:
+ case Opcode::I32TruncSatF32U:
+ case Opcode::I64TruncSatF32U:
+ case Opcode::I32TruncSatF64U:
+ case Opcode::I64TruncSatF64U:
UNIMPLEMENTED(expr.opcode.GetName());
break;
- case Opcode::F32ConvertSI32:
+ case Opcode::F32ConvertI32S:
WriteSimpleUnaryExpr(expr.opcode, "(f32)(s32)");
break;
- case Opcode::F32ConvertSI64:
+ case Opcode::F32ConvertI64S:
WriteSimpleUnaryExpr(expr.opcode, "(f32)(s64)");
break;
- case Opcode::F32ConvertUI32:
+ case Opcode::F32ConvertI32U:
case Opcode::F32DemoteF64:
WriteSimpleUnaryExpr(expr.opcode, "(f32)");
break;
- case Opcode::F32ConvertUI64:
+ case Opcode::F32ConvertI64U:
// TODO(binji): This needs to be handled specially (see
// wabt_convert_uint64_to_float).
WriteSimpleUnaryExpr(expr.opcode, "(f32)");
break;
- case Opcode::F64ConvertSI32:
+ case Opcode::F64ConvertI32S:
WriteSimpleUnaryExpr(expr.opcode, "(f64)(s32)");
break;
- case Opcode::F64ConvertSI64:
+ case Opcode::F64ConvertI64S:
WriteSimpleUnaryExpr(expr.opcode, "(f64)(s64)");
break;
- case Opcode::F64ConvertUI32:
+ case Opcode::F64ConvertI32U:
case Opcode::F64PromoteF32:
WriteSimpleUnaryExpr(expr.opcode, "(f64)");
break;
- case Opcode::F64ConvertUI64:
+ case Opcode::F64ConvertI64U:
// TODO(binji): This needs to be handled specially (see
// wabt_convert_uint64_to_double).
WriteSimpleUnaryExpr(expr.opcode, "(f64)");
diff --git a/src/expr-visitor.cc b/src/expr-visitor.cc
index 6a96fa8b..2638d7d4 100644
--- a/src/expr-visitor.cc
+++ b/src/expr-visitor.cc
@@ -182,8 +182,8 @@ Result ExprVisitor::HandleDefaultState(Expr* expr) {
CHECK_RESULT(delegate_->OnAtomicWaitExpr(cast<AtomicWaitExpr>(expr)));
break;
- case ExprType::AtomicWake:
- CHECK_RESULT(delegate_->OnAtomicWakeExpr(cast<AtomicWakeExpr>(expr)));
+ case ExprType::AtomicNotify:
+ CHECK_RESULT(delegate_->OnAtomicNotifyExpr(cast<AtomicNotifyExpr>(expr)));
break;
case ExprType::Binary:
@@ -233,12 +233,12 @@ Result ExprVisitor::HandleDefaultState(Expr* expr) {
CHECK_RESULT(delegate_->OnDropExpr(cast<DropExpr>(expr)));
break;
- case ExprType::GetGlobal:
- CHECK_RESULT(delegate_->OnGetGlobalExpr(cast<GetGlobalExpr>(expr)));
+ case ExprType::GlobalGet:
+ CHECK_RESULT(delegate_->OnGlobalGetExpr(cast<GlobalGetExpr>(expr)));
break;
- case ExprType::GetLocal:
- CHECK_RESULT(delegate_->OnGetLocalExpr(cast<GetLocalExpr>(expr)));
+ case ExprType::GlobalSet:
+ CHECK_RESULT(delegate_->OnGlobalSetExpr(cast<GlobalSetExpr>(expr)));
break;
case ExprType::If: {
@@ -259,6 +259,18 @@ Result ExprVisitor::HandleDefaultState(Expr* expr) {
CHECK_RESULT(delegate_->OnLoadExpr(cast<LoadExpr>(expr)));
break;
+ case ExprType::LocalGet:
+ CHECK_RESULT(delegate_->OnLocalGetExpr(cast<LocalGetExpr>(expr)));
+ break;
+
+ case ExprType::LocalSet:
+ CHECK_RESULT(delegate_->OnLocalSetExpr(cast<LocalSetExpr>(expr)));
+ break;
+
+ case ExprType::LocalTee:
+ CHECK_RESULT(delegate_->OnLocalTeeExpr(cast<LocalTeeExpr>(expr)));
+ break;
+
case ExprType::Loop: {
auto loop_expr = cast<LoopExpr>(expr);
CHECK_RESULT(delegate_->BeginLoopExpr(loop_expr));
@@ -327,21 +339,10 @@ Result ExprVisitor::HandleDefaultState(Expr* expr) {
CHECK_RESULT(delegate_->OnSelectExpr(cast<SelectExpr>(expr)));
break;
- case ExprType::SetGlobal:
- CHECK_RESULT(delegate_->OnSetGlobalExpr(cast<SetGlobalExpr>(expr)));
- break;
-
- case ExprType::SetLocal:
- CHECK_RESULT(delegate_->OnSetLocalExpr(cast<SetLocalExpr>(expr)));
- break;
-
case ExprType::Store:
CHECK_RESULT(delegate_->OnStoreExpr(cast<StoreExpr>(expr)));
break;
- case ExprType::TeeLocal:
- CHECK_RESULT(delegate_->OnTeeLocalExpr(cast<TeeLocalExpr>(expr)));
- break;
case ExprType::Throw:
CHECK_RESULT(delegate_->OnThrowExpr(cast<ThrowExpr>(expr)));
diff --git a/src/expr-visitor.h b/src/expr-visitor.h
index 4b13097e..d164e062 100644
--- a/src/expr-visitor.h
+++ b/src/expr-visitor.h
@@ -78,8 +78,8 @@ class ExprVisitor::Delegate {
virtual Result OnConstExpr(ConstExpr*) = 0;
virtual Result OnConvertExpr(ConvertExpr*) = 0;
virtual Result OnDropExpr(DropExpr*) = 0;
- virtual Result OnGetGlobalExpr(GetGlobalExpr*) = 0;
- virtual Result OnGetLocalExpr(GetLocalExpr*) = 0;
+ virtual Result OnGlobalGetExpr(GlobalGetExpr*) = 0;
+ virtual Result OnGlobalSetExpr(GlobalSetExpr*) = 0;
virtual Result BeginIfExpr(IfExpr*) = 0;
virtual Result AfterIfTrueExpr(IfExpr*) = 0;
virtual Result EndIfExpr(IfExpr*) = 0;
@@ -87,6 +87,9 @@ class ExprVisitor::Delegate {
virtual Result AfterIfExceptTrueExpr(IfExceptExpr*) = 0;
virtual Result EndIfExceptExpr(IfExceptExpr*) = 0;
virtual Result OnLoadExpr(LoadExpr*) = 0;
+ virtual Result OnLocalGetExpr(LocalGetExpr*) = 0;
+ virtual Result OnLocalSetExpr(LocalSetExpr*) = 0;
+ virtual Result OnLocalTeeExpr(LocalTeeExpr*) = 0;
virtual Result BeginLoopExpr(LoopExpr*) = 0;
virtual Result EndLoopExpr(LoopExpr*) = 0;
virtual Result OnMemoryCopyExpr(MemoryCopyExpr*) = 0;
@@ -103,10 +106,7 @@ class ExprVisitor::Delegate {
virtual Result OnReturnCallExpr(ReturnCallExpr*) = 0;
virtual Result OnReturnCallIndirectExpr(ReturnCallIndirectExpr*) = 0;
virtual Result OnSelectExpr(SelectExpr*) = 0;
- virtual Result OnSetGlobalExpr(SetGlobalExpr*) = 0;
- virtual Result OnSetLocalExpr(SetLocalExpr*) = 0;
virtual Result OnStoreExpr(StoreExpr*) = 0;
- virtual Result OnTeeLocalExpr(TeeLocalExpr*) = 0;
virtual Result OnUnaryExpr(UnaryExpr*) = 0;
virtual Result OnUnreachableExpr(UnreachableExpr*) = 0;
virtual Result BeginTryExpr(TryExpr*) = 0;
@@ -115,7 +115,7 @@ class ExprVisitor::Delegate {
virtual Result OnThrowExpr(ThrowExpr*) = 0;
virtual Result OnRethrowExpr(RethrowExpr*) = 0;
virtual Result OnAtomicWaitExpr(AtomicWaitExpr*) = 0;
- virtual Result OnAtomicWakeExpr(AtomicWakeExpr*) = 0;
+ virtual Result OnAtomicNotifyExpr(AtomicNotifyExpr*) = 0;
virtual Result OnAtomicLoadExpr(AtomicLoadExpr*) = 0;
virtual Result OnAtomicStoreExpr(AtomicStoreExpr*) = 0;
virtual Result OnAtomicRmwExpr(AtomicRmwExpr*) = 0;
@@ -139,8 +139,8 @@ class ExprVisitor::DelegateNop : public ExprVisitor::Delegate {
Result OnConstExpr(ConstExpr*) override { return Result::Ok; }
Result OnConvertExpr(ConvertExpr*) override { return Result::Ok; }
Result OnDropExpr(DropExpr*) override { return Result::Ok; }
- Result OnGetGlobalExpr(GetGlobalExpr*) override { return Result::Ok; }
- Result OnGetLocalExpr(GetLocalExpr*) override { return Result::Ok; }
+ Result OnGlobalGetExpr(GlobalGetExpr*) override { return Result::Ok; }
+ Result OnGlobalSetExpr(GlobalSetExpr*) override { return Result::Ok; }
Result BeginIfExpr(IfExpr*) override { return Result::Ok; }
Result AfterIfTrueExpr(IfExpr*) override { return Result::Ok; }
Result EndIfExpr(IfExpr*) override { return Result::Ok; }
@@ -148,6 +148,9 @@ class ExprVisitor::DelegateNop : public ExprVisitor::Delegate {
Result AfterIfExceptTrueExpr(IfExceptExpr*) override { return Result::Ok; }
Result EndIfExceptExpr(IfExceptExpr*) override { return Result::Ok; }
Result OnLoadExpr(LoadExpr*) override { return Result::Ok; }
+ Result OnLocalGetExpr(LocalGetExpr*) override { return Result::Ok; }
+ Result OnLocalSetExpr(LocalSetExpr*) override { return Result::Ok; }
+ Result OnLocalTeeExpr(LocalTeeExpr*) override { return Result::Ok; }
Result BeginLoopExpr(LoopExpr*) override { return Result::Ok; }
Result EndLoopExpr(LoopExpr*) override { return Result::Ok; }
Result OnMemoryCopyExpr(MemoryCopyExpr*) override { return Result::Ok; }
@@ -166,10 +169,7 @@ class ExprVisitor::DelegateNop : public ExprVisitor::Delegate {
return Result::Ok;
}
Result OnSelectExpr(SelectExpr*) override { return Result::Ok; }
- Result OnSetGlobalExpr(SetGlobalExpr*) override { return Result::Ok; }
- Result OnSetLocalExpr(SetLocalExpr*) override { return Result::Ok; }
Result OnStoreExpr(StoreExpr*) override { return Result::Ok; }
- Result OnTeeLocalExpr(TeeLocalExpr*) override { return Result::Ok; }
Result OnUnaryExpr(UnaryExpr*) override { return Result::Ok; }
Result OnUnreachableExpr(UnreachableExpr*) override { return Result::Ok; }
Result BeginTryExpr(TryExpr*) override { return Result::Ok; }
@@ -178,7 +178,7 @@ class ExprVisitor::DelegateNop : public ExprVisitor::Delegate {
Result OnThrowExpr(ThrowExpr*) override { return Result::Ok; }
Result OnRethrowExpr(RethrowExpr*) override { return Result::Ok; }
Result OnAtomicWaitExpr(AtomicWaitExpr*) override { return Result::Ok; }
- Result OnAtomicWakeExpr(AtomicWakeExpr*) override { return Result::Ok; }
+ Result OnAtomicNotifyExpr(AtomicNotifyExpr*) 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/binary-reader-interp.cc b/src/interp/binary-reader-interp.cc
index ce8c8ac2..c0494b3f 100644
--- a/src/interp/binary-reader-interp.cc
+++ b/src/interp/binary-reader-interp.cc
@@ -153,7 +153,7 @@ class BinaryReaderInterp : public BinaryReaderNop {
wabt::Result OnAtomicWaitExpr(Opcode opcode,
uint32_t alignment_log2,
Address offset) override;
- wabt::Result OnAtomicWakeExpr(Opcode opcode,
+ wabt::Result OnAtomicNotifyExpr(Opcode opcode,
uint32_t alignment_log2,
Address offset) override;
wabt::Result OnBinaryExpr(wabt::Opcode opcode) override;
@@ -175,26 +175,26 @@ class BinaryReaderInterp : public BinaryReaderNop {
wabt::Result OnF32ConstExpr(uint32_t value_bits) override;
wabt::Result OnF64ConstExpr(uint64_t value_bits) override;
wabt::Result OnV128ConstExpr(v128 value_bits) override;
- wabt::Result OnGetGlobalExpr(Index global_index) override;
- wabt::Result OnGetLocalExpr(Index local_index) override;
+ wabt::Result OnGlobalGetExpr(Index global_index) override;
+ wabt::Result OnGlobalSetExpr(Index global_index) override;
wabt::Result OnI32ConstExpr(uint32_t value) override;
wabt::Result OnI64ConstExpr(uint64_t value) override;
wabt::Result OnIfExpr(Type sig_type) override;
wabt::Result OnLoadExpr(wabt::Opcode opcode,
uint32_t alignment_log2,
Address offset) override;
+ wabt::Result OnLocalGetExpr(Index local_index) override;
+ wabt::Result OnLocalSetExpr(Index local_index) override;
+ wabt::Result OnLocalTeeExpr(Index local_index) override;
wabt::Result OnLoopExpr(Type sig_type) override;
wabt::Result OnMemoryGrowExpr() override;
wabt::Result OnMemorySizeExpr() override;
wabt::Result OnNopExpr() override;
wabt::Result OnReturnExpr() override;
wabt::Result OnSelectExpr() override;
- wabt::Result OnSetGlobalExpr(Index global_index) override;
- wabt::Result OnSetLocalExpr(Index local_index) override;
wabt::Result OnStoreExpr(wabt::Opcode opcode,
uint32_t alignment_log2,
Address offset) override;
- wabt::Result OnTeeLocalExpr(Index local_index) override;
wabt::Result OnUnaryExpr(wabt::Opcode opcode) override;
wabt::Result OnTernaryExpr(wabt::Opcode opcode) override;
wabt::Result OnUnreachableExpr() override;
@@ -215,7 +215,7 @@ class BinaryReaderInterp : public BinaryReaderNop {
wabt::Result OnInitExprF32ConstExpr(Index index, uint32_t value) override;
wabt::Result OnInitExprF64ConstExpr(Index index, uint64_t value) override;
wabt::Result OnInitExprV128ConstExpr(Index index, v128 value) override;
- wabt::Result OnInitExprGetGlobalExpr(Index index,
+ wabt::Result OnInitExprGlobalGetExpr(Index index,
Index global_index) override;
wabt::Result OnInitExprI32ConstExpr(Index index, uint32_t value) override;
wabt::Result OnInitExprI64ConstExpr(Index index, uint64_t value) override;
@@ -890,7 +890,7 @@ wabt::Result BinaryReaderInterp::OnInitExprV128ConstExpr(Index index,
return wabt::Result::Ok;
}
-wabt::Result BinaryReaderInterp::OnInitExprGetGlobalExpr(Index index,
+wabt::Result BinaryReaderInterp::OnInitExprGlobalGetExpr(Index index,
Index global_index) {
if (global_index >= num_global_imports_) {
PrintError("initializer expression can only reference an imported global");
@@ -1438,25 +1438,25 @@ wabt::Result BinaryReaderInterp::OnV128ConstExpr(v128 value_bits) {
return wabt::Result::Ok;
}
-wabt::Result BinaryReaderInterp::OnGetGlobalExpr(Index global_index) {
+wabt::Result BinaryReaderInterp::OnGlobalGetExpr(Index global_index) {
CHECK_RESULT(CheckGlobal(global_index));
Type type = GetGlobalTypeByModuleIndex(global_index);
- CHECK_RESULT(typechecker_.OnGetGlobal(type));
- CHECK_RESULT(EmitOpcode(Opcode::GetGlobal));
+ CHECK_RESULT(typechecker_.OnGlobalGet(type));
+ CHECK_RESULT(EmitOpcode(Opcode::GlobalGet));
CHECK_RESULT(EmitI32(TranslateGlobalIndexToEnv(global_index)));
return wabt::Result::Ok;
}
-wabt::Result BinaryReaderInterp::OnSetGlobalExpr(Index global_index) {
+wabt::Result BinaryReaderInterp::OnGlobalSetExpr(Index global_index) {
CHECK_RESULT(CheckGlobal(global_index));
Global* global = GetGlobalByModuleIndex(global_index);
if (!global->mutable_) {
- PrintError("can't set_global on immutable global at index %" PRIindex ".",
+ PrintError("can't global.set on immutable global at index %" PRIindex ".",
global_index);
return wabt::Result::Error;
}
- CHECK_RESULT(typechecker_.OnSetGlobal(global->typed_value.type));
- CHECK_RESULT(EmitOpcode(Opcode::SetGlobal));
+ CHECK_RESULT(typechecker_.OnGlobalSet(global->typed_value.type));
+ CHECK_RESULT(EmitOpcode(Opcode::GlobalSet));
CHECK_RESULT(EmitI32(TranslateGlobalIndexToEnv(global_index)));
return wabt::Result::Ok;
}
@@ -1466,33 +1466,33 @@ Index BinaryReaderInterp::TranslateLocalIndex(Index local_index) {
current_func_->param_and_local_types.size() - local_index;
}
-wabt::Result BinaryReaderInterp::OnGetLocalExpr(Index local_index) {
+wabt::Result BinaryReaderInterp::OnLocalGetExpr(Index local_index) {
CHECK_RESULT(CheckLocal(local_index));
Type type = GetLocalTypeByIndex(current_func_, local_index);
- // Get the translated index before calling typechecker_.OnGetLocal because it
+ // Get the translated index before calling typechecker_.OnLocalGet because it
// will update the type stack size. We need the index to be relative to the
// old stack size.
Index translated_local_index = TranslateLocalIndex(local_index);
- CHECK_RESULT(typechecker_.OnGetLocal(type));
- CHECK_RESULT(EmitOpcode(Opcode::GetLocal));
+ CHECK_RESULT(typechecker_.OnLocalGet(type));
+ CHECK_RESULT(EmitOpcode(Opcode::LocalGet));
CHECK_RESULT(EmitI32(translated_local_index));
return wabt::Result::Ok;
}
-wabt::Result BinaryReaderInterp::OnSetLocalExpr(Index local_index) {
+wabt::Result BinaryReaderInterp::OnLocalSetExpr(Index local_index) {
CHECK_RESULT(CheckLocal(local_index));
Type type = GetLocalTypeByIndex(current_func_, local_index);
- CHECK_RESULT(typechecker_.OnSetLocal(type));
- CHECK_RESULT(EmitOpcode(Opcode::SetLocal));
+ CHECK_RESULT(typechecker_.OnLocalSet(type));
+ CHECK_RESULT(EmitOpcode(Opcode::LocalSet));
CHECK_RESULT(EmitI32(TranslateLocalIndex(local_index)));
return wabt::Result::Ok;
}
-wabt::Result BinaryReaderInterp::OnTeeLocalExpr(Index local_index) {
+wabt::Result BinaryReaderInterp::OnLocalTeeExpr(Index local_index) {
CHECK_RESULT(CheckLocal(local_index));
Type type = GetLocalTypeByIndex(current_func_, local_index);
- CHECK_RESULT(typechecker_.OnTeeLocal(type));
- CHECK_RESULT(EmitOpcode(Opcode::TeeLocal));
+ CHECK_RESULT(typechecker_.OnLocalTee(type));
+ CHECK_RESULT(EmitOpcode(Opcode::LocalTee));
CHECK_RESULT(EmitI32(TranslateLocalIndex(local_index)));
return wabt::Result::Ok;
}
@@ -1574,12 +1574,12 @@ wabt::Result BinaryReaderInterp::OnAtomicWaitExpr(Opcode opcode,
return wabt::Result::Ok;
}
-wabt::Result BinaryReaderInterp::OnAtomicWakeExpr(Opcode opcode,
- uint32_t alignment_log2,
- Address offset) {
+wabt::Result BinaryReaderInterp::OnAtomicNotifyExpr(Opcode opcode,
+ uint32_t alignment_log2,
+ Address offset) {
CHECK_RESULT(CheckHasMemory(opcode));
CHECK_RESULT(CheckAtomicAlign(alignment_log2, opcode.GetMemorySize()));
- CHECK_RESULT(typechecker_.OnAtomicWake(opcode));
+ CHECK_RESULT(typechecker_.OnAtomicNotify(opcode));
CHECK_RESULT(EmitOpcode(opcode));
CHECK_RESULT(EmitI32(module_->memory_index));
CHECK_RESULT(EmitI32(offset));
diff --git a/src/interp/interp-disassemble.cc b/src/interp/interp-disassemble.cc
index 66921718..d30714f0 100644
--- a/src/interp/interp-disassemble.cc
+++ b/src/interp/interp-disassemble.cc
@@ -94,14 +94,14 @@ void Environment::Disassemble(Stream* stream,
Bitcast<double>(ReadU64(&pc)));
break;
- case Opcode::GetLocal:
- case Opcode::GetGlobal:
+ case Opcode::LocalGet:
+ case Opcode::GlobalGet:
stream->Writef("%s $%u\n", opcode.GetName(), ReadU32(&pc));
break;
- case Opcode::SetLocal:
- case Opcode::SetGlobal:
- case Opcode::TeeLocal:
+ case Opcode::LocalSet:
+ case Opcode::GlobalSet:
+ case Opcode::LocalTee:
stream->Writef("%s $%u, %%[-1]\n", opcode.GetName(), ReadU32(&pc));
break;
@@ -150,7 +150,7 @@ void Environment::Disassemble(Stream* stream,
break;
}
- case Opcode::AtomicWake:
+ case Opcode::AtomicNotify:
case Opcode::I32AtomicStore:
case Opcode::I64AtomicStore:
case Opcode::I32AtomicStore8:
@@ -160,46 +160,46 @@ void Environment::Disassemble(Stream* stream,
case Opcode::I64AtomicStore32:
case Opcode::I32AtomicRmwAdd:
case Opcode::I64AtomicRmwAdd:
- case Opcode::I32AtomicRmw8UAdd:
- case Opcode::I32AtomicRmw16UAdd:
- case Opcode::I64AtomicRmw8UAdd:
- case Opcode::I64AtomicRmw16UAdd:
- case Opcode::I64AtomicRmw32UAdd:
+ case Opcode::I32AtomicRmw8AddU:
+ case Opcode::I32AtomicRmw16AddU:
+ case Opcode::I64AtomicRmw8AddU:
+ case Opcode::I64AtomicRmw16AddU:
+ case Opcode::I64AtomicRmw32AddU:
case Opcode::I32AtomicRmwSub:
case Opcode::I64AtomicRmwSub:
- case Opcode::I32AtomicRmw8USub:
- case Opcode::I32AtomicRmw16USub:
- case Opcode::I64AtomicRmw8USub:
- case Opcode::I64AtomicRmw16USub:
- case Opcode::I64AtomicRmw32USub:
+ case Opcode::I32AtomicRmw8SubU:
+ case Opcode::I32AtomicRmw16SubU:
+ case Opcode::I64AtomicRmw8SubU:
+ case Opcode::I64AtomicRmw16SubU:
+ case Opcode::I64AtomicRmw32SubU:
case Opcode::I32AtomicRmwAnd:
case Opcode::I64AtomicRmwAnd:
- case Opcode::I32AtomicRmw8UAnd:
- case Opcode::I32AtomicRmw16UAnd:
- case Opcode::I64AtomicRmw8UAnd:
- case Opcode::I64AtomicRmw16UAnd:
- case Opcode::I64AtomicRmw32UAnd:
+ case Opcode::I32AtomicRmw8AndU:
+ case Opcode::I32AtomicRmw16AndU:
+ case Opcode::I64AtomicRmw8AndU:
+ case Opcode::I64AtomicRmw16AndU:
+ case Opcode::I64AtomicRmw32AndU:
case Opcode::I32AtomicRmwOr:
case Opcode::I64AtomicRmwOr:
- case Opcode::I32AtomicRmw8UOr:
- case Opcode::I32AtomicRmw16UOr:
- case Opcode::I64AtomicRmw8UOr:
- case Opcode::I64AtomicRmw16UOr:
- case Opcode::I64AtomicRmw32UOr:
+ case Opcode::I32AtomicRmw8OrU:
+ case Opcode::I32AtomicRmw16OrU:
+ case Opcode::I64AtomicRmw8OrU:
+ case Opcode::I64AtomicRmw16OrU:
+ case Opcode::I64AtomicRmw32OrU:
case Opcode::I32AtomicRmwXor:
case Opcode::I64AtomicRmwXor:
- case Opcode::I32AtomicRmw8UXor:
- case Opcode::I32AtomicRmw16UXor:
- case Opcode::I64AtomicRmw8UXor:
- case Opcode::I64AtomicRmw16UXor:
- case Opcode::I64AtomicRmw32UXor:
+ case Opcode::I32AtomicRmw8XorU:
+ case Opcode::I32AtomicRmw16XorU:
+ case Opcode::I64AtomicRmw8XorU:
+ case Opcode::I64AtomicRmw16XorU:
+ case Opcode::I64AtomicRmw32XorU:
case Opcode::I32AtomicRmwXchg:
case Opcode::I64AtomicRmwXchg:
- case Opcode::I32AtomicRmw8UXchg:
- case Opcode::I32AtomicRmw16UXchg:
- case Opcode::I64AtomicRmw8UXchg:
- case Opcode::I64AtomicRmw16UXchg:
- case Opcode::I64AtomicRmw32UXchg:
+ case Opcode::I32AtomicRmw8XchgU:
+ case Opcode::I32AtomicRmw16XchgU:
+ case Opcode::I64AtomicRmw8XchgU:
+ case Opcode::I64AtomicRmw16XchgU:
+ case Opcode::I64AtomicRmw32XchgU:
case Opcode::I32Store8:
case Opcode::I32Store16:
case Opcode::I32Store:
@@ -220,11 +220,11 @@ void Environment::Disassemble(Stream* stream,
case Opcode::I64AtomicWait:
case Opcode::I32AtomicRmwCmpxchg:
case Opcode::I64AtomicRmwCmpxchg:
- case Opcode::I32AtomicRmw8UCmpxchg:
- case Opcode::I32AtomicRmw16UCmpxchg:
- case Opcode::I64AtomicRmw8UCmpxchg:
- case Opcode::I64AtomicRmw16UCmpxchg:
- case Opcode::I64AtomicRmw32UCmpxchg: {
+ case Opcode::I32AtomicRmw8CmpxchgU:
+ case Opcode::I32AtomicRmw16CmpxchgU:
+ case Opcode::I64AtomicRmw8CmpxchgU:
+ case Opcode::I64AtomicRmw16CmpxchgU:
+ case Opcode::I64AtomicRmw32CmpxchgU: {
const Index memory_index = ReadU32(&pc);
stream->Writef("%s $%" PRIindex ":%%[-3]+$%u, %%[-2], %%[-1]\n",
opcode.GetName(), memory_index, ReadU32(&pc));
@@ -420,39 +420,39 @@ void Environment::Disassemble(Stream* stream,
case Opcode::F64Trunc:
case Opcode::F64Nearest:
case Opcode::F64Sqrt:
- case Opcode::I32TruncSF32:
- case Opcode::I32TruncUF32:
- case Opcode::I64TruncSF32:
- case Opcode::I64TruncUF32:
+ case Opcode::I32TruncF32S:
+ case Opcode::I32TruncF32U:
+ case Opcode::I64TruncF32S:
+ case Opcode::I64TruncF32U:
case Opcode::F64PromoteF32:
case Opcode::I32ReinterpretF32:
- case Opcode::I32TruncSF64:
- case Opcode::I32TruncUF64:
- case Opcode::I64TruncSF64:
- case Opcode::I64TruncUF64:
+ case Opcode::I32TruncF64S:
+ case Opcode::I32TruncF64U:
+ case Opcode::I64TruncF64S:
+ case Opcode::I64TruncF64U:
case Opcode::F32DemoteF64:
case Opcode::I64ReinterpretF64:
case Opcode::I32WrapI64:
- case Opcode::F32ConvertSI64:
- case Opcode::F32ConvertUI64:
- case Opcode::F64ConvertSI64:
- case Opcode::F64ConvertUI64:
+ case Opcode::F32ConvertI64S:
+ case Opcode::F32ConvertI64U:
+ case Opcode::F64ConvertI64S:
+ case Opcode::F64ConvertI64U:
case Opcode::F64ReinterpretI64:
- case Opcode::I64ExtendSI32:
- case Opcode::I64ExtendUI32:
- case Opcode::F32ConvertSI32:
- case Opcode::F32ConvertUI32:
+ case Opcode::I64ExtendI32S:
+ case Opcode::I64ExtendI32U:
+ case Opcode::F32ConvertI32S:
+ case Opcode::F32ConvertI32U:
case Opcode::F32ReinterpretI32:
- case Opcode::F64ConvertSI32:
- case Opcode::F64ConvertUI32:
- case Opcode::I32TruncSSatF32:
- case Opcode::I32TruncUSatF32:
- case Opcode::I64TruncSSatF32:
- case Opcode::I64TruncUSatF32:
- case Opcode::I32TruncSSatF64:
- case Opcode::I32TruncUSatF64:
- case Opcode::I64TruncSSatF64:
- case Opcode::I64TruncUSatF64:
+ case Opcode::F64ConvertI32S:
+ case Opcode::F64ConvertI32U:
+ case Opcode::I32TruncSatF32S:
+ case Opcode::I32TruncSatF32U:
+ case Opcode::I64TruncSatF32S:
+ case Opcode::I64TruncSatF32U:
+ case Opcode::I32TruncSatF64S:
+ case Opcode::I32TruncSatF64U:
+ case Opcode::I64TruncSatF64S:
+ case Opcode::I64TruncSatF64U:
case Opcode::I32Extend16S:
case Opcode::I32Extend8S:
case Opcode::I64Extend16S:
@@ -483,14 +483,14 @@ void Environment::Disassemble(Stream* stream,
case Opcode::F64X2Abs:
case Opcode::F32X4Sqrt:
case Opcode::F64X2Sqrt:
- case Opcode::F32X4ConvertSI32X4:
- case Opcode::F32X4ConvertUI32X4:
- case Opcode::F64X2ConvertSI64X2:
- case Opcode::F64X2ConvertUI64X2:
- case Opcode::I32X4TruncSF32X4Sat:
- case Opcode::I32X4TruncUF32X4Sat:
- case Opcode::I64X2TruncSF64X2Sat:
- case Opcode::I64X2TruncUF64X2Sat:
+ case Opcode::F32X4ConvertI32X4S:
+ case Opcode::F32X4ConvertI32X4U:
+ case Opcode::F64X2ConvertI64X2S:
+ case Opcode::F64X2ConvertI64X2U:
+ case Opcode::I32X4TruncSatF32X4S:
+ case Opcode::I32X4TruncSatF32X4U:
+ case Opcode::I64X2TruncSatF64X2S:
+ case Opcode::I64X2TruncSatF64X2U:
stream->Writef("%s %%[-1]\n", opcode.GetName());
break;
diff --git a/src/interp/interp-trace.cc b/src/interp/interp-trace.cc
index d575441f..8bdfe016 100644
--- a/src/interp/interp-trace.cc
+++ b/src/interp/interp-trace.cc
@@ -89,14 +89,14 @@ void Thread::Trace(Stream* stream) {
Bitcast<double>(ReadU64At(pc)));
break;
- case Opcode::GetLocal:
- case Opcode::GetGlobal:
+ case Opcode::LocalGet:
+ case Opcode::GlobalGet:
stream->Writef("%s $%u\n", opcode.GetName(), ReadU32At(pc));
break;
- case Opcode::SetLocal:
- case Opcode::SetGlobal:
- case Opcode::TeeLocal:
+ case Opcode::LocalSet:
+ case Opcode::GlobalSet:
+ case Opcode::LocalTee:
stream->Writef("%s $%u, %u\n", opcode.GetName(), ReadU32At(pc),
Top().i32);
break;
@@ -144,27 +144,27 @@ void Thread::Trace(Stream* stream) {
break;
}
- case Opcode::AtomicWake:
+ case Opcode::AtomicNotify:
case Opcode::I32AtomicStore:
case Opcode::I32AtomicStore8:
case Opcode::I32AtomicStore16:
- case Opcode::I32AtomicRmw8UAdd:
- case Opcode::I32AtomicRmw16UAdd:
+ case Opcode::I32AtomicRmw8AddU:
+ case Opcode::I32AtomicRmw16AddU:
case Opcode::I32AtomicRmwAdd:
- case Opcode::I32AtomicRmw8USub:
- case Opcode::I32AtomicRmw16USub:
+ case Opcode::I32AtomicRmw8SubU:
+ case Opcode::I32AtomicRmw16SubU:
case Opcode::I32AtomicRmwSub:
- case Opcode::I32AtomicRmw8UAnd:
- case Opcode::I32AtomicRmw16UAnd:
+ case Opcode::I32AtomicRmw8AndU:
+ case Opcode::I32AtomicRmw16AndU:
case Opcode::I32AtomicRmwAnd:
- case Opcode::I32AtomicRmw8UOr:
- case Opcode::I32AtomicRmw16UOr:
+ case Opcode::I32AtomicRmw8OrU:
+ case Opcode::I32AtomicRmw16OrU:
case Opcode::I32AtomicRmwOr:
- case Opcode::I32AtomicRmw8UXor:
- case Opcode::I32AtomicRmw16UXor:
+ case Opcode::I32AtomicRmw8XorU:
+ case Opcode::I32AtomicRmw16XorU:
case Opcode::I32AtomicRmwXor:
- case Opcode::I32AtomicRmw8UXchg:
- case Opcode::I32AtomicRmw16UXchg:
+ case Opcode::I32AtomicRmw8XchgU:
+ case Opcode::I32AtomicRmw16XchgU:
case Opcode::I32AtomicRmwXchg:
case Opcode::I32Store8:
case Opcode::I32Store16:
@@ -176,8 +176,8 @@ void Thread::Trace(Stream* stream) {
}
case Opcode::I32AtomicRmwCmpxchg:
- case Opcode::I32AtomicRmw8UCmpxchg:
- case Opcode::I32AtomicRmw16UCmpxchg: {
+ case Opcode::I32AtomicRmw8CmpxchgU:
+ case Opcode::I32AtomicRmw16CmpxchgU: {
const Index memory_index = ReadU32(&pc);
stream->Writef("%s $%" PRIindex ":%u+$%u, %u, %u\n", opcode.GetName(),
memory_index, Pick(3).i32, ReadU32At(pc), Pick(2).i32,
@@ -189,29 +189,29 @@ void Thread::Trace(Stream* stream) {
case Opcode::I64AtomicStore16:
case Opcode::I64AtomicStore32:
case Opcode::I64AtomicStore:
- case Opcode::I64AtomicRmw8UAdd:
- case Opcode::I64AtomicRmw16UAdd:
- case Opcode::I64AtomicRmw32UAdd:
+ case Opcode::I64AtomicRmw8AddU:
+ case Opcode::I64AtomicRmw16AddU:
+ case Opcode::I64AtomicRmw32AddU:
case Opcode::I64AtomicRmwAdd:
- case Opcode::I64AtomicRmw8USub:
- case Opcode::I64AtomicRmw16USub:
- case Opcode::I64AtomicRmw32USub:
+ case Opcode::I64AtomicRmw8SubU:
+ case Opcode::I64AtomicRmw16SubU:
+ case Opcode::I64AtomicRmw32SubU:
case Opcode::I64AtomicRmwSub:
- case Opcode::I64AtomicRmw8UAnd:
- case Opcode::I64AtomicRmw16UAnd:
- case Opcode::I64AtomicRmw32UAnd:
+ case Opcode::I64AtomicRmw8AndU:
+ case Opcode::I64AtomicRmw16AndU:
+ case Opcode::I64AtomicRmw32AndU:
case Opcode::I64AtomicRmwAnd:
- case Opcode::I64AtomicRmw8UOr:
- case Opcode::I64AtomicRmw16UOr:
- case Opcode::I64AtomicRmw32UOr:
+ case Opcode::I64AtomicRmw8OrU:
+ case Opcode::I64AtomicRmw16OrU:
+ case Opcode::I64AtomicRmw32OrU:
case Opcode::I64AtomicRmwOr:
- case Opcode::I64AtomicRmw8UXor:
- case Opcode::I64AtomicRmw16UXor:
- case Opcode::I64AtomicRmw32UXor:
+ case Opcode::I64AtomicRmw8XorU:
+ case Opcode::I64AtomicRmw16XorU:
+ case Opcode::I64AtomicRmw32XorU:
case Opcode::I64AtomicRmwXor:
- case Opcode::I64AtomicRmw8UXchg:
- case Opcode::I64AtomicRmw16UXchg:
- case Opcode::I64AtomicRmw32UXchg:
+ case Opcode::I64AtomicRmw8XchgU:
+ case Opcode::I64AtomicRmw16XchgU:
+ case Opcode::I64AtomicRmw32XchgU:
case Opcode::I64AtomicRmwXchg:
case Opcode::I64Store8:
case Opcode::I64Store16:
@@ -234,9 +234,9 @@ void Thread::Trace(Stream* stream) {
case Opcode::I64AtomicWait:
case Opcode::I64AtomicRmwCmpxchg:
- case Opcode::I64AtomicRmw8UCmpxchg:
- case Opcode::I64AtomicRmw16UCmpxchg:
- case Opcode::I64AtomicRmw32UCmpxchg: {
+ case Opcode::I64AtomicRmw8CmpxchgU:
+ case Opcode::I64AtomicRmw16CmpxchgU:
+ case Opcode::I64AtomicRmw32CmpxchgU: {
const Index memory_index = ReadU32(&pc);
stream->Writef("%s $%" PRIindex ":%u+$%u, %" PRIu64 ", %" PRIu64 "\n",
opcode.GetName(), memory_index, Pick(3).i32, ReadU32At(pc),
@@ -413,48 +413,48 @@ void Thread::Trace(Stream* stream) {
stream->Writef("%s %g\n", opcode.GetName(), Bitcast<double>(Top().i64));
break;
- case Opcode::I32TruncSF32:
- case Opcode::I32TruncUF32:
- case Opcode::I64TruncSF32:
- case Opcode::I64TruncUF32:
+ case Opcode::I32TruncF32S:
+ case Opcode::I32TruncF32U:
+ case Opcode::I64TruncF32S:
+ case Opcode::I64TruncF32U:
case Opcode::F64PromoteF32:
case Opcode::I32ReinterpretF32:
- case Opcode::I32TruncSSatF32:
- case Opcode::I32TruncUSatF32:
- case Opcode::I64TruncSSatF32:
- case Opcode::I64TruncUSatF32:
+ case Opcode::I32TruncSatF32S:
+ case Opcode::I32TruncSatF32U:
+ case Opcode::I64TruncSatF32S:
+ case Opcode::I64TruncSatF32U:
stream->Writef("%s %g\n", opcode.GetName(), Bitcast<float>(Top().i32));
break;
- case Opcode::I32TruncSF64:
- case Opcode::I32TruncUF64:
- case Opcode::I64TruncSF64:
- case Opcode::I64TruncUF64:
+ case Opcode::I32TruncF64S:
+ case Opcode::I32TruncF64U:
+ case Opcode::I64TruncF64S:
+ case Opcode::I64TruncF64U:
case Opcode::F32DemoteF64:
case Opcode::I64ReinterpretF64:
- case Opcode::I32TruncSSatF64:
- case Opcode::I32TruncUSatF64:
- case Opcode::I64TruncSSatF64:
- case Opcode::I64TruncUSatF64:
+ case Opcode::I32TruncSatF64S:
+ case Opcode::I32TruncSatF64U:
+ case Opcode::I64TruncSatF64S:
+ case Opcode::I64TruncSatF64U:
stream->Writef("%s %g\n", opcode.GetName(), Bitcast<double>(Top().i64));
break;
case Opcode::I32WrapI64:
- case Opcode::F32ConvertSI64:
- case Opcode::F32ConvertUI64:
- case Opcode::F64ConvertSI64:
- case Opcode::F64ConvertUI64:
+ case Opcode::F32ConvertI64S:
+ case Opcode::F32ConvertI64U:
+ case Opcode::F64ConvertI64S:
+ case Opcode::F64ConvertI64U:
case Opcode::F64ReinterpretI64:
stream->Writef("%s %" PRIu64 "\n", opcode.GetName(), Top().i64);
break;
- case Opcode::I64ExtendSI32:
- case Opcode::I64ExtendUI32:
- case Opcode::F32ConvertSI32:
- case Opcode::F32ConvertUI32:
+ case Opcode::I64ExtendI32S:
+ case Opcode::I64ExtendI32U:
+ case Opcode::F32ConvertI32S:
+ case Opcode::F32ConvertI32U:
case Opcode::F32ReinterpretI32:
- case Opcode::F64ConvertSI32:
- case Opcode::F64ConvertUI32:
+ case Opcode::F64ConvertI32S:
+ case Opcode::F64ConvertI32U:
stream->Writef("%s %u\n", opcode.GetName(), Top().i32);
break;
@@ -498,14 +498,14 @@ void Thread::Trace(Stream* stream) {
case Opcode::F64X2Abs:
case Opcode::F32X4Sqrt:
case Opcode::F64X2Sqrt:
- case Opcode::F32X4ConvertSI32X4:
- case Opcode::F32X4ConvertUI32X4:
- case Opcode::F64X2ConvertSI64X2:
- case Opcode::F64X2ConvertUI64X2:
- case Opcode::I32X4TruncSF32X4Sat:
- case Opcode::I32X4TruncUF32X4Sat:
- case Opcode::I64X2TruncSF64X2Sat:
- case Opcode::I64X2TruncUF64X2Sat: {
+ case Opcode::F32X4ConvertI32X4S:
+ case Opcode::F32X4ConvertI32X4U:
+ case Opcode::F64X2ConvertI64X2S:
+ case Opcode::F64X2ConvertI64X2U:
+ case Opcode::I32X4TruncSatF32X4S:
+ case Opcode::I32X4TruncSatF32X4U:
+ case Opcode::I64X2TruncSatF64X2S:
+ case Opcode::I64X2TruncSatF64X2U: {
stream->Writef("%s $0x%08x 0x%08x 0x%08x 0x%08x\n", opcode.GetName(),
Top().v128_bits.v[0], Top().v128_bits.v[1],
Top().v128_bits.v[2], Top().v128_bits.v[3]);
diff --git a/src/interp/interp.cc b/src/interp/interp.cc
index afdc23ee..20711305 100644
--- a/src/interp/interp.cc
+++ b/src/interp/interp.cc
@@ -1575,33 +1575,33 @@ Result Thread::Run(int num_instructions) {
CHECK_TRAP(PushRep<double>(ReadU64(&pc)));
break;
- case Opcode::GetGlobal: {
+ case Opcode::GlobalGet: {
Index index = ReadU32(&pc);
assert(index < env_->globals_.size());
CHECK_TRAP(Push(env_->globals_[index].typed_value.value));
break;
}
- case Opcode::SetGlobal: {
+ case Opcode::GlobalSet: {
Index index = ReadU32(&pc);
assert(index < env_->globals_.size());
env_->globals_[index].typed_value.value = Pop();
break;
}
- case Opcode::GetLocal: {
+ case Opcode::LocalGet: {
Value value = Pick(ReadU32(&pc));
CHECK_TRAP(Push(value));
break;
}
- case Opcode::SetLocal: {
+ case Opcode::LocalSet: {
Value value = Pop();
Pick(ReadU32(&pc)) = value;
break;
}
- case Opcode::TeeLocal:
+ case Opcode::LocalTee:
Pick(ReadU32(&pc)) = Top();
break;
@@ -1824,19 +1824,19 @@ Result Thread::Run(int num_instructions) {
case Opcode::I64AtomicRmw##rmwop: \
CHECK_TRAP(AtomicRmw<uint64_t, uint64_t>(func<uint64_t>, &pc)); \
break; \
- case Opcode::I32AtomicRmw8U##rmwop: \
+ case Opcode::I32AtomicRmw8##rmwop##U: \
CHECK_TRAP(AtomicRmw<uint8_t, uint32_t>(func<uint32_t>, &pc)); \
break; \
- case Opcode::I32AtomicRmw16U##rmwop: \
+ case Opcode::I32AtomicRmw16##rmwop##U: \
CHECK_TRAP(AtomicRmw<uint16_t, uint32_t>(func<uint32_t>, &pc)); \
break; \
- case Opcode::I64AtomicRmw8U##rmwop: \
+ case Opcode::I64AtomicRmw8##rmwop##U: \
CHECK_TRAP(AtomicRmw<uint8_t, uint64_t>(func<uint64_t>, &pc)); \
break; \
- case Opcode::I64AtomicRmw16U##rmwop: \
+ case Opcode::I64AtomicRmw16##rmwop##U: \
CHECK_TRAP(AtomicRmw<uint16_t, uint64_t>(func<uint64_t>, &pc)); \
break; \
- case Opcode::I64AtomicRmw32U##rmwop: \
+ case Opcode::I64AtomicRmw32##rmwop##U: \
CHECK_TRAP(AtomicRmw<uint32_t, uint64_t>(func<uint64_t>, &pc)); \
break /* no semicolon */
@@ -1857,23 +1857,23 @@ Result Thread::Run(int num_instructions) {
CHECK_TRAP(AtomicRmwCmpxchg<uint64_t, uint64_t>(&pc));
break;
- case Opcode::I32AtomicRmw8UCmpxchg:
+ case Opcode::I32AtomicRmw8CmpxchgU:
CHECK_TRAP(AtomicRmwCmpxchg<uint8_t, uint32_t>(&pc));
break;
- case Opcode::I32AtomicRmw16UCmpxchg:
+ case Opcode::I32AtomicRmw16CmpxchgU:
CHECK_TRAP(AtomicRmwCmpxchg<uint16_t, uint32_t>(&pc));
break;
- case Opcode::I64AtomicRmw8UCmpxchg:
+ case Opcode::I64AtomicRmw8CmpxchgU:
CHECK_TRAP(AtomicRmwCmpxchg<uint8_t, uint64_t>(&pc));
break;
- case Opcode::I64AtomicRmw16UCmpxchg:
+ case Opcode::I64AtomicRmw16CmpxchgU:
CHECK_TRAP(AtomicRmwCmpxchg<uint16_t, uint64_t>(&pc));
break;
- case Opcode::I64AtomicRmw32UCmpxchg:
+ case Opcode::I64AtomicRmw32CmpxchgU:
CHECK_TRAP(AtomicRmwCmpxchg<uint32_t, uint64_t>(&pc));
break;
@@ -2270,35 +2270,35 @@ Result Thread::Run(int num_instructions) {
CHECK_TRAP(Binop(Ge<double>));
break;
- case Opcode::I32TruncSF32:
+ case Opcode::I32TruncF32S:
CHECK_TRAP(UnopTrap(IntTrunc<int32_t, float>));
break;
- case Opcode::I32TruncSSatF32:
+ case Opcode::I32TruncSatF32S:
CHECK_TRAP(Unop(IntTruncSat<int32_t, float>));
break;
- case Opcode::I32TruncSF64:
+ case Opcode::I32TruncF64S:
CHECK_TRAP(UnopTrap(IntTrunc<int32_t, double>));
break;
- case Opcode::I32TruncSSatF64:
+ case Opcode::I32TruncSatF64S:
CHECK_TRAP(Unop(IntTruncSat<int32_t, double>));
break;
- case Opcode::I32TruncUF32:
+ case Opcode::I32TruncF32U:
CHECK_TRAP(UnopTrap(IntTrunc<uint32_t, float>));
break;
- case Opcode::I32TruncUSatF32:
+ case Opcode::I32TruncSatF32U:
CHECK_TRAP(Unop(IntTruncSat<uint32_t, float>));
break;
- case Opcode::I32TruncUF64:
+ case Opcode::I32TruncF64U:
CHECK_TRAP(UnopTrap(IntTrunc<uint32_t, double>));
break;
- case Opcode::I32TruncUSatF64:
+ case Opcode::I32TruncSatF64U:
CHECK_TRAP(Unop(IntTruncSat<uint32_t, double>));
break;
@@ -2306,59 +2306,59 @@ Result Thread::Run(int num_instructions) {
CHECK_TRAP(Push<uint32_t>(Pop<uint64_t>()));
break;
- case Opcode::I64TruncSF32:
+ case Opcode::I64TruncF32S:
CHECK_TRAP(UnopTrap(IntTrunc<int64_t, float>));
break;
- case Opcode::I64TruncSSatF32:
+ case Opcode::I64TruncSatF32S:
CHECK_TRAP(Unop(IntTruncSat<int64_t, float>));
break;
- case Opcode::I64TruncSF64:
+ case Opcode::I64TruncF64S:
CHECK_TRAP(UnopTrap(IntTrunc<int64_t, double>));
break;
- case Opcode::I64TruncSSatF64:
+ case Opcode::I64TruncSatF64S:
CHECK_TRAP(Unop(IntTruncSat<int64_t, double>));
break;
- case Opcode::I64TruncUF32:
+ case Opcode::I64TruncF32U:
CHECK_TRAP(UnopTrap(IntTrunc<uint64_t, float>));
break;
- case Opcode::I64TruncUSatF32:
+ case Opcode::I64TruncSatF32U:
CHECK_TRAP(Unop(IntTruncSat<uint64_t, float>));
break;
- case Opcode::I64TruncUF64:
+ case Opcode::I64TruncF64U:
CHECK_TRAP(UnopTrap(IntTrunc<uint64_t, double>));
break;
- case Opcode::I64TruncUSatF64:
+ case Opcode::I64TruncSatF64U:
CHECK_TRAP(Unop(IntTruncSat<uint64_t, double>));
break;
- case Opcode::I64ExtendSI32:
+ case Opcode::I64ExtendI32S:
CHECK_TRAP(Push<uint64_t>(Pop<int32_t>()));
break;
- case Opcode::I64ExtendUI32:
+ case Opcode::I64ExtendI32U:
CHECK_TRAP(Push<uint64_t>(Pop<uint32_t>()));
break;
- case Opcode::F32ConvertSI32:
+ case Opcode::F32ConvertI32S:
CHECK_TRAP(Push<float>(Pop<int32_t>()));
break;
- case Opcode::F32ConvertUI32:
+ case Opcode::F32ConvertI32U:
CHECK_TRAP(Push<float>(Pop<uint32_t>()));
break;
- case Opcode::F32ConvertSI64:
+ case Opcode::F32ConvertI64S:
CHECK_TRAP(Push<float>(Pop<int64_t>()));
break;
- case Opcode::F32ConvertUI64:
+ case Opcode::F32ConvertI64U:
CHECK_TRAP(Push<float>(wabt_convert_uint64_to_float(Pop<uint64_t>())));
break;
@@ -2390,19 +2390,19 @@ Result Thread::Run(int num_instructions) {
CHECK_TRAP(PushRep<float>(Pop<uint32_t>()));
break;
- case Opcode::F64ConvertSI32:
+ case Opcode::F64ConvertI32S:
CHECK_TRAP(Push<double>(Pop<int32_t>()));
break;
- case Opcode::F64ConvertUI32:
+ case Opcode::F64ConvertI32U:
CHECK_TRAP(Push<double>(Pop<uint32_t>()));
break;
- case Opcode::F64ConvertSI64:
+ case Opcode::F64ConvertI64S:
CHECK_TRAP(Push<double>(Pop<int64_t>()));
break;
- case Opcode::F64ConvertUI64:
+ case Opcode::F64ConvertI64U:
CHECK_TRAP(
Push<double>(wabt_convert_uint64_to_double(Pop<uint64_t>())));
break;
@@ -2496,7 +2496,7 @@ Result Thread::Run(int num_instructions) {
case Opcode::I32AtomicWait:
case Opcode::I64AtomicWait:
- case Opcode::AtomicWake:
+ case Opcode::AtomicNotify:
// TODO(binji): Implement.
TRAP(Unreachable);
break;
@@ -3208,35 +3208,35 @@ Result Thread::Run(int num_instructions) {
CHECK_TRAP(SimdUnop<v128, int64_t>(FloatSqrt<double>));
break;
- case Opcode::F32X4ConvertSI32X4:
+ case Opcode::F32X4ConvertI32X4S:
CHECK_TRAP(SimdUnop<v128, int32_t>(SimdConvert<float, int32_t>));
break;
- case Opcode::F32X4ConvertUI32X4:
+ case Opcode::F32X4ConvertI32X4U:
CHECK_TRAP(SimdUnop<v128, uint32_t>(SimdConvert<float, uint32_t>));
break;
- case Opcode::F64X2ConvertSI64X2:
+ case Opcode::F64X2ConvertI64X2S:
CHECK_TRAP(SimdUnop<v128, int64_t>(SimdConvert<double, int64_t>));
break;
- case Opcode::F64X2ConvertUI64X2:
+ case Opcode::F64X2ConvertI64X2U:
CHECK_TRAP(SimdUnop<v128, uint64_t>(SimdConvert<double, uint64_t>));
break;
- case Opcode::I32X4TruncSF32X4Sat:
+ case Opcode::I32X4TruncSatF32X4S:
CHECK_TRAP(SimdUnop<v128, int32_t>(IntTruncSat<int32_t, float>));
break;
- case Opcode::I32X4TruncUF32X4Sat:
+ case Opcode::I32X4TruncSatF32X4U:
CHECK_TRAP(SimdUnop<v128, uint32_t>(IntTruncSat<uint32_t, float>));
break;
- case Opcode::I64X2TruncSF64X2Sat:
+ case Opcode::I64X2TruncSatF64X2S:
CHECK_TRAP(SimdUnop<v128, int64_t>(IntTruncSat<int64_t, double>));
break;
- case Opcode::I64X2TruncUF64X2Sat:
+ case Opcode::I64X2TruncSatF64X2U:
CHECK_TRAP(SimdUnop<v128, uint64_t>(IntTruncSat<uint64_t, double>));
break;
diff --git a/src/ir.cc b/src/ir.cc
index 52bea0cc..2cb44a8b 100644
--- a/src/ir.cc
+++ b/src/ir.cc
@@ -29,8 +29,8 @@ const char* ExprTypeName[] = {
"AtomicRmw",
"AtomicRmwCmpxchg",
"AtomicStore",
+ "AtomicNotify",
"AtomicWait",
- "AtomicWake",
"Binary",
"Block",
"Br",
@@ -42,11 +42,14 @@ const char* ExprTypeName[] = {
"Const",
"Convert",
"Drop",
- "GetGlobal",
- "GetLocal",
+ "GlobalGet",
+ "GlobalSet",
"If",
"IfExcept",
"Load",
+ "LocalGet",
+ "LocalSet",
+ "LocalTee",
"Loop",
"MemoryCopy",
"MemoryDrop",
@@ -60,15 +63,12 @@ const char* ExprTypeName[] = {
"ReturnCall",
"ReturnCallIndirect",
"Select",
- "SetGlobal",
- "SetLocal",
"SimdLaneOp",
"SimdShuffleOp",
"Store",
- "TableInit",
"TableCopy",
"TableDrop",
- "TeeLocal",
+ "TableInit",
"Ternary",
"Throw",
"Try",
diff --git a/src/ir.h b/src/ir.h
index 9aec0da3..b50fffe8 100644
--- a/src/ir.h
+++ b/src/ir.h
@@ -160,8 +160,8 @@ enum class ExprType {
AtomicRmw,
AtomicRmwCmpxchg,
AtomicStore,
+ AtomicNotify,
AtomicWait,
- AtomicWake,
Binary,
Block,
Br,
@@ -173,11 +173,14 @@ enum class ExprType {
Const,
Convert,
Drop,
- GetGlobal,
- GetLocal,
+ GlobalGet,
+ GlobalSet,
If,
IfExcept,
Load,
+ LocalGet,
+ LocalSet,
+ LocalTee,
Loop,
MemoryCopy,
MemoryDrop,
@@ -191,15 +194,12 @@ enum class ExprType {
ReturnCall,
ReturnCallIndirect,
Select,
- SetGlobal,
- SetLocal,
SimdLaneOp,
SimdShuffleOp,
Store,
- TableInit,
TableCopy,
TableDrop,
- TeeLocal,
+ TableInit,
Ternary,
Throw,
Try,
@@ -311,12 +311,12 @@ class VarExpr : public ExprMixin<TypeEnum> {
typedef VarExpr<ExprType::Br> BrExpr;
typedef VarExpr<ExprType::BrIf> BrIfExpr;
typedef VarExpr<ExprType::Call> CallExpr;
-typedef VarExpr<ExprType::GetGlobal> GetGlobalExpr;
-typedef VarExpr<ExprType::GetLocal> GetLocalExpr;
+typedef VarExpr<ExprType::GlobalGet> GlobalGetExpr;
+typedef VarExpr<ExprType::GlobalSet> GlobalSetExpr;
+typedef VarExpr<ExprType::LocalGet> LocalGetExpr;
+typedef VarExpr<ExprType::LocalSet> LocalSetExpr;
+typedef VarExpr<ExprType::LocalTee> LocalTeeExpr;
typedef VarExpr<ExprType::ReturnCall> ReturnCallExpr;
-typedef VarExpr<ExprType::SetGlobal> SetGlobalExpr;
-typedef VarExpr<ExprType::SetLocal> SetLocalExpr;
-typedef VarExpr<ExprType::TeeLocal> TeeLocalExpr;
typedef VarExpr<ExprType::Throw> ThrowExpr;
typedef VarExpr<ExprType::MemoryInit> MemoryInitExpr;
@@ -423,7 +423,7 @@ typedef LoadStoreExpr<ExprType::AtomicStore> AtomicStoreExpr;
typedef LoadStoreExpr<ExprType::AtomicRmw> AtomicRmwExpr;
typedef LoadStoreExpr<ExprType::AtomicRmwCmpxchg> AtomicRmwCmpxchgExpr;
typedef LoadStoreExpr<ExprType::AtomicWait> AtomicWaitExpr;
-typedef LoadStoreExpr<ExprType::AtomicWake> AtomicWakeExpr;
+typedef LoadStoreExpr<ExprType::AtomicNotify> AtomicNotifyExpr;
struct Exception {
explicit Exception(string_view name) : name(name.to_string()) {}
diff --git a/src/opcode.cc b/src/opcode.cc
index 10df4e2e..b388ed3b 100644
--- a/src/opcode.cc
+++ b/src/opcode.cc
@@ -75,14 +75,14 @@ bool Opcode::IsEnabled(const Features& features) const {
case Opcode::ReturnCall:
return features.tail_call_enabled();
- case Opcode::I32TruncSSatF32:
- case Opcode::I32TruncUSatF32:
- case Opcode::I32TruncSSatF64:
- case Opcode::I32TruncUSatF64:
- case Opcode::I64TruncSSatF32:
- case Opcode::I64TruncUSatF32:
- case Opcode::I64TruncSSatF64:
- case Opcode::I64TruncUSatF64:
+ case Opcode::I32TruncSatF32S:
+ case Opcode::I32TruncSatF32U:
+ case Opcode::I32TruncSatF64S:
+ case Opcode::I32TruncSatF64U:
+ case Opcode::I64TruncSatF32S:
+ case Opcode::I64TruncSatF32U:
+ case Opcode::I64TruncSatF64S:
+ case Opcode::I64TruncSatF64U:
return features.sat_float_to_int_enabled();
case Opcode::I32Extend8S:
@@ -92,7 +92,7 @@ bool Opcode::IsEnabled(const Features& features) const {
case Opcode::I64Extend32S:
return features.sign_extension_enabled();
- case Opcode::AtomicWake:
+ case Opcode::AtomicNotify:
case Opcode::I32AtomicWait:
case Opcode::I64AtomicWait:
case Opcode::I32AtomicLoad:
@@ -111,53 +111,53 @@ bool Opcode::IsEnabled(const Features& features) const {
case Opcode::I64AtomicStore32:
case Opcode::I32AtomicRmwAdd:
case Opcode::I64AtomicRmwAdd:
- case Opcode::I32AtomicRmw8UAdd:
- case Opcode::I32AtomicRmw16UAdd:
- case Opcode::I64AtomicRmw8UAdd:
- case Opcode::I64AtomicRmw16UAdd:
- case Opcode::I64AtomicRmw32UAdd:
+ case Opcode::I32AtomicRmw8AddU:
+ case Opcode::I32AtomicRmw16AddU:
+ case Opcode::I64AtomicRmw8AddU:
+ case Opcode::I64AtomicRmw16AddU:
+ case Opcode::I64AtomicRmw32AddU:
case Opcode::I32AtomicRmwSub:
case Opcode::I64AtomicRmwSub:
- case Opcode::I32AtomicRmw8USub:
- case Opcode::I32AtomicRmw16USub:
- case Opcode::I64AtomicRmw8USub:
- case Opcode::I64AtomicRmw16USub:
- case Opcode::I64AtomicRmw32USub:
+ case Opcode::I32AtomicRmw8SubU:
+ case Opcode::I32AtomicRmw16SubU:
+ case Opcode::I64AtomicRmw8SubU:
+ case Opcode::I64AtomicRmw16SubU:
+ case Opcode::I64AtomicRmw32SubU:
case Opcode::I32AtomicRmwAnd:
case Opcode::I64AtomicRmwAnd:
- case Opcode::I32AtomicRmw8UAnd:
- case Opcode::I32AtomicRmw16UAnd:
- case Opcode::I64AtomicRmw8UAnd:
- case Opcode::I64AtomicRmw16UAnd:
- case Opcode::I64AtomicRmw32UAnd:
+ case Opcode::I32AtomicRmw8AndU:
+ case Opcode::I32AtomicRmw16AndU:
+ case Opcode::I64AtomicRmw8AndU:
+ case Opcode::I64AtomicRmw16AndU:
+ case Opcode::I64AtomicRmw32AndU:
case Opcode::I32AtomicRmwOr:
case Opcode::I64AtomicRmwOr:
- case Opcode::I32AtomicRmw8UOr:
- case Opcode::I32AtomicRmw16UOr:
- case Opcode::I64AtomicRmw8UOr:
- case Opcode::I64AtomicRmw16UOr:
- case Opcode::I64AtomicRmw32UOr:
+ case Opcode::I32AtomicRmw8OrU:
+ case Opcode::I32AtomicRmw16OrU:
+ case Opcode::I64AtomicRmw8OrU:
+ case Opcode::I64AtomicRmw16OrU:
+ case Opcode::I64AtomicRmw32OrU:
case Opcode::I32AtomicRmwXor:
case Opcode::I64AtomicRmwXor:
- case Opcode::I32AtomicRmw8UXor:
- case Opcode::I32AtomicRmw16UXor:
- case Opcode::I64AtomicRmw8UXor:
- case Opcode::I64AtomicRmw16UXor:
- case Opcode::I64AtomicRmw32UXor:
+ case Opcode::I32AtomicRmw8XorU:
+ case Opcode::I32AtomicRmw16XorU:
+ case Opcode::I64AtomicRmw8XorU:
+ case Opcode::I64AtomicRmw16XorU:
+ case Opcode::I64AtomicRmw32XorU:
case Opcode::I32AtomicRmwXchg:
case Opcode::I64AtomicRmwXchg:
- case Opcode::I32AtomicRmw8UXchg:
- case Opcode::I32AtomicRmw16UXchg:
- case Opcode::I64AtomicRmw8UXchg:
- case Opcode::I64AtomicRmw16UXchg:
- case Opcode::I64AtomicRmw32UXchg:
+ case Opcode::I32AtomicRmw8XchgU:
+ case Opcode::I32AtomicRmw16XchgU:
+ case Opcode::I64AtomicRmw8XchgU:
+ case Opcode::I64AtomicRmw16XchgU:
+ case Opcode::I64AtomicRmw32XchgU:
case Opcode::I32AtomicRmwCmpxchg:
case Opcode::I64AtomicRmwCmpxchg:
- case Opcode::I32AtomicRmw8UCmpxchg:
- case Opcode::I32AtomicRmw16UCmpxchg:
- case Opcode::I64AtomicRmw8UCmpxchg:
- case Opcode::I64AtomicRmw16UCmpxchg:
- case Opcode::I64AtomicRmw32UCmpxchg:
+ case Opcode::I32AtomicRmw8CmpxchgU:
+ case Opcode::I32AtomicRmw16CmpxchgU:
+ case Opcode::I64AtomicRmw8CmpxchgU:
+ case Opcode::I64AtomicRmw16CmpxchgU:
+ case Opcode::I64AtomicRmw32CmpxchgU:
return features.threads_enabled();
case Opcode::V128Const:
@@ -292,14 +292,14 @@ bool Opcode::IsEnabled(const Features& features) const {
case Opcode::F64X2Mul:
case Opcode::F32X4Sqrt:
case Opcode::F64X2Sqrt:
- case Opcode::F32X4ConvertSI32X4:
- case Opcode::F32X4ConvertUI32X4:
- case Opcode::F64X2ConvertSI64X2:
- case Opcode::F64X2ConvertUI64X2:
- case Opcode::I32X4TruncSF32X4Sat:
- case Opcode::I32X4TruncUF32X4Sat:
- case Opcode::I64X2TruncSF64X2Sat:
- case Opcode::I64X2TruncUF64X2Sat:
+ case Opcode::F32X4ConvertI32X4S:
+ case Opcode::F32X4ConvertI32X4U:
+ case Opcode::F64X2ConvertI64X2S:
+ case Opcode::F64X2ConvertI64X2U:
+ case Opcode::I32X4TruncSatF32X4S:
+ case Opcode::I32X4TruncSatF32X4U:
+ case Opcode::I64X2TruncSatF64X2S:
+ case Opcode::I64X2TruncSatF64X2U:
return features.simd_enabled();
case Opcode::MemoryInit:
diff --git a/src/opcode.def b/src/opcode.def
index d63b7941..bb65c247 100644
--- a/src/opcode.def
+++ b/src/opcode.def
@@ -56,11 +56,11 @@ WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x12, ReturnCall, "return_call")
WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x13, ReturnCallIndirect, "return_call_indirect")
WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x1a, Drop, "drop")
WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x1b, Select, "select")
-WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x20, GetLocal, "get_local")
-WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x21, SetLocal, "set_local")
-WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x22, TeeLocal, "tee_local")
-WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x23, GetGlobal, "get_global")
-WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x24, SetGlobal, "set_global")
+WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x20, LocalGet, "local.get")
+WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x21, LocalSet, "local.set")
+WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x22, LocalTee, "local.tee")
+WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x23, GlobalGet, "global.get")
+WABT_OPCODE(___, ___, ___, ___, 0, 0, 0x24, GlobalSet, "global.set")
WABT_OPCODE(I32, I32, ___, ___, 4, 0, 0x28, I32Load, "i32.load")
WABT_OPCODE(I64, I32, ___, ___, 8, 0, 0x29, I64Load, "i64.load")
WABT_OPCODE(F32, I32, ___, ___, 4, 0, 0x2a, F32Load, "f32.load")
@@ -188,31 +188,31 @@ WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0xa3, F64Div, "f64.div")
WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0xa4, F64Min, "f64.min")
WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0xa5, F64Max, "f64.max")
WABT_OPCODE(F64, F64, F64, ___, 0, 0, 0xa6, F64Copysign, "f64.copysign")
-WABT_OPCODE(I32, I64, ___, ___, 0, 0, 0xa7, I32WrapI64, "i32.wrap/i64")
-WABT_OPCODE(I32, F32, ___, ___, 0, 0, 0xa8, I32TruncSF32, "i32.trunc_s/f32")
-WABT_OPCODE(I32, F32, ___, ___, 0, 0, 0xa9, I32TruncUF32, "i32.trunc_u/f32")
-WABT_OPCODE(I32, F64, ___, ___, 0, 0, 0xaa, I32TruncSF64, "i32.trunc_s/f64")
-WABT_OPCODE(I32, F64, ___, ___, 0, 0, 0xab, I32TruncUF64, "i32.trunc_u/f64")
-WABT_OPCODE(I64, I32, ___, ___, 0, 0, 0xac, I64ExtendSI32, "i64.extend_s/i32")
-WABT_OPCODE(I64, I32, ___, ___, 0, 0, 0xad, I64ExtendUI32, "i64.extend_u/i32")
-WABT_OPCODE(I64, F32, ___, ___, 0, 0, 0xae, I64TruncSF32, "i64.trunc_s/f32")
-WABT_OPCODE(I64, F32, ___, ___, 0, 0, 0xaf, I64TruncUF32, "i64.trunc_u/f32")
-WABT_OPCODE(I64, F64, ___, ___, 0, 0, 0xb0, I64TruncSF64, "i64.trunc_s/f64")
-WABT_OPCODE(I64, F64, ___, ___, 0, 0, 0xb1, I64TruncUF64, "i64.trunc_u/f64")
-WABT_OPCODE(F32, I32, ___, ___, 0, 0, 0xb2, F32ConvertSI32, "f32.convert_s/i32")
-WABT_OPCODE(F32, I32, ___, ___, 0, 0, 0xb3, F32ConvertUI32, "f32.convert_u/i32")
-WABT_OPCODE(F32, I64, ___, ___, 0, 0, 0xb4, F32ConvertSI64, "f32.convert_s/i64")
-WABT_OPCODE(F32, I64, ___, ___, 0, 0, 0xb5, F32ConvertUI64, "f32.convert_u/i64")
-WABT_OPCODE(F32, F64, ___, ___, 0, 0, 0xb6, F32DemoteF64, "f32.demote/f64")
-WABT_OPCODE(F64, I32, ___, ___, 0, 0, 0xb7, F64ConvertSI32, "f64.convert_s/i32")
-WABT_OPCODE(F64, I32, ___, ___, 0, 0, 0xb8, F64ConvertUI32, "f64.convert_u/i32")
-WABT_OPCODE(F64, I64, ___, ___, 0, 0, 0xb9, F64ConvertSI64, "f64.convert_s/i64")
-WABT_OPCODE(F64, I64, ___, ___, 0, 0, 0xba, F64ConvertUI64, "f64.convert_u/i64")
-WABT_OPCODE(F64, F32, ___, ___, 0, 0, 0xbb, F64PromoteF32, "f64.promote/f32")
-WABT_OPCODE(I32, F32, ___, ___, 0, 0, 0xbc, I32ReinterpretF32, "i32.reinterpret/f32")
-WABT_OPCODE(I64, F64, ___, ___, 0, 0, 0xbd, I64ReinterpretF64, "i64.reinterpret/f64")
-WABT_OPCODE(F32, I32, ___, ___, 0, 0, 0xbe, F32ReinterpretI32, "f32.reinterpret/i32")
-WABT_OPCODE(F64, I64, ___, ___, 0, 0, 0xbf, F64ReinterpretI64, "f64.reinterpret/i64")
+WABT_OPCODE(I32, I64, ___, ___, 0, 0, 0xa7, I32WrapI64, "i32.wrap_i64")
+WABT_OPCODE(I32, F32, ___, ___, 0, 0, 0xa8, I32TruncF32S, "i32.trunc_f32_s")
+WABT_OPCODE(I32, F32, ___, ___, 0, 0, 0xa9, I32TruncF32U, "i32.trunc_f32_u")
+WABT_OPCODE(I32, F64, ___, ___, 0, 0, 0xaa, I32TruncF64S, "i32.trunc_f64_s")
+WABT_OPCODE(I32, F64, ___, ___, 0, 0, 0xab, I32TruncF64U, "i32.trunc_f64_u")
+WABT_OPCODE(I64, I32, ___, ___, 0, 0, 0xac, I64ExtendI32S, "i64.extend_i32_s")
+WABT_OPCODE(I64, I32, ___, ___, 0, 0, 0xad, I64ExtendI32U, "i64.extend_i32_u")
+WABT_OPCODE(I64, F32, ___, ___, 0, 0, 0xae, I64TruncF32S, "i64.trunc_f32_s")
+WABT_OPCODE(I64, F32, ___, ___, 0, 0, 0xaf, I64TruncF32U, "i64.trunc_f32_u")
+WABT_OPCODE(I64, F64, ___, ___, 0, 0, 0xb0, I64TruncF64S, "i64.trunc_f64_s")
+WABT_OPCODE(I64, F64, ___, ___, 0, 0, 0xb1, I64TruncF64U, "i64.trunc_f64_u")
+WABT_OPCODE(F32, I32, ___, ___, 0, 0, 0xb2, F32ConvertI32S, "f32.convert_i32_s")
+WABT_OPCODE(F32, I32, ___, ___, 0, 0, 0xb3, F32ConvertI32U, "f32.convert_i32_u")
+WABT_OPCODE(F32, I64, ___, ___, 0, 0, 0xb4, F32ConvertI64S, "f32.convert_i64_s")
+WABT_OPCODE(F32, I64, ___, ___, 0, 0, 0xb5, F32ConvertI64U, "f32.convert_i64_u")
+WABT_OPCODE(F32, F64, ___, ___, 0, 0, 0xb6, F32DemoteF64, "f32.demote_f64")
+WABT_OPCODE(F64, I32, ___, ___, 0, 0, 0xb7, F64ConvertI32S, "f64.convert_i32_s")
+WABT_OPCODE(F64, I32, ___, ___, 0, 0, 0xb8, F64ConvertI32U, "f64.convert_i32_u")
+WABT_OPCODE(F64, I64, ___, ___, 0, 0, 0xb9, F64ConvertI64S, "f64.convert_i64_s")
+WABT_OPCODE(F64, I64, ___, ___, 0, 0, 0xba, F64ConvertI64U, "f64.convert_i64_u")
+WABT_OPCODE(F64, F32, ___, ___, 0, 0, 0xbb, F64PromoteF32, "f64.promote_f32")
+WABT_OPCODE(I32, F32, ___, ___, 0, 0, 0xbc, I32ReinterpretF32, "i32.reinterpret_f32")
+WABT_OPCODE(I64, F64, ___, ___, 0, 0, 0xbd, I64ReinterpretF64, "i64.reinterpret_f64")
+WABT_OPCODE(F32, I32, ___, ___, 0, 0, 0xbe, F32ReinterpretI32, "f32.reinterpret_i32")
+WABT_OPCODE(F64, I64, ___, ___, 0, 0, 0xbf, F64ReinterpretI64, "f64.reinterpret_i64")
/* Sign-extension opcodes (--enable-sign-extension) */
WABT_OPCODE(I32, I32, ___, ___, 0, 0, 0xC0, I32Extend8S, "i32.extend8_s")
@@ -229,14 +229,14 @@ WABT_OPCODE(___, ___, ___, ___, 0, 0, 0xe3, InterpData, "data")
WABT_OPCODE(___, ___, ___, ___, 0, 0, 0xe4, InterpDropKeep, "drop_keep")
/* Saturating float-to-int opcodes (--enable-saturating-float-to-int) */
-WABT_OPCODE(I32, F32, ___, ___, 0, 0xfc, 0x00, I32TruncSSatF32, "i32.trunc_s:sat/f32")
-WABT_OPCODE(I32, F32, ___, ___, 0, 0xfc, 0x01, I32TruncUSatF32, "i32.trunc_u:sat/f32")
-WABT_OPCODE(I32, F64, ___, ___, 0, 0xfc, 0x02, I32TruncSSatF64, "i32.trunc_s:sat/f64")
-WABT_OPCODE(I32, F64, ___, ___, 0, 0xfc, 0x03, I32TruncUSatF64, "i32.trunc_u:sat/f64")
-WABT_OPCODE(I64, F32, ___, ___, 0, 0xfc, 0x04, I64TruncSSatF32, "i64.trunc_s:sat/f32")
-WABT_OPCODE(I64, F32, ___, ___, 0, 0xfc, 0x05, I64TruncUSatF32, "i64.trunc_u:sat/f32")
-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, F32, ___, ___, 0, 0xfc, 0x00, I32TruncSatF32S, "i32.trunc_sat_f32_s")
+WABT_OPCODE(I32, F32, ___, ___, 0, 0xfc, 0x01, I32TruncSatF32U, "i32.trunc_sat_f32_u")
+WABT_OPCODE(I32, F64, ___, ___, 0, 0xfc, 0x02, I32TruncSatF64S, "i32.trunc_sat_f64_s")
+WABT_OPCODE(I32, F64, ___, ___, 0, 0xfc, 0x03, I32TruncSatF64U, "i32.trunc_sat_f64_u")
+WABT_OPCODE(I64, F32, ___, ___, 0, 0xfc, 0x04, I64TruncSatF32S, "i64.trunc_sat_f32_s")
+WABT_OPCODE(I64, F32, ___, ___, 0, 0xfc, 0x05, I64TruncSatF32U, "i64.trunc_sat_f32_u")
+WABT_OPCODE(I64, F64, ___, ___, 0, 0xfc, 0x06, I64TruncSatF64S, "i64.trunc_sat_f64_s")
+WABT_OPCODE(I64, F64, ___, ___, 0, 0xfc, 0x07, I64TruncSatF64U, "i64.trunc_sat_f64_u")
/* Bulk-memory (--enable-bulk-memory) */
WABT_OPCODE(___, I32, I32, I32, 0, 0xfc, 0x08, MemoryInit, "memory.init")
@@ -380,17 +380,17 @@ WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xa7, F64X2Mul, "f64x2.mul")
WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xa8, F64X2Div, "f64x2.div")
WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xa9, F64X2Min, "f64x2.min")
WABT_OPCODE(V128, V128, V128, ___, 0, 0xfd, 0xaa, F64X2Max, "f64x2.max")
-WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xab, I32X4TruncSF32X4Sat,"i32x4.trunc_s/f32x4:sat")
-WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xac, I32X4TruncUF32X4Sat,"i32x4.trunc_u/f32x4:sat")
-WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xad, I64X2TruncSF64X2Sat,"i64x2.trunc_s/f64x2:sat")
-WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xae, I64X2TruncUF64X2Sat,"i64x2.trunc_u/f64x2:sat")
-WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xaf, F32X4ConvertSI32X4, "f32x4.convert_s/i32x4")
-WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xb0, F32X4ConvertUI32X4, "f32x4.convert_u/i32x4")
-WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xb1, F64X2ConvertSI64X2, "f64x2.convert_s/i64x2")
-WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xb2, F64X2ConvertUI64X2, "f64x2.convert_u/i64x2")
+WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xab, I32X4TruncSatF32X4S,"i32x4.trunc_sat_f32x4_s")
+WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xac, I32X4TruncSatF32X4U,"i32x4.trunc_sat_f32x4_u")
+WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xad, I64X2TruncSatF64X2S,"i64x2.trunc_sat_f64x2_s")
+WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xae, I64X2TruncSatF64X2U,"i64x2.trunc_sat_f64x2_u")
+WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xaf, F32X4ConvertI32X4S, "f32x4.convert_i32x4_s")
+WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xb0, F32X4ConvertI32X4U, "f32x4.convert_i32x4_u")
+WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xb1, F64X2ConvertI64X2S, "f64x2.convert_i64x2_s")
+WABT_OPCODE(V128, V128, ___, ___, 0, 0xfd, 0xb2, F64X2ConvertI64X2U, "f64x2.convert_i64x2_u")
/* Thread opcodes (--enable-threads) */
-WABT_OPCODE(I32, I32, I32, ___, 4, 0xfe, 0x00, AtomicWake, "atomic.wake")
+WABT_OPCODE(I32, I32, I32, ___, 4, 0xfe, 0x00, AtomicNotify, "atomic.notify")
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")
@@ -409,50 +409,50 @@ WABT_OPCODE(___, I32, I64, ___, 2, 0xfe, 0x1c, I64AtomicStore16, "i64.atomi
WABT_OPCODE(___, I32, I64, ___, 4, 0xfe, 0x1d, I64AtomicStore32, "i64.atomic.store32")
WABT_OPCODE(I32, I32, I32, ___, 4, 0xfe, 0x1e, I32AtomicRmwAdd, "i32.atomic.rmw.add")
WABT_OPCODE(I64, I32, I64, ___, 8, 0xfe, 0x1f, I64AtomicRmwAdd, "i64.atomic.rmw.add")
-WABT_OPCODE(I32, I32, I32, ___, 1, 0xfe, 0x20, I32AtomicRmw8UAdd, "i32.atomic.rmw8_u.add")
-WABT_OPCODE(I32, I32, I32, ___, 2, 0xfe, 0x21, I32AtomicRmw16UAdd, "i32.atomic.rmw16_u.add")
-WABT_OPCODE(I64, I32, I64, ___, 1, 0xfe, 0x22, I64AtomicRmw8UAdd, "i64.atomic.rmw8_u.add")
-WABT_OPCODE(I64, I32, I64, ___, 2, 0xfe, 0x23, I64AtomicRmw16UAdd, "i64.atomic.rmw16_u.add")
-WABT_OPCODE(I64, I32, I64, ___, 4, 0xfe, 0x24, I64AtomicRmw32UAdd, "i64.atomic.rmw32_u.add")
+WABT_OPCODE(I32, I32, I32, ___, 1, 0xfe, 0x20, I32AtomicRmw8AddU, "i32.atomic.rmw8.add_u")
+WABT_OPCODE(I32, I32, I32, ___, 2, 0xfe, 0x21, I32AtomicRmw16AddU, "i32.atomic.rmw16.add_u")
+WABT_OPCODE(I64, I32, I64, ___, 1, 0xfe, 0x22, I64AtomicRmw8AddU, "i64.atomic.rmw8.add_u")
+WABT_OPCODE(I64, I32, I64, ___, 2, 0xfe, 0x23, I64AtomicRmw16AddU, "i64.atomic.rmw16.add_u")
+WABT_OPCODE(I64, I32, I64, ___, 4, 0xfe, 0x24, I64AtomicRmw32AddU, "i64.atomic.rmw32.add_u")
WABT_OPCODE(I32, I32, I32, ___, 4, 0xfe, 0x25, I32AtomicRmwSub, "i32.atomic.rmw.sub")
WABT_OPCODE(I64, I32, I64, ___, 8, 0xfe, 0x26, I64AtomicRmwSub, "i64.atomic.rmw.sub")
-WABT_OPCODE(I32, I32, I32, ___, 1, 0xfe, 0x27, I32AtomicRmw8USub, "i32.atomic.rmw8_u.sub")
-WABT_OPCODE(I32, I32, I32, ___, 2, 0xfe, 0x28, I32AtomicRmw16USub, "i32.atomic.rmw16_u.sub")
-WABT_OPCODE(I64, I32, I64, ___, 1, 0xfe, 0x29, I64AtomicRmw8USub, "i64.atomic.rmw8_u.sub")
-WABT_OPCODE(I64, I32, I64, ___, 2, 0xfe, 0x2a, I64AtomicRmw16USub, "i64.atomic.rmw16_u.sub")
-WABT_OPCODE(I64, I32, I64, ___, 4, 0xfe, 0x2b, I64AtomicRmw32USub, "i64.atomic.rmw32_u.sub")
+WABT_OPCODE(I32, I32, I32, ___, 1, 0xfe, 0x27, I32AtomicRmw8SubU, "i32.atomic.rmw8.sub_u")
+WABT_OPCODE(I32, I32, I32, ___, 2, 0xfe, 0x28, I32AtomicRmw16SubU, "i32.atomic.rmw16.sub_u")
+WABT_OPCODE(I64, I32, I64, ___, 1, 0xfe, 0x29, I64AtomicRmw8SubU, "i64.atomic.rmw8.sub_u")
+WABT_OPCODE(I64, I32, I64, ___, 2, 0xfe, 0x2a, I64AtomicRmw16SubU, "i64.atomic.rmw16.sub_u")
+WABT_OPCODE(I64, I32, I64, ___, 4, 0xfe, 0x2b, I64AtomicRmw32SubU, "i64.atomic.rmw32.sub_u")
WABT_OPCODE(I32, I32, I32, ___, 4, 0xfe, 0x2c, I32AtomicRmwAnd, "i32.atomic.rmw.and")
WABT_OPCODE(I64, I32, I64, ___, 8, 0xfe, 0x2d, I64AtomicRmwAnd, "i64.atomic.rmw.and")
-WABT_OPCODE(I32, I32, I32, ___, 1, 0xfe, 0x2e, I32AtomicRmw8UAnd, "i32.atomic.rmw8_u.and")
-WABT_OPCODE(I32, I32, I32, ___, 2, 0xfe, 0x2f, I32AtomicRmw16UAnd, "i32.atomic.rmw16_u.and")
-WABT_OPCODE(I64, I32, I64, ___, 1, 0xfe, 0x30, I64AtomicRmw8UAnd, "i64.atomic.rmw8_u.and")
-WABT_OPCODE(I64, I32, I64, ___, 2, 0xfe, 0x31, I64AtomicRmw16UAnd, "i64.atomic.rmw16_u.and")
-WABT_OPCODE(I64, I32, I64, ___, 4, 0xfe, 0x32, I64AtomicRmw32UAnd, "i64.atomic.rmw32_u.and")
+WABT_OPCODE(I32, I32, I32, ___, 1, 0xfe, 0x2e, I32AtomicRmw8AndU, "i32.atomic.rmw8.and_u")
+WABT_OPCODE(I32, I32, I32, ___, 2, 0xfe, 0x2f, I32AtomicRmw16AndU, "i32.atomic.rmw16.and_u")
+WABT_OPCODE(I64, I32, I64, ___, 1, 0xfe, 0x30, I64AtomicRmw8AndU, "i64.atomic.rmw8.and_u")
+WABT_OPCODE(I64, I32, I64, ___, 2, 0xfe, 0x31, I64AtomicRmw16AndU, "i64.atomic.rmw16.and_u")
+WABT_OPCODE(I64, I32, I64, ___, 4, 0xfe, 0x32, I64AtomicRmw32AndU, "i64.atomic.rmw32.and_u")
WABT_OPCODE(I32, I32, I32, ___, 4, 0xfe, 0x33, I32AtomicRmwOr, "i32.atomic.rmw.or")
WABT_OPCODE(I64, I32, I64, ___, 8, 0xfe, 0x34, I64AtomicRmwOr, "i64.atomic.rmw.or")
-WABT_OPCODE(I32, I32, I32, ___, 1, 0xfe, 0x35, I32AtomicRmw8UOr, "i32.atomic.rmw8_u.or")
-WABT_OPCODE(I32, I32, I32, ___, 2, 0xfe, 0x36, I32AtomicRmw16UOr, "i32.atomic.rmw16_u.or")
-WABT_OPCODE(I64, I32, I64, ___, 1, 0xfe, 0x37, I64AtomicRmw8UOr, "i64.atomic.rmw8_u.or")
-WABT_OPCODE(I64, I32, I64, ___, 2, 0xfe, 0x38, I64AtomicRmw16UOr, "i64.atomic.rmw16_u.or")
-WABT_OPCODE(I64, I32, I64, ___, 4, 0xfe, 0x39, I64AtomicRmw32UOr, "i64.atomic.rmw32_u.or")
+WABT_OPCODE(I32, I32, I32, ___, 1, 0xfe, 0x35, I32AtomicRmw8OrU, "i32.atomic.rmw8.or_u")
+WABT_OPCODE(I32, I32, I32, ___, 2, 0xfe, 0x36, I32AtomicRmw16OrU, "i32.atomic.rmw16.or_u")
+WABT_OPCODE(I64, I32, I64, ___, 1, 0xfe, 0x37, I64AtomicRmw8OrU, "i64.atomic.rmw8.or_u")
+WABT_OPCODE(I64, I32, I64, ___, 2, 0xfe, 0x38, I64AtomicRmw16OrU, "i64.atomic.rmw16.or_u")
+WABT_OPCODE(I64, I32, I64, ___, 4, 0xfe, 0x39, I64AtomicRmw32OrU, "i64.atomic.rmw32.or_u")
WABT_OPCODE(I32, I32, I32, ___, 4, 0xfe, 0x3a, I32AtomicRmwXor, "i32.atomic.rmw.xor")
WABT_OPCODE(I64, I32, I64, ___, 8, 0xfe, 0x3b, I64AtomicRmwXor, "i64.atomic.rmw.xor")
-WABT_OPCODE(I32, I32, I32, ___, 1, 0xfe, 0x3c, I32AtomicRmw8UXor, "i32.atomic.rmw8_u.xor")
-WABT_OPCODE(I32, I32, I32, ___, 2, 0xfe, 0x3d, I32AtomicRmw16UXor, "i32.atomic.rmw16_u.xor")
-WABT_OPCODE(I64, I32, I64, ___, 1, 0xfe, 0x3e, I64AtomicRmw8UXor, "i64.atomic.rmw8_u.xor")
-WABT_OPCODE(I64, I32, I64, ___, 2, 0xfe, 0x3f, I64AtomicRmw16UXor, "i64.atomic.rmw16_u.xor")
-WABT_OPCODE(I64, I32, I64, ___, 4, 0xfe, 0x40, I64AtomicRmw32UXor, "i64.atomic.rmw32_u.xor")
+WABT_OPCODE(I32, I32, I32, ___, 1, 0xfe, 0x3c, I32AtomicRmw8XorU, "i32.atomic.rmw8.xor_u")
+WABT_OPCODE(I32, I32, I32, ___, 2, 0xfe, 0x3d, I32AtomicRmw16XorU, "i32.atomic.rmw16.xor_u")
+WABT_OPCODE(I64, I32, I64, ___, 1, 0xfe, 0x3e, I64AtomicRmw8XorU, "i64.atomic.rmw8.xor_u")
+WABT_OPCODE(I64, I32, I64, ___, 2, 0xfe, 0x3f, I64AtomicRmw16XorU, "i64.atomic.rmw16.xor_u")
+WABT_OPCODE(I64, I32, I64, ___, 4, 0xfe, 0x40, I64AtomicRmw32XorU, "i64.atomic.rmw32.xor_u")
WABT_OPCODE(I32, I32, I32, ___, 4, 0xfe, 0x41, I32AtomicRmwXchg, "i32.atomic.rmw.xchg")
WABT_OPCODE(I64, I32, I64, ___, 8, 0xfe, 0x42, I64AtomicRmwXchg, "i64.atomic.rmw.xchg")
-WABT_OPCODE(I32, I32, I32, ___, 1, 0xfe, 0x43, I32AtomicRmw8UXchg, "i32.atomic.rmw8_u.xchg")
-WABT_OPCODE(I32, I32, I32, ___, 2, 0xfe, 0x44, I32AtomicRmw16UXchg, "i32.atomic.rmw16_u.xchg")
-WABT_OPCODE(I64, I32, I64, ___, 1, 0xfe, 0x45, I64AtomicRmw8UXchg, "i64.atomic.rmw8_u.xchg")
-WABT_OPCODE(I64, I32, I64, ___, 2, 0xfe, 0x46, I64AtomicRmw16UXchg, "i64.atomic.rmw16_u.xchg")
-WABT_OPCODE(I64, I32, I64, ___, 4, 0xfe, 0x47, I64AtomicRmw32UXchg, "i64.atomic.rmw32_u.xchg")
+WABT_OPCODE(I32, I32, I32, ___, 1, 0xfe, 0x43, I32AtomicRmw8XchgU, "i32.atomic.rmw8.xchg_u")
+WABT_OPCODE(I32, I32, I32, ___, 2, 0xfe, 0x44, I32AtomicRmw16XchgU, "i32.atomic.rmw16.xchg_u")
+WABT_OPCODE(I64, I32, I64, ___, 1, 0xfe, 0x45, I64AtomicRmw8XchgU, "i64.atomic.rmw8.xchg_u")
+WABT_OPCODE(I64, I32, I64, ___, 2, 0xfe, 0x46, I64AtomicRmw16XchgU, "i64.atomic.rmw16.xchg_u")
+WABT_OPCODE(I64, I32, I64, ___, 4, 0xfe, 0x47, I64AtomicRmw32XchgU, "i64.atomic.rmw32.xchg_u")
WABT_OPCODE(I32, I32, I32, I32, 4, 0xfe, 0x48, I32AtomicRmwCmpxchg, "i32.atomic.rmw.cmpxchg")
WABT_OPCODE(I64, I32, I64, I64, 8, 0xfe, 0x49, I64AtomicRmwCmpxchg, "i64.atomic.rmw.cmpxchg")
-WABT_OPCODE(I32, I32, I32, I32, 1, 0xfe, 0x4a, I32AtomicRmw8UCmpxchg, "i32.atomic.rmw8_u.cmpxchg")
-WABT_OPCODE(I32, I32, I32, I32, 2, 0xfe, 0x4b, I32AtomicRmw16UCmpxchg, "i32.atomic.rmw16_u.cmpxchg")
-WABT_OPCODE(I64, I32, I64, I64, 1, 0xfe, 0x4c, I64AtomicRmw8UCmpxchg, "i64.atomic.rmw8_u.cmpxchg")
-WABT_OPCODE(I64, I32, I64, I64, 2, 0xfe, 0x4d, I64AtomicRmw16UCmpxchg, "i64.atomic.rmw16_u.cmpxchg")
-WABT_OPCODE(I64, I32, I64, I64, 4, 0xfe, 0x4e, I64AtomicRmw32UCmpxchg, "i64.atomic.rmw32_u.cmpxchg")
+WABT_OPCODE(I32, I32, I32, I32, 1, 0xfe, 0x4a, I32AtomicRmw8CmpxchgU, "i32.atomic.rmw8.cmpxchg_u")
+WABT_OPCODE(I32, I32, I32, I32, 2, 0xfe, 0x4b, I32AtomicRmw16CmpxchgU, "i32.atomic.rmw16.cmpxchg_u")
+WABT_OPCODE(I64, I32, I64, I64, 1, 0xfe, 0x4c, I64AtomicRmw8CmpxchgU, "i64.atomic.rmw8.cmpxchg_u")
+WABT_OPCODE(I64, I32, I64, I64, 2, 0xfe, 0x4d, I64AtomicRmw16CmpxchgU, "i64.atomic.rmw16.cmpxchg_u")
+WABT_OPCODE(I64, I32, I64, I64, 4, 0xfe, 0x4e, I64AtomicRmw32CmpxchgU, "i64.atomic.rmw32.cmpxchg_u")
diff --git a/src/prebuilt/wast-lexer-gen.cc b/src/prebuilt/wast-lexer-gen.cc
index a03b7721..f89c1378 100644
--- a/src/prebuilt/wast-lexer-gen.cc
+++ b/src/prebuilt/wast-lexer-gen.cc
@@ -1,4 +1,4 @@
-/* Generated by re2c 1.0.1 on Thu Oct 11 23:03:28 2018 */
+/* Generated by re2c 0.16 */
#line 1 "src/wast-lexer.cc"
/*
* Copyright 2016 WebAssembly Community Group participants
@@ -28,7 +28,6 @@
#define YYMAXFILL 29
-
#define INITIAL_LEXER_BUFFER_SIZE (64 * 1024)
#define ERROR(...) parser->Error(GetLocation(), __VA_ARGS__)
@@ -190,15 +189,16 @@ Result WastLexer::Fill(size_t need) {
}
Token WastLexer::GetToken(WastParser* parser) {
- #line 194 "src/prebuilt/wast-lexer-gen.cc"
+#line 193 "src/prebuilt/wast-lexer-gen.cc"
+
enum YYCONDTYPE {
YYCOND_i,
YYCOND_BAD_TEXT,
YYCOND_LINE_COMMENT,
YYCOND_BLOCK_COMMENT,
};
-#line 190 "src/wast-lexer.cc"
+#line 190 "src/wast-lexer.cc"
YYCONDTYPE cond = YYCOND_i; // i is the initial state.
for (;;) {
@@ -222,6 +222,491 @@ enum YYCONDTYPE {
}
}
/* *********************************** */
+YYCOND_BAD_TEXT:
+ if ((limit_ - cursor_) < 5) FILL(5);
+ yych = *cursor_;
+ if (yych <= 0x7F) {
+ if (yych <= '!') {
+ if (yych == '\n') goto yy5;
+ if (yych >= ' ') goto yy7;
+ } else {
+ if (yych <= '"') goto yy9;
+ if (yych == '\\') goto yy11;
+ goto yy7;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xC1) goto yy12;
+ if (yych <= 0xDF) goto yy14;
+ if (yych <= 0xE0) goto yy15;
+ goto yy16;
+ } else {
+ if (yych <= 0xF0) goto yy17;
+ if (yych <= 0xF3) goto yy18;
+ if (yych <= 0xF4) goto yy19;
+ goto yy12;
+ }
+ }
+ ++cursor_;
+yy4:
+#line 252 "src/wast-lexer.cc"
+ { ERROR("illegal character in string");
+ continue; }
+#line 256 "src/prebuilt/wast-lexer-gen.cc"
+yy5:
+ ++cursor_;
+ BEGIN(YYCOND_i);
+#line 245 "src/wast-lexer.cc"
+ { ERROR("newline in string");
+ NEWLINE;
+ continue; }
+#line 264 "src/prebuilt/wast-lexer-gen.cc"
+yy7:
+ ++cursor_;
+#line 244 "src/wast-lexer.cc"
+ { continue; }
+#line 269 "src/prebuilt/wast-lexer-gen.cc"
+yy9:
+ ++cursor_;
+ BEGIN(YYCOND_i);
+#line 251 "src/wast-lexer.cc"
+ { RETURN_TEXT(Text); }
+#line 275 "src/prebuilt/wast-lexer-gen.cc"
+yy11:
+ yyaccept = 0;
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 'f') {
+ if (yych <= '/') {
+ if (yych <= '!') {
+ if (yych == '\n') goto yy4;
+ goto yy20;
+ } else {
+ if (yych <= '"') goto yy7;
+ if (yych == '\'') goto yy7;
+ goto yy20;
+ }
+ } else {
+ if (yych <= 'F') {
+ if (yych <= '9') goto yy22;
+ if (yych <= '@') goto yy20;
+ goto yy22;
+ } else {
+ if (yych == '\\') goto yy7;
+ if (yych <= '`') goto yy20;
+ goto yy22;
+ }
+ }
+ } else {
+ if (yych <= 0x7F) {
+ if (yych <= 'q') {
+ if (yych == 'n') goto yy7;
+ goto yy20;
+ } else {
+ if (yych == 's') goto yy20;
+ if (yych <= 't') goto yy7;
+ goto yy20;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xC1) goto yy4;
+ if (yych <= 0xDF) goto yy23;
+ if (yych <= 0xE0) goto yy25;
+ goto yy26;
+ } else {
+ if (yych <= 0xF0) goto yy27;
+ if (yych <= 0xF3) goto yy28;
+ if (yych <= 0xF4) goto yy29;
+ goto yy4;
+ }
+ }
+ }
+yy12:
+ ++cursor_;
+yy13:
+#line 254 "src/wast-lexer.cc"
+ { MAYBE_MALFORMED_UTF8(" in string"); }
+#line 329 "src/prebuilt/wast-lexer-gen.cc"
+yy14:
+ yych = *++cursor_;
+ if (yych <= 0x7F) goto yy13;
+ if (yych <= 0xBF) goto yy7;
+ goto yy13;
+yy15:
+ yyaccept = 1;
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x9F) goto yy13;
+ if (yych <= 0xBF) goto yy30;
+ goto yy13;
+yy16:
+ yyaccept = 1;
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x7F) goto yy13;
+ if (yych <= 0xBF) goto yy30;
+ goto yy13;
+yy17:
+ yyaccept = 1;
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x8F) goto yy13;
+ if (yych <= 0xBF) goto yy31;
+ goto yy13;
+yy18:
+ yyaccept = 1;
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x7F) goto yy13;
+ if (yych <= 0xBF) goto yy31;
+ goto yy13;
+yy19:
+ yyaccept = 1;
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x7F) goto yy13;
+ if (yych <= 0x8F) goto yy31;
+ goto yy13;
+yy20:
+ ++cursor_;
+yy21:
+#line 248 "src/wast-lexer.cc"
+ { ERROR("bad escape \"%.*s\"",
+ static_cast<int>(yyleng), yytext);
+ continue; }
+#line 372 "src/prebuilt/wast-lexer-gen.cc"
+yy22:
+ yych = *++cursor_;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy21;
+ if (yych <= '9') goto yy7;
+ goto yy21;
+ } else {
+ if (yych <= 'F') goto yy7;
+ if (yych <= '`') goto yy21;
+ if (yych <= 'f') goto yy7;
+ goto yy21;
+ }
+yy23:
+ yych = *++cursor_;
+ if (yych <= 0x7F) goto yy24;
+ if (yych <= 0xBF) goto yy20;
+yy24:
+ cursor_ = marker_;
+ if (yyaccept == 0) {
+ goto yy4;
+ } else {
+ goto yy13;
+ }
+yy25:
+ yych = *++cursor_;
+ if (yych <= 0x9F) goto yy24;
+ if (yych <= 0xBF) goto yy23;
+ goto yy24;
+yy26:
+ yych = *++cursor_;
+ if (yych <= 0x7F) goto yy24;
+ if (yych <= 0xBF) goto yy23;
+ goto yy24;
+yy27:
+ yych = *++cursor_;
+ if (yych <= 0x8F) goto yy24;
+ if (yych <= 0xBF) goto yy26;
+ goto yy24;
+yy28:
+ yych = *++cursor_;
+ if (yych <= 0x7F) goto yy24;
+ if (yych <= 0xBF) goto yy26;
+ goto yy24;
+yy29:
+ yych = *++cursor_;
+ if (yych <= 0x7F) goto yy24;
+ if (yych <= 0x8F) goto yy26;
+ goto yy24;
+yy30:
+ yych = *++cursor_;
+ if (yych <= 0x7F) goto yy24;
+ if (yych <= 0xBF) goto yy7;
+ goto yy24;
+yy31:
+ ++cursor_;
+ if ((yych = *cursor_) <= 0x7F) goto yy24;
+ if (yych <= 0xBF) goto yy30;
+ goto yy24;
+/* *********************************** */
+YYCOND_BLOCK_COMMENT:
+ if ((limit_ - cursor_) < 4) FILL(4);
+ yych = *cursor_;
+ if (yych <= 0x7F) {
+ if (yych <= '\'') {
+ if (yych == '\n') goto yy36;
+ } else {
+ if (yych <= '(') goto yy38;
+ if (yych == ';') goto yy39;
+ }
+ } else {
+ if (yych <= 0xEF) {
+ if (yych <= 0xC1) goto yy40;
+ if (yych <= 0xDF) goto yy42;
+ if (yych <= 0xE0) goto yy43;
+ goto yy44;
+ } else {
+ if (yych <= 0xF0) goto yy45;
+ if (yych <= 0xF3) goto yy46;
+ if (yych <= 0xF4) goto yy47;
+ goto yy40;
+ }
+ }
+yy34:
+ ++cursor_;
+yy35:
+#line 758 "src/wast-lexer.cc"
+ { continue; }
+#line 460 "src/prebuilt/wast-lexer-gen.cc"
+yy36:
+ ++cursor_;
+#line 757 "src/wast-lexer.cc"
+ { NEWLINE; continue; }
+#line 465 "src/prebuilt/wast-lexer-gen.cc"
+yy38:
+ yych = *++cursor_;
+ if (yych == ';') goto yy48;
+ goto yy35;
+yy39:
+ yych = *++cursor_;
+ if (yych == ')') goto yy50;
+ goto yy35;
+yy40:
+ ++cursor_;
+yy41:
+#line 759 "src/wast-lexer.cc"
+ { MAYBE_MALFORMED_UTF8(" in block comment"); }
+#line 479 "src/prebuilt/wast-lexer-gen.cc"
+yy42:
+ yych = *++cursor_;
+ if (yych <= 0x7F) goto yy41;
+ if (yych <= 0xBF) goto yy34;
+ goto yy41;
+yy43:
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x9F) goto yy41;
+ if (yych <= 0xBF) goto yy52;
+ goto yy41;
+yy44:
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x7F) goto yy41;
+ if (yych <= 0xBF) goto yy52;
+ goto yy41;
+yy45:
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x8F) goto yy41;
+ if (yych <= 0xBF) goto yy54;
+ goto yy41;
+yy46:
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x7F) goto yy41;
+ if (yych <= 0xBF) goto yy54;
+ goto yy41;
+yy47:
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x7F) goto yy41;
+ if (yych <= 0x8F) goto yy54;
+ goto yy41;
+yy48:
+ ++cursor_;
+#line 752 "src/wast-lexer.cc"
+ { COMMENT_NESTING++; continue; }
+#line 514 "src/prebuilt/wast-lexer-gen.cc"
+yy50:
+ ++cursor_;
+#line 753 "src/wast-lexer.cc"
+ { if (--COMMENT_NESTING == 0) {
+ BEGIN(YYCOND_i);
+ }
+ continue; }
+#line 522 "src/prebuilt/wast-lexer-gen.cc"
+yy52:
+ yych = *++cursor_;
+ if (yych <= 0x7F) goto yy53;
+ if (yych <= 0xBF) goto yy34;
+yy53:
+ cursor_ = marker_;
+ goto yy41;
+yy54:
+ ++cursor_;
+ if ((yych = *cursor_) <= 0x7F) goto yy53;
+ if (yych <= 0xBF) goto yy52;
+ goto yy53;
+/* *********************************** */
+YYCOND_LINE_COMMENT:
+ {
+ static const unsigned char yybm[] = {
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+ if ((limit_ - cursor_) < 2) FILL(2);
+ yych = *cursor_;
+ if (yybm[0+yych] & 128) {
+ goto yy57;
+ }
+ if (yych <= 0xE0) {
+ if (yych <= '\n') goto yy60;
+ if (yych <= 0xC1) goto yy62;
+ if (yych <= 0xDF) goto yy64;
+ goto yy65;
+ } else {
+ if (yych <= 0xF0) {
+ if (yych <= 0xEF) goto yy66;
+ goto yy67;
+ } else {
+ if (yych <= 0xF3) goto yy68;
+ if (yych <= 0xF4) goto yy69;
+ goto yy62;
+ }
+ }
+yy57:
+ yyaccept = 0;
+ marker_ = ++cursor_;
+ if (limit_ <= cursor_) FILL(1);
+ yych = *cursor_;
+ if (yybm[0+yych] & 128) {
+ goto yy57;
+ }
+ if (yych <= 0xEF) {
+ if (yych <= 0xC1) goto yy59;
+ if (yych <= 0xDF) goto yy70;
+ if (yych <= 0xE0) goto yy72;
+ goto yy73;
+ } else {
+ if (yych <= 0xF0) goto yy74;
+ if (yych <= 0xF3) goto yy75;
+ if (yych <= 0xF4) goto yy76;
+ }
+yy59:
+#line 750 "src/wast-lexer.cc"
+ { continue; }
+#line 613 "src/prebuilt/wast-lexer-gen.cc"
+yy60:
+ ++cursor_;
+ BEGIN(YYCOND_i);
+#line 749 "src/wast-lexer.cc"
+ { NEWLINE; continue; }
+#line 619 "src/prebuilt/wast-lexer-gen.cc"
+yy62:
+ ++cursor_;
+yy63:
+#line 764 "src/wast-lexer.cc"
+ { MAYBE_MALFORMED_UTF8(""); }
+#line 625 "src/prebuilt/wast-lexer-gen.cc"
+yy64:
+ yych = *++cursor_;
+ if (yych <= 0x7F) goto yy63;
+ if (yych <= 0xBF) goto yy57;
+ goto yy63;
+yy65:
+ yyaccept = 1;
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x9F) goto yy63;
+ if (yych <= 0xBF) goto yy70;
+ goto yy63;
+yy66:
+ yyaccept = 1;
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x7F) goto yy63;
+ if (yych <= 0xBF) goto yy70;
+ goto yy63;
+yy67:
+ yyaccept = 1;
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x8F) goto yy63;
+ if (yych <= 0xBF) goto yy73;
+ goto yy63;
+yy68:
+ yyaccept = 1;
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x7F) goto yy63;
+ if (yych <= 0xBF) goto yy73;
+ goto yy63;
+yy69:
+ yyaccept = 1;
+ yych = *(marker_ = ++cursor_);
+ if (yych <= 0x7F) goto yy63;
+ if (yych <= 0x8F) goto yy73;
+ goto yy63;
+yy70:
+ ++cursor_;
+ if (limit_ <= cursor_) FILL(1);
+ yych = *cursor_;
+ if (yych <= 0x7F) goto yy71;
+ if (yych <= 0xBF) goto yy57;
+yy71:
+ cursor_ = marker_;
+ if (yyaccept == 0) {
+ goto yy59;
+ } else {
+ goto yy63;
+ }
+yy72:
+ ++cursor_;
+ if (limit_ <= cursor_) FILL(1);
+ yych = *cursor_;
+ if (yych <= 0x9F) goto yy71;
+ if (yych <= 0xBF) goto yy70;
+ goto yy71;
+yy73:
+ ++cursor_;
+ if (limit_ <= cursor_) FILL(1);
+ yych = *cursor_;
+ if (yych <= 0x7F) goto yy71;
+ if (yych <= 0xBF) goto yy70;
+ goto yy71;
+yy74:
+ ++cursor_;
+ if (limit_ <= cursor_) FILL(1);
+ yych = *cursor_;
+ if (yych <= 0x8F) goto yy71;
+ if (yych <= 0xBF) goto yy73;
+ goto yy71;
+yy75:
+ ++cursor_;
+ if (limit_ <= cursor_) FILL(1);
+ yych = *cursor_;
+ if (yych <= 0x7F) goto yy71;
+ if (yych <= 0xBF) goto yy73;
+ goto yy71;
+yy76:
+ ++cursor_;
+ if (limit_ <= cursor_) FILL(1);
+ yych = *cursor_;
+ if (yych <= 0x7F) goto yy71;
+ if (yych <= 0x8F) goto yy73;
+ goto yy71;
+ }
+/* *********************************** */
YYCOND_i:
{
static const unsigned char yybm[] = {
@@ -261,49 +746,49 @@ YYCOND_i:
if ((limit_ - cursor_) < 29) FILL(29);
yych = *cursor_;
if (yybm[0+yych] & 4) {
- goto yy5;
+ goto yy81;
}
if (yych <= 'e') {
if (yych <= '+') {
if (yych <= '#') {
if (yych <= 0x1F) {
- if (yych <= 0x08) goto yy3;
- if (yych <= '\n') goto yy8;
+ if (yych <= 0x08) goto yy79;
+ if (yych <= '\n') goto yy84;
} else {
- if (yych == '"') goto yy13;
- goto yy10;
+ if (yych == '"') goto yy89;
+ goto yy86;
}
} else {
if (yych <= '(') {
- if (yych <= '$') goto yy15;
- if (yych <= '\'') goto yy10;
- goto yy16;
+ if (yych <= '$') goto yy91;
+ if (yych <= '\'') goto yy86;
+ goto yy92;
} else {
- if (yych <= ')') goto yy18;
- if (yych <= '*') goto yy10;
- goto yy20;
+ if (yych <= ')') goto yy94;
+ if (yych <= '*') goto yy86;
+ goto yy96;
}
}
} else {
if (yych <= ':') {
if (yych <= '/') {
- if (yych == '-') goto yy20;
- goto yy10;
+ if (yych == '-') goto yy96;
+ goto yy86;
} else {
- if (yych <= '0') goto yy21;
- if (yych <= '9') goto yy23;
- goto yy10;
+ if (yych <= '0') goto yy97;
+ if (yych <= '9') goto yy99;
+ goto yy86;
}
} else {
if (yych <= 'a') {
- if (yych <= ';') goto yy25;
- if (yych <= '`') goto yy10;
- goto yy26;
+ if (yych <= ';') goto yy101;
+ if (yych <= '`') goto yy86;
+ goto yy102;
} else {
- if (yych <= 'b') goto yy27;
- if (yych <= 'c') goto yy28;
- if (yych <= 'd') goto yy29;
- goto yy30;
+ if (yych <= 'b') goto yy103;
+ if (yych <= 'c') goto yy104;
+ if (yych <= 'd') goto yy105;
+ goto yy106;
}
}
}
@@ -311,12136 +796,12681 @@ YYCOND_i:
if (yych <= 's') {
if (yych <= 'l') {
if (yych <= 'h') {
- if (yych <= 'f') goto yy31;
- if (yych <= 'g') goto yy32;
- goto yy10;
+ if (yych <= 'f') goto yy107;
+ if (yych <= 'g') goto yy108;
+ goto yy86;
} else {
- if (yych <= 'i') goto yy33;
- if (yych <= 'k') goto yy10;
- goto yy34;
+ if (yych <= 'i') goto yy109;
+ if (yych <= 'k') goto yy86;
+ goto yy110;
}
} else {
if (yych <= 'o') {
- if (yych <= 'm') goto yy35;
- if (yych <= 'n') goto yy36;
- goto yy37;
+ if (yych <= 'm') goto yy111;
+ if (yych <= 'n') goto yy112;
+ goto yy113;
} else {
- if (yych <= 'p') goto yy38;
- if (yych <= 'q') goto yy39;
- if (yych <= 'r') goto yy40;
- goto yy41;
+ if (yych <= 'p') goto yy114;
+ if (yych <= 'q') goto yy115;
+ if (yych <= 'r') goto yy116;
+ goto yy117;
}
}
} else {
if (yych <= 0xC1) {
if (yych <= 'v') {
- if (yych <= 't') goto yy42;
- if (yych <= 'u') goto yy43;
- goto yy44;
+ if (yych <= 't') goto yy118;
+ if (yych <= 'u') goto yy119;
+ goto yy120;
} else {
- if (yych <= '~') goto yy10;
- if (yych >= 0x80) goto yy45;
+ if (yych <= '~') goto yy86;
+ if (yych >= 0x80) goto yy121;
}
} else {
if (yych <= 0xEF) {
- if (yych <= 0xDF) goto yy47;
- if (yych <= 0xE0) goto yy48;
- goto yy49;
+ if (yych <= 0xDF) goto yy123;
+ if (yych <= 0xE0) goto yy124;
+ goto yy125;
} else {
- if (yych <= 0xF0) goto yy50;
- if (yych <= 0xF3) goto yy51;
- if (yych <= 0xF4) goto yy52;
- goto yy45;
+ if (yych <= 0xF0) goto yy126;
+ if (yych <= 0xF3) goto yy127;
+ if (yych <= 0xF4) goto yy128;
+ goto yy121;
}
}
}
}
-yy3:
+yy79:
++cursor_;
-yy4:
-#line 722 "src/wast-lexer.cc"
+yy80:
+#line 763 "src/wast-lexer.cc"
{ ERROR("unexpected char"); continue; }
-#line 364 "src/prebuilt/wast-lexer-gen.cc"
-yy5:
+#line 849 "src/prebuilt/wast-lexer-gen.cc"
+yy81:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yybm[0+yych] & 4) {
- goto yy5;
+ goto yy81;
}
-#line 720 "src/wast-lexer.cc"
+#line 761 "src/wast-lexer.cc"
{ continue; }
-#line 374 "src/prebuilt/wast-lexer-gen.cc"
-yy8:
+#line 859 "src/prebuilt/wast-lexer-gen.cc"
+yy84:
++cursor_;
-#line 719 "src/wast-lexer.cc"
+#line 760 "src/wast-lexer.cc"
{ NEWLINE; continue; }
-#line 379 "src/prebuilt/wast-lexer-gen.cc"
-yy10:
+#line 864 "src/prebuilt/wast-lexer-gen.cc"
+yy86:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
-yy11:
+yy87:
if (yybm[0+yych] & 8) {
- goto yy10;
+ goto yy86;
}
-yy12:
-#line 721 "src/wast-lexer.cc"
+yy88:
+#line 762 "src/wast-lexer.cc"
{ RETURN_TEXT(Reserved); }
-#line 391 "src/prebuilt/wast-lexer-gen.cc"
-yy13:
+#line 876 "src/prebuilt/wast-lexer-gen.cc"
+yy89:
yyaccept = 0;
yych = *(marker_ = ++cursor_);
- if (yych <= 0x1F) goto yy14;
- if (yych <= 0x7F) goto yy54;
- if (yych <= 0xC1) goto yy14;
- if (yych <= 0xF4) goto yy54;
-yy14:
+ if (yych <= 0x1F) goto yy90;
+ if (yych <= 0x7F) goto yy130;
+ if (yych <= 0xC1) goto yy90;
+ if (yych <= 0xF4) goto yy130;
+yy90:
BEGIN(YYCOND_BAD_TEXT);
#line 243 "src/wast-lexer.cc"
{ continue; }
-#line 403 "src/prebuilt/wast-lexer-gen.cc"
-yy15:
+#line 888 "src/prebuilt/wast-lexer-gen.cc"
+yy91:
yych = *++cursor_;
if (yych <= '\'') {
- if (yych == '!') goto yy66;
- if (yych <= '"') goto yy12;
- goto yy66;
+ if (yych == '!') goto yy142;
+ if (yych <= '"') goto yy88;
+ goto yy142;
} else {
if (yych <= ':') {
- if (yych <= ')') goto yy12;
- goto yy66;
+ if (yych <= ')') goto yy88;
+ goto yy142;
} else {
- if (yych <= ';') goto yy12;
- if (yych <= '~') goto yy66;
- goto yy12;
+ if (yych <= ';') goto yy88;
+ if (yych <= '~') goto yy142;
+ goto yy88;
}
}
-yy16:
- yych = *++cursor_;
- if (yych == ';') goto yy68;
+yy92:
+ ++cursor_;
+ if ((yych = *cursor_) == ';') goto yy144;
#line 234 "src/wast-lexer.cc"
{ RETURN(Lpar); }
-#line 425 "src/prebuilt/wast-lexer-gen.cc"
-yy18:
+#line 910 "src/prebuilt/wast-lexer-gen.cc"
+yy94:
++cursor_;
#line 235 "src/wast-lexer.cc"
{ RETURN(Rpar); }
-#line 430 "src/prebuilt/wast-lexer-gen.cc"
-yy20:
+#line 915 "src/prebuilt/wast-lexer-gen.cc"
+yy96:
yych = *++cursor_;
if (yych <= 'h') {
- if (yych <= '/') goto yy11;
- if (yych <= '0') goto yy70;
- if (yych <= '9') goto yy72;
- goto yy11;
+ if (yych <= '/') goto yy87;
+ if (yych <= '0') goto yy146;
+ if (yych <= '9') goto yy148;
+ goto yy87;
} else {
- if (yych <= 'i') goto yy74;
- if (yych == 'n') goto yy75;
- goto yy11;
+ if (yych <= 'i') goto yy150;
+ if (yych == 'n') goto yy151;
+ goto yy87;
}
-yy21:
- yych = *++cursor_;
- if (yych == 'x') goto yy80;
- goto yy24;
-yy22:
+yy97:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 16) {
+ goto yy99;
+ }
+ if (yych <= ';') {
+ if (yych <= '\'') {
+ if (yych == '!') goto yy86;
+ if (yych >= '#') goto yy86;
+ } else {
+ if (yych <= '-') {
+ if (yych >= '*') goto yy86;
+ } else {
+ if (yych <= '.') goto yy152;
+ if (yych <= ':') goto yy86;
+ }
+ }
+ } else {
+ if (yych <= 'd') {
+ if (yych <= 'E') {
+ if (yych <= 'D') goto yy86;
+ goto yy154;
+ } else {
+ if (yych == '_') goto yy155;
+ goto yy86;
+ }
+ } else {
+ if (yych <= 'w') {
+ if (yych <= 'e') goto yy154;
+ goto yy86;
+ } else {
+ if (yych <= 'x') goto yy156;
+ if (yych <= '~') goto yy86;
+ }
+ }
+ }
+yy98:
#line 236 "src/wast-lexer.cc"
{ RETURN_LITERAL(Nat, Int); }
-#line 450 "src/prebuilt/wast-lexer-gen.cc"
-yy23:
+#line 967 "src/prebuilt/wast-lexer-gen.cc"
+yy99:
++cursor_;
if ((limit_ - cursor_) < 3) FILL(3);
yych = *cursor_;
-yy24:
if (yybm[0+yych] & 16) {
- goto yy23;
+ goto yy99;
}
if (yych <= ':') {
if (yych <= '\'') {
- if (yych == '!') goto yy10;
- if (yych <= '"') goto yy22;
- goto yy10;
+ if (yych == '!') goto yy86;
+ if (yych <= '"') goto yy98;
+ goto yy86;
} else {
- if (yych <= ')') goto yy22;
- if (yych == '.') goto yy76;
- goto yy10;
+ if (yych <= ')') goto yy98;
+ if (yych == '.') goto yy152;
+ goto yy86;
}
} else {
if (yych <= '^') {
- if (yych <= ';') goto yy22;
- if (yych == 'E') goto yy78;
- goto yy10;
+ if (yych <= ';') goto yy98;
+ if (yych == 'E') goto yy154;
+ goto yy86;
} else {
if (yych <= 'd') {
- if (yych <= '_') goto yy79;
- goto yy10;
+ if (yych <= '_') goto yy155;
+ goto yy86;
} else {
- if (yych <= 'e') goto yy78;
- if (yych <= '~') goto yy10;
- goto yy22;
+ if (yych <= 'e') goto yy154;
+ if (yych <= '~') goto yy86;
+ goto yy98;
}
}
}
-yy25:
+yy101:
yych = *++cursor_;
- if (yych == ';') goto yy81;
- goto yy4;
-yy26:
+ if (yych == ';') goto yy157;
+ goto yy80;
+yy102:
yych = *++cursor_;
if (yych <= 'n') {
- if (yych == 'l') goto yy83;
- if (yych <= 'm') goto yy11;
- goto yy84;
+ if (yych == 'l') goto yy159;
+ if (yych <= 'm') goto yy87;
+ goto yy160;
} else {
- if (yych <= 'r') goto yy11;
- if (yych <= 's') goto yy85;
- if (yych <= 't') goto yy86;
- goto yy11;
+ if (yych <= 'r') goto yy87;
+ if (yych <= 's') goto yy161;
+ if (yych <= 't') goto yy162;
+ goto yy87;
}
-yy27:
+yy103:
yych = *++cursor_;
if (yych <= 'k') {
- if (yych == 'i') goto yy87;
- goto yy11;
+ if (yych == 'i') goto yy163;
+ goto yy87;
} else {
- if (yych <= 'l') goto yy88;
- if (yych == 'r') goto yy89;
- goto yy11;
+ if (yych <= 'l') goto yy164;
+ if (yych == 'r') goto yy165;
+ goto yy87;
}
-yy28:
+yy104:
yych = *++cursor_;
- if (yych == 'a') goto yy91;
- if (yych == 'u') goto yy92;
- goto yy11;
-yy29:
+ if (yych == 'a') goto yy167;
+ if (yych == 'u') goto yy168;
+ goto yy87;
+yy105:
yych = *++cursor_;
- if (yych == 'a') goto yy93;
- if (yych == 'r') goto yy94;
- goto yy11;
-yy30:
+ if (yych == 'a') goto yy169;
+ if (yych == 'r') goto yy170;
+ goto yy87;
+yy106:
yych = *++cursor_;
if (yych <= 'm') {
- if (yych == 'l') goto yy95;
- goto yy11;
+ if (yych == 'l') goto yy171;
+ goto yy87;
} else {
- if (yych <= 'n') goto yy96;
- if (yych == 'x') goto yy97;
- goto yy11;
+ if (yych <= 'n') goto yy172;
+ if (yych == 'x') goto yy173;
+ goto yy87;
}
-yy31:
+yy107:
yych = *++cursor_;
if (yych <= '5') {
- if (yych == '3') goto yy98;
- goto yy11;
+ if (yych == '3') goto yy174;
+ goto yy87;
} else {
- if (yych <= '6') goto yy99;
- if (yych == 'u') goto yy100;
- goto yy11;
+ if (yych <= '6') goto yy175;
+ if (yych == 'u') goto yy176;
+ goto yy87;
}
-yy32:
+yy108:
yych = *++cursor_;
if (yych <= 'k') {
- if (yych == 'e') goto yy101;
- goto yy11;
+ if (yych == 'e') goto yy177;
+ goto yy87;
} else {
- if (yych <= 'l') goto yy102;
- if (yych == 'r') goto yy103;
- goto yy11;
+ if (yych <= 'l') goto yy178;
+ if (yych == 'r') goto yy179;
+ goto yy87;
}
-yy33:
+yy109:
yych = *++cursor_;
if (yych <= '7') {
if (yych <= '2') {
- if (yych == '1') goto yy104;
- goto yy11;
+ if (yych == '1') goto yy180;
+ goto yy87;
} else {
- if (yych <= '3') goto yy105;
- if (yych == '6') goto yy106;
- goto yy11;
+ if (yych <= '3') goto yy181;
+ if (yych == '6') goto yy182;
+ goto yy87;
}
} else {
if (yych <= 'f') {
- if (yych <= '8') goto yy107;
- if (yych <= 'e') goto yy11;
- goto yy108;
+ if (yych <= '8') goto yy183;
+ if (yych <= 'e') goto yy87;
+ goto yy184;
} else {
- if (yych <= 'l') goto yy11;
- if (yych <= 'm') goto yy110;
- if (yych <= 'n') goto yy111;
- goto yy11;
+ if (yych <= 'l') goto yy87;
+ if (yych <= 'm') goto yy186;
+ if (yych <= 'n') goto yy187;
+ goto yy87;
}
}
-yy34:
+yy110:
yych = *++cursor_;
- if (yych == 'o') goto yy112;
- goto yy11;
-yy35:
+ if (yych == 'o') goto yy188;
+ goto yy87;
+yy111:
yych = *++cursor_;
if (yych <= 'n') {
- if (yych == 'e') goto yy113;
- goto yy11;
+ if (yych == 'e') goto yy189;
+ goto yy87;
} else {
- if (yych <= 'o') goto yy114;
- if (yych == 'u') goto yy115;
- goto yy11;
+ if (yych <= 'o') goto yy190;
+ if (yych == 'u') goto yy191;
+ goto yy87;
}
-yy36:
+yy112:
yych = *++cursor_;
- if (yych == 'a') goto yy116;
- if (yych == 'o') goto yy117;
- goto yy11;
-yy37:
+ if (yych == 'a') goto yy192;
+ if (yych == 'o') goto yy193;
+ goto yy87;
+yy113:
yych = *++cursor_;
- if (yych == 'f') goto yy118;
- goto yy11;
-yy38:
+ if (yych == 'f') goto yy194;
+ goto yy87;
+yy114:
yych = *++cursor_;
- if (yych == 'a') goto yy119;
- goto yy11;
-yy39:
+ if (yych == 'a') goto yy195;
+ goto yy87;
+yy115:
yych = *++cursor_;
- if (yych == 'u') goto yy120;
- goto yy11;
-yy40:
+ if (yych == 'u') goto yy196;
+ goto yy87;
+yy116:
yych = *++cursor_;
- if (yych == 'e') goto yy121;
- goto yy11;
-yy41:
+ if (yych == 'e') goto yy197;
+ goto yy87;
+yy117:
yych = *++cursor_;
if (yych <= 'g') {
- if (yych == 'e') goto yy122;
- goto yy11;
+ if (yych == 'e') goto yy198;
+ goto yy87;
} else {
- if (yych <= 'h') goto yy123;
- if (yych == 't') goto yy124;
- goto yy11;
+ if (yych <= 'h') goto yy199;
+ if (yych == 't') goto yy200;
+ goto yy87;
}
-yy42:
+yy118:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy125;
- case 'e': goto yy126;
- case 'h': goto yy127;
- case 'r': goto yy128;
- case 'y': goto yy129;
- default: goto yy11;
+ case 'a': goto yy201;
+ case 'e': goto yy202;
+ case 'h': goto yy203;
+ case 'r': goto yy204;
+ case 'y': goto yy205;
+ default: goto yy87;
}
-yy43:
+yy119:
yych = *++cursor_;
- if (yych == 'n') goto yy130;
- goto yy11;
-yy44:
+ if (yych == 'n') goto yy206;
+ goto yy87;
+yy120:
yych = *++cursor_;
- if (yych == '1') goto yy131;
- if (yych == '8') goto yy132;
- goto yy11;
-yy45:
+ if (yych == '1') goto yy207;
+ if (yych == '8') goto yy208;
+ goto yy87;
+yy121:
++cursor_;
-yy46:
-#line 723 "src/wast-lexer.cc"
+yy122:
+#line 764 "src/wast-lexer.cc"
{ MAYBE_MALFORMED_UTF8(""); }
-#line 643 "src/prebuilt/wast-lexer-gen.cc"
-yy47:
+#line 1159 "src/prebuilt/wast-lexer-gen.cc"
+yy123:
yych = *++cursor_;
- if (yych <= 0x7F) goto yy46;
- if (yych <= 0xBF) goto yy3;
- goto yy46;
-yy48:
+ if (yych <= 0x7F) goto yy122;
+ if (yych <= 0xBF) goto yy79;
+ goto yy122;
+yy124:
yyaccept = 1;
yych = *(marker_ = ++cursor_);
- if (yych <= 0x9F) goto yy46;
- if (yych <= 0xBF) goto yy133;
- goto yy46;
-yy49:
+ if (yych <= 0x9F) goto yy122;
+ if (yych <= 0xBF) goto yy209;
+ goto yy122;
+yy125:
yyaccept = 1;
yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy46;
- if (yych <= 0xBF) goto yy133;
- goto yy46;
-yy50:
+ if (yych <= 0x7F) goto yy122;
+ if (yych <= 0xBF) goto yy209;
+ goto yy122;
+yy126:
yyaccept = 1;
yych = *(marker_ = ++cursor_);
- if (yych <= 0x8F) goto yy46;
- if (yych <= 0xBF) goto yy134;
- goto yy46;
-yy51:
+ if (yych <= 0x8F) goto yy122;
+ if (yych <= 0xBF) goto yy210;
+ goto yy122;
+yy127:
yyaccept = 1;
yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy46;
- if (yych <= 0xBF) goto yy134;
- goto yy46;
-yy52:
+ if (yych <= 0x7F) goto yy122;
+ if (yych <= 0xBF) goto yy210;
+ goto yy122;
+yy128:
yyaccept = 1;
yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy46;
- if (yych <= 0x8F) goto yy134;
- goto yy46;
-yy53:
+ if (yych <= 0x7F) goto yy122;
+ if (yych <= 0x8F) goto yy210;
+ goto yy122;
+yy129:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
-yy54:
+yy130:
if (yybm[0+yych] & 32) {
- goto yy53;
+ goto yy129;
}
if (yych <= 0xDF) {
if (yych <= '"') {
- if (yych >= ' ') goto yy56;
+ if (yych >= ' ') goto yy132;
} else {
- if (yych <= '\\') goto yy58;
- if (yych >= 0xC2) goto yy59;
+ if (yych <= '\\') goto yy134;
+ if (yych >= 0xC2) goto yy135;
}
} else {
if (yych <= 0xF0) {
- if (yych <= 0xE0) goto yy60;
- if (yych <= 0xEF) goto yy61;
- goto yy62;
+ if (yych <= 0xE0) goto yy136;
+ if (yych <= 0xEF) goto yy137;
+ goto yy138;
} else {
- if (yych <= 0xF3) goto yy63;
- if (yych <= 0xF4) goto yy64;
+ if (yych <= 0xF3) goto yy139;
+ if (yych <= 0xF4) goto yy140;
}
}
-yy55:
+yy131:
cursor_ = marker_;
if (yyaccept == 0) {
- goto yy14;
+ goto yy90;
} else {
- goto yy46;
+ goto yy122;
}
-yy56:
+yy132:
++cursor_;
#line 242 "src/wast-lexer.cc"
{ RETURN_TEXT(Text); }
-#line 715 "src/prebuilt/wast-lexer-gen.cc"
-yy58:
+#line 1231 "src/prebuilt/wast-lexer-gen.cc"
+yy134:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= '[') {
if (yych <= '\'') {
- if (yych == '"') goto yy53;
- if (yych <= '&') goto yy55;
- goto yy53;
+ if (yych == '"') goto yy129;
+ if (yych <= '&') goto yy131;
+ goto yy129;
} else {
if (yych <= '9') {
- if (yych <= '/') goto yy55;
- goto yy135;
+ if (yych <= '/') goto yy131;
+ goto yy211;
} else {
- if (yych <= '@') goto yy55;
- if (yych <= 'F') goto yy135;
- goto yy55;
+ if (yych <= '@') goto yy131;
+ if (yych <= 'F') goto yy211;
+ goto yy131;
}
}
} else {
if (yych <= 'n') {
if (yych <= '`') {
- if (yych <= '\\') goto yy53;
- goto yy55;
+ if (yych <= '\\') goto yy129;
+ goto yy131;
} else {
- if (yych <= 'f') goto yy135;
- if (yych <= 'm') goto yy55;
- goto yy53;
+ if (yych <= 'f') goto yy211;
+ if (yych <= 'm') goto yy131;
+ goto yy129;
}
} else {
if (yych <= 'r') {
- if (yych <= 'q') goto yy55;
- goto yy53;
+ if (yych <= 'q') goto yy131;
+ goto yy129;
} else {
- if (yych == 't') goto yy53;
- goto yy55;
+ if (yych == 't') goto yy129;
+ goto yy131;
}
}
}
-yy59:
+yy135:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
- if (yych <= 0x7F) goto yy55;
- if (yych <= 0xBF) goto yy53;
- goto yy55;
-yy60:
+ if (yych <= 0x7F) goto yy131;
+ if (yych <= 0xBF) goto yy129;
+ goto yy131;
+yy136:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
- if (yych <= 0x9F) goto yy55;
- if (yych <= 0xBF) goto yy59;
- goto yy55;
-yy61:
+ if (yych <= 0x9F) goto yy131;
+ if (yych <= 0xBF) goto yy135;
+ goto yy131;
+yy137:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
- if (yych <= 0x7F) goto yy55;
- if (yych <= 0xBF) goto yy59;
- goto yy55;
-yy62:
+ if (yych <= 0x7F) goto yy131;
+ if (yych <= 0xBF) goto yy135;
+ goto yy131;
+yy138:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
- if (yych <= 0x8F) goto yy55;
- if (yych <= 0xBF) goto yy61;
- goto yy55;
-yy63:
+ if (yych <= 0x8F) goto yy131;
+ if (yych <= 0xBF) goto yy137;
+ goto yy131;
+yy139:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
- if (yych <= 0x7F) goto yy55;
- if (yych <= 0xBF) goto yy61;
- goto yy55;
-yy64:
+ if (yych <= 0x7F) goto yy131;
+ if (yych <= 0xBF) goto yy137;
+ goto yy131;
+yy140:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
- if (yych <= 0x7F) goto yy55;
- if (yych <= 0x8F) goto yy61;
- goto yy55;
-yy65:
+ if (yych <= 0x7F) goto yy131;
+ if (yych <= 0x8F) goto yy137;
+ goto yy131;
+yy141:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
-yy66:
+yy142:
if (yybm[0+yych] & 64) {
- goto yy65;
- }
- if (yych <= ')') goto yy67;
- if (yych <= ',') goto yy10;
- if (yych <= ';') goto yy67;
- if (yych <= '}') goto yy10;
-yy67:
-#line 704 "src/wast-lexer.cc"
+ goto yy141;
+ }
+ if (yych <= ')') goto yy143;
+ if (yych <= ',') goto yy86;
+ if (yych <= ';') goto yy143;
+ if (yych <= '}') goto yy86;
+yy143:
+#line 745 "src/wast-lexer.cc"
{ RETURN_TEXT(Var); }
-#line 812 "src/prebuilt/wast-lexer-gen.cc"
-yy68:
+#line 1328 "src/prebuilt/wast-lexer-gen.cc"
+yy144:
++cursor_;
BEGIN(YYCOND_BLOCK_COMMENT);
-#line 710 "src/wast-lexer.cc"
+#line 751 "src/wast-lexer.cc"
{ COMMENT_NESTING = 1; continue; }
-#line 818 "src/prebuilt/wast-lexer-gen.cc"
-yy70:
- yych = *++cursor_;
- if (yych == 'x') goto yy137;
- goto yy73;
-yy71:
+#line 1334 "src/prebuilt/wast-lexer-gen.cc"
+yy146:
+ ++cursor_;
+ if ((yych = *cursor_) <= ':') {
+ if (yych <= ')') {
+ if (yych <= '!') {
+ if (yych >= '!') goto yy86;
+ } else {
+ if (yych <= '"') goto yy147;
+ if (yych <= '\'') goto yy86;
+ }
+ } else {
+ if (yych <= '.') {
+ if (yych <= '-') goto yy86;
+ goto yy152;
+ } else {
+ if (yych <= '/') goto yy86;
+ if (yych <= '9') goto yy148;
+ goto yy86;
+ }
+ }
+ } else {
+ if (yych <= '_') {
+ if (yych <= 'D') {
+ if (yych >= '<') goto yy86;
+ } else {
+ if (yych <= 'E') goto yy154;
+ if (yych <= '^') goto yy86;
+ goto yy212;
+ }
+ } else {
+ if (yych <= 'w') {
+ if (yych == 'e') goto yy154;
+ goto yy86;
+ } else {
+ if (yych <= 'x') goto yy213;
+ if (yych <= '~') goto yy86;
+ }
+ }
+ }
+yy147:
#line 237 "src/wast-lexer.cc"
{ RETURN_LITERAL(Int, Int); }
-#line 826 "src/prebuilt/wast-lexer-gen.cc"
-yy72:
+#line 1377 "src/prebuilt/wast-lexer-gen.cc"
+yy148:
++cursor_;
if ((limit_ - cursor_) < 3) FILL(3);
yych = *cursor_;
-yy73:
if (yych <= '9') {
if (yych <= '\'') {
- if (yych == '!') goto yy10;
- if (yych <= '"') goto yy71;
- goto yy10;
+ if (yych == '!') goto yy86;
+ if (yych <= '"') goto yy147;
+ goto yy86;
} else {
if (yych <= '-') {
- if (yych <= ')') goto yy71;
- goto yy10;
+ if (yych <= ')') goto yy147;
+ goto yy86;
} else {
- if (yych <= '.') goto yy76;
- if (yych <= '/') goto yy10;
- goto yy72;
+ if (yych <= '.') goto yy152;
+ if (yych <= '/') goto yy86;
+ goto yy148;
}
}
} else {
if (yych <= '^') {
if (yych <= ';') {
- if (yych <= ':') goto yy10;
- goto yy71;
+ if (yych <= ':') goto yy86;
+ goto yy147;
} else {
- if (yych == 'E') goto yy78;
- goto yy10;
+ if (yych == 'E') goto yy154;
+ goto yy86;
}
} else {
if (yych <= 'd') {
- if (yych <= '_') goto yy136;
- goto yy10;
+ if (yych <= '_') goto yy212;
+ goto yy86;
} else {
- if (yych <= 'e') goto yy78;
- if (yych <= '~') goto yy10;
- goto yy71;
+ if (yych <= 'e') goto yy154;
+ if (yych <= '~') goto yy86;
+ goto yy147;
}
}
}
-yy74:
- yych = *++cursor_;
- if (yych == 'n') goto yy138;
- goto yy11;
-yy75:
+yy150:
yych = *++cursor_;
- if (yych == 'a') goto yy116;
- goto yy11;
-yy76:
+ if (yych == 'n') goto yy214;
+ goto yy87;
+yy151:
yych = *++cursor_;
- if (yych == '_') goto yy10;
- goto yy140;
-yy77:
+ if (yych == 'a') goto yy192;
+ goto yy87;
+yy152:
+ ++cursor_;
+ if ((yych = *cursor_) <= '9') {
+ if (yych <= '"') {
+ if (yych == '!') goto yy86;
+ } else {
+ if (yych <= '\'') goto yy86;
+ if (yych <= ')') goto yy153;
+ if (yych <= '/') goto yy86;
+ goto yy215;
+ }
+ } else {
+ if (yych <= 'E') {
+ if (yych == ';') goto yy153;
+ if (yych <= 'D') goto yy86;
+ goto yy154;
+ } else {
+ if (yych == 'e') goto yy154;
+ if (yych <= '~') goto yy86;
+ }
+ }
+yy153:
#line 238 "src/wast-lexer.cc"
{ RETURN_LITERAL(Float, Float); }
-#line 882 "src/prebuilt/wast-lexer-gen.cc"
-yy78:
+#line 1449 "src/prebuilt/wast-lexer-gen.cc"
+yy154:
yych = *++cursor_;
if (yych <= ',') {
- if (yych == '+') goto yy141;
- goto yy11;
+ if (yych == '+') goto yy217;
+ goto yy87;
} else {
- if (yych <= '-') goto yy141;
- if (yych <= '/') goto yy11;
- if (yych <= '9') goto yy142;
- goto yy11;
+ if (yych <= '-') goto yy217;
+ if (yych <= '/') goto yy87;
+ if (yych <= '9') goto yy218;
+ goto yy87;
}
-yy79:
+yy155:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yybm[0+yych] & 16) {
- goto yy23;
+ goto yy99;
}
if (yych <= '\'') {
- if (yych == '!') goto yy10;
- if (yych <= '"') goto yy12;
- goto yy10;
+ if (yych == '!') goto yy86;
+ if (yych <= '"') goto yy88;
+ goto yy86;
} else {
if (yych <= ':') {
- if (yych <= ')') goto yy12;
- goto yy10;
+ if (yych <= ')') goto yy88;
+ goto yy86;
} else {
- if (yych <= ';') goto yy12;
- if (yych <= '~') goto yy10;
- goto yy12;
+ if (yych <= ';') goto yy88;
+ if (yych <= '~') goto yy86;
+ goto yy88;
}
}
-yy80:
+yy156:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yybm[0+yych] & 128) {
- goto yy144;
+ goto yy220;
}
if (yych <= '\'') {
- if (yych == '!') goto yy10;
- if (yych <= '"') goto yy12;
- goto yy10;
+ if (yych == '!') goto yy86;
+ if (yych <= '"') goto yy88;
+ goto yy86;
} else {
if (yych <= ':') {
- if (yych <= ')') goto yy12;
- goto yy10;
+ if (yych <= ')') goto yy88;
+ goto yy86;
} else {
- if (yych <= ';') goto yy12;
- if (yych <= '~') goto yy10;
- goto yy12;
+ if (yych <= ';') goto yy88;
+ if (yych <= '~') goto yy86;
+ goto yy88;
}
}
-yy81:
+yy157:
++cursor_;
BEGIN(YYCOND_LINE_COMMENT);
-#line 707 "src/wast-lexer.cc"
+#line 748 "src/wast-lexer.cc"
{ continue; }
-#line 941 "src/prebuilt/wast-lexer-gen.cc"
-yy83:
- yych = *++cursor_;
- if (yych == 'i') goto yy146;
- goto yy11;
-yy84:
+#line 1508 "src/prebuilt/wast-lexer-gen.cc"
+yy159:
yych = *++cursor_;
- if (yych == 'y') goto yy147;
- goto yy11;
-yy85:
+ if (yych == 'i') goto yy222;
+ goto yy87;
+yy160:
yych = *++cursor_;
- if (yych == 's') goto yy148;
- goto yy11;
-yy86:
+ if (yych == 'y') goto yy223;
+ goto yy87;
+yy161:
yych = *++cursor_;
- if (yych == 'o') goto yy149;
- goto yy11;
-yy87:
+ if (yych == 's') goto yy224;
+ goto yy87;
+yy162:
yych = *++cursor_;
- if (yych == 'n') goto yy150;
- goto yy11;
-yy88:
+ if (yych == 'o') goto yy225;
+ goto yy87;
+yy163:
yych = *++cursor_;
- if (yych == 'o') goto yy151;
- goto yy11;
-yy89:
+ if (yych == 'n') goto yy226;
+ goto yy87;
+yy164:
yych = *++cursor_;
- if (yych <= ')') {
+ if (yych == 'o') goto yy227;
+ goto yy87;
+yy165:
+ ++cursor_;
+ if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy10;
+ if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy90;
- if (yych <= '\'') goto yy10;
+ if (yych <= '"') goto yy166;
+ if (yych <= '\'') goto yy86;
}
} else {
if (yych <= '^') {
- if (yych != ';') goto yy10;
+ if (yych != ';') goto yy86;
} else {
- if (yych <= '_') goto yy152;
- if (yych <= '~') goto yy10;
+ if (yych <= '_') goto yy228;
+ if (yych <= '~') goto yy86;
}
}
-yy90:
+yy166:
#line 268 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Br); }
-#line 986 "src/prebuilt/wast-lexer-gen.cc"
-yy91:
- yych = *++cursor_;
- if (yych == 'l') goto yy153;
- if (yych == 't') goto yy154;
- goto yy11;
-yy92:
+#line 1553 "src/prebuilt/wast-lexer-gen.cc"
+yy167:
yych = *++cursor_;
- if (yych == 'r') goto yy155;
- goto yy11;
-yy93:
+ if (yych == 'l') goto yy229;
+ if (yych == 't') goto yy230;
+ goto yy87;
+yy168:
yych = *++cursor_;
- if (yych == 't') goto yy156;
- goto yy11;
-yy94:
+ if (yych == 'r') goto yy231;
+ goto yy87;
+yy169:
yych = *++cursor_;
- if (yych == 'o') goto yy157;
- goto yy11;
-yy95:
+ if (yych == 't') goto yy232;
+ goto yy87;
+yy170:
yych = *++cursor_;
- if (yych == 'e') goto yy158;
- if (yych == 's') goto yy159;
- goto yy11;
-yy96:
+ if (yych == 'o') goto yy233;
+ goto yy87;
+yy171:
yych = *++cursor_;
- if (yych == 'd') goto yy160;
- goto yy11;
-yy97:
+ if (yych == 'e') goto yy234;
+ if (yych == 's') goto yy235;
+ goto yy87;
+yy172:
yych = *++cursor_;
- if (yych == 'c') goto yy162;
- if (yych == 'p') goto yy163;
- goto yy11;
-yy98:
+ if (yych == 'd') goto yy236;
+ goto yy87;
+yy173:
yych = *++cursor_;
- if (yych == '2') goto yy164;
- goto yy11;
-yy99:
+ if (yych == 'c') goto yy238;
+ if (yych == 'p') goto yy239;
+ goto yy87;
+yy174:
yych = *++cursor_;
- if (yych == '4') goto yy166;
- goto yy11;
-yy100:
+ if (yych == '2') goto yy240;
+ goto yy87;
+yy175:
yych = *++cursor_;
- if (yych == 'n') goto yy168;
- goto yy11;
-yy101:
+ if (yych == '4') goto yy242;
+ goto yy87;
+yy176:
yych = *++cursor_;
- if (yych == 't') goto yy169;
- goto yy11;
-yy102:
+ if (yych == 'n') goto yy244;
+ goto yy87;
+yy177:
yych = *++cursor_;
- if (yych == 'o') goto yy171;
- goto yy11;
-yy103:
+ if (yych == 't') goto yy245;
+ goto yy87;
+yy178:
yych = *++cursor_;
- if (yych == 'o') goto yy172;
- goto yy11;
-yy104:
+ if (yych == 'o') goto yy247;
+ goto yy87;
+yy179:
yych = *++cursor_;
- if (yych == '6') goto yy173;
- goto yy11;
-yy105:
+ if (yych == 'o') goto yy248;
+ goto yy87;
+yy180:
yych = *++cursor_;
- if (yych == '2') goto yy174;
- goto yy11;
-yy106:
+ if (yych == '6') goto yy249;
+ goto yy87;
+yy181:
yych = *++cursor_;
- if (yych == '4') goto yy176;
- goto yy11;
-yy107:
+ if (yych == '2') goto yy250;
+ goto yy87;
+yy182:
yych = *++cursor_;
- if (yych == 'x') goto yy178;
- goto yy11;
-yy108:
+ if (yych == '4') goto yy252;
+ goto yy87;
+yy183:
yych = *++cursor_;
- if (yych <= ')') {
+ if (yych == 'x') goto yy254;
+ goto yy87;
+yy184:
+ ++cursor_;
+ if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy10;
+ if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy109;
- if (yych <= '\'') goto yy10;
+ if (yych <= '"') goto yy185;
+ if (yych <= '\'') goto yy86;
}
} else {
if (yych <= '^') {
- if (yych != ';') goto yy10;
+ if (yych != ';') goto yy86;
} else {
- if (yych <= '_') goto yy179;
- if (yych <= '~') goto yy10;
+ if (yych <= '_') goto yy255;
+ if (yych <= '~') goto yy86;
}
}
-yy109:
+yy185:
#line 264 "src/wast-lexer.cc"
{ RETURN_OPCODE0(If); }
-#line 1078 "src/prebuilt/wast-lexer-gen.cc"
-yy110:
+#line 1645 "src/prebuilt/wast-lexer-gen.cc"
+yy186:
yych = *++cursor_;
- if (yych == 'p') goto yy180;
- goto yy11;
-yy111:
+ if (yych == 'p') goto yy256;
+ goto yy87;
+yy187:
yych = *++cursor_;
- if (yych == 'f') goto yy181;
- if (yych == 'v') goto yy183;
- goto yy11;
-yy112:
+ if (yych == 'f') goto yy257;
+ if (yych == 'v') goto yy259;
+ goto yy87;
+yy188:
yych = *++cursor_;
- if (yych == 'c') goto yy184;
- if (yych == 'o') goto yy185;
- goto yy11;
-yy113:
+ if (yych == 'c') goto yy260;
+ if (yych == 'o') goto yy261;
+ goto yy87;
+yy189:
yych = *++cursor_;
- if (yych == 'm') goto yy186;
- goto yy11;
-yy114:
+ if (yych == 'm') goto yy262;
+ goto yy87;
+yy190:
yych = *++cursor_;
- if (yych == 'd') goto yy187;
- goto yy11;
-yy115:
+ if (yych == 'd') goto yy263;
+ goto yy87;
+yy191:
yych = *++cursor_;
- if (yych == 't') goto yy188;
- goto yy11;
-yy116:
+ if (yych == 't') goto yy264;
+ goto yy87;
+yy192:
yych = *++cursor_;
- if (yych == 'n') goto yy190;
- goto yy11;
-yy117:
+ if (yych == 'n') goto yy266;
+ goto yy87;
+yy193:
yych = *++cursor_;
- if (yych == 'p') goto yy192;
- goto yy11;
-yy118:
+ if (yych == 'p') goto yy268;
+ goto yy87;
+yy194:
yych = *++cursor_;
- if (yych == 'f') goto yy194;
- goto yy11;
-yy119:
+ if (yych == 'f') goto yy270;
+ goto yy87;
+yy195:
yych = *++cursor_;
- if (yych <= 'q') goto yy11;
- if (yych <= 'r') goto yy195;
- if (yych <= 's') goto yy196;
- goto yy11;
-yy120:
+ if (yych <= 'q') goto yy87;
+ if (yych <= 'r') goto yy271;
+ if (yych <= 's') goto yy272;
+ goto yy87;
+yy196:
yych = *++cursor_;
- if (yych == 'o') goto yy197;
- goto yy11;
-yy121:
+ if (yych == 'o') goto yy273;
+ goto yy87;
+yy197:
yych = *++cursor_;
if (yych <= 'r') {
- if (yych == 'g') goto yy198;
- goto yy11;
+ if (yych == 'g') goto yy274;
+ goto yy87;
} else {
- if (yych <= 's') goto yy199;
- if (yych <= 't') goto yy200;
- goto yy11;
+ if (yych <= 's') goto yy275;
+ if (yych <= 't') goto yy276;
+ goto yy87;
}
-yy122:
+yy198:
yych = *++cursor_;
- if (yych == 'l') goto yy201;
- if (yych == 't') goto yy202;
- goto yy11;
-yy123:
+ if (yych == 'l') goto yy277;
+ if (yych == 't') goto yy278;
+ goto yy87;
+yy199:
yych = *++cursor_;
- if (yych == 'a') goto yy203;
- goto yy11;
-yy124:
+ if (yych == 'a') goto yy279;
+ goto yy87;
+yy200:
yych = *++cursor_;
- if (yych == 'a') goto yy204;
- goto yy11;
-yy125:
+ if (yych == 'a') goto yy280;
+ goto yy87;
+yy201:
yych = *++cursor_;
- if (yych == 'b') goto yy205;
- goto yy11;
-yy126:
+ if (yych == 'b') goto yy281;
+ goto yy87;
+yy202:
yych = *++cursor_;
- if (yych == 'e') goto yy206;
- goto yy11;
-yy127:
+ if (yych == 'e') goto yy282;
+ goto yy87;
+yy203:
yych = *++cursor_;
- if (yych == 'e') goto yy207;
- if (yych == 'r') goto yy208;
- goto yy11;
-yy128:
+ if (yych == 'e') goto yy283;
+ if (yych == 'r') goto yy284;
+ goto yy87;
+yy204:
yych = *++cursor_;
- if (yych == 'y') goto yy209;
- goto yy11;
-yy129:
+ if (yych == 'y') goto yy285;
+ goto yy87;
+yy205:
yych = *++cursor_;
- if (yych == 'p') goto yy211;
- goto yy11;
-yy130:
+ if (yych == 'p') goto yy287;
+ goto yy87;
+yy206:
yych = *++cursor_;
- if (yych == 'r') goto yy212;
- goto yy11;
-yy131:
+ if (yych == 'r') goto yy288;
+ goto yy87;
+yy207:
yych = *++cursor_;
- if (yych == '2') goto yy213;
- goto yy11;
-yy132:
+ if (yych == '2') goto yy289;
+ goto yy87;
+yy208:
yych = *++cursor_;
- if (yych == 'x') goto yy214;
- goto yy11;
-yy133:
+ if (yych == 'x') goto yy290;
+ goto yy87;
+yy209:
yych = *++cursor_;
- if (yych <= 0x7F) goto yy55;
- if (yych <= 0xBF) goto yy3;
- goto yy55;
-yy134:
+ if (yych <= 0x7F) goto yy131;
+ if (yych <= 0xBF) goto yy79;
+ goto yy131;
+yy210:
yych = *++cursor_;
- if (yych <= 0x7F) goto yy55;
- if (yych <= 0xBF) goto yy133;
- goto yy55;
-yy135:
+ if (yych <= 0x7F) goto yy131;
+ if (yych <= 0xBF) goto yy209;
+ goto yy131;
+yy211:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= '@') {
- if (yych <= '/') goto yy55;
- if (yych <= '9') goto yy53;
- goto yy55;
+ if (yych <= '/') goto yy131;
+ if (yych <= '9') goto yy129;
+ goto yy131;
} else {
- if (yych <= 'F') goto yy53;
- if (yych <= '`') goto yy55;
- if (yych <= 'f') goto yy53;
- goto yy55;
+ if (yych <= 'F') goto yy129;
+ if (yych <= '`') goto yy131;
+ if (yych <= 'f') goto yy129;
+ goto yy131;
}
-yy136:
+yy212:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= ')') {
if (yych <= '!') {
- if (yych <= ' ') goto yy12;
- goto yy10;
+ if (yych <= ' ') goto yy88;
+ goto yy86;
} else {
- if (yych <= '"') goto yy12;
- if (yych <= '\'') goto yy10;
- goto yy12;
+ if (yych <= '"') goto yy88;
+ if (yych <= '\'') goto yy86;
+ goto yy88;
}
} else {
if (yych <= ':') {
- if (yych <= '/') goto yy10;
- if (yych <= '9') goto yy72;
- goto yy10;
+ if (yych <= '/') goto yy86;
+ if (yych <= '9') goto yy148;
+ goto yy86;
} else {
- if (yych <= ';') goto yy12;
- if (yych <= '~') goto yy10;
- goto yy12;
+ if (yych <= ';') goto yy88;
+ if (yych <= '~') goto yy86;
+ goto yy88;
}
}
-yy137:
+yy213:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= '9') {
if (yych <= '"') {
- if (yych == '!') goto yy10;
- goto yy12;
+ if (yych == '!') goto yy86;
+ goto yy88;
} else {
- if (yych <= '\'') goto yy10;
- if (yych <= ')') goto yy12;
- if (yych <= '/') goto yy10;
- goto yy215;
+ if (yych <= '\'') goto yy86;
+ if (yych <= ')') goto yy88;
+ if (yych <= '/') goto yy86;
+ goto yy291;
}
} else {
if (yych <= 'F') {
- if (yych == ';') goto yy12;
- if (yych <= '@') goto yy10;
- goto yy215;
+ if (yych == ';') goto yy88;
+ if (yych <= '@') goto yy86;
+ goto yy291;
} else {
- if (yych <= '`') goto yy10;
- if (yych <= 'f') goto yy215;
- if (yych <= '~') goto yy10;
- goto yy12;
+ if (yych <= '`') goto yy86;
+ if (yych <= 'f') goto yy291;
+ if (yych <= '~') goto yy86;
+ goto yy88;
}
}
-yy138:
+yy214:
yych = *++cursor_;
- if (yych == 'f') goto yy181;
- goto yy11;
-yy139:
+ if (yych == 'f') goto yy257;
+ goto yy87;
+yy215:
++cursor_;
if ((limit_ - cursor_) < 2) FILL(2);
yych = *cursor_;
-yy140:
if (yych <= ':') {
if (yych <= '\'') {
- if (yych == '!') goto yy10;
- if (yych <= '"') goto yy77;
- goto yy10;
+ if (yych == '!') goto yy86;
+ if (yych <= '"') goto yy153;
+ goto yy86;
} else {
- if (yych <= ')') goto yy77;
- if (yych <= '/') goto yy10;
- if (yych <= '9') goto yy139;
- goto yy10;
+ if (yych <= ')') goto yy153;
+ if (yych <= '/') goto yy86;
+ if (yych <= '9') goto yy215;
+ goto yy86;
}
} else {
if (yych <= '^') {
- if (yych <= ';') goto yy77;
- if (yych == 'E') goto yy78;
- goto yy10;
+ if (yych <= ';') goto yy153;
+ if (yych == 'E') goto yy154;
+ goto yy86;
} else {
if (yych <= 'd') {
- if (yych <= '_') goto yy217;
- goto yy10;
+ if (yych <= '_') goto yy293;
+ goto yy86;
} else {
- if (yych <= 'e') goto yy78;
- if (yych <= '~') goto yy10;
- goto yy77;
+ if (yych <= 'e') goto yy154;
+ if (yych <= '~') goto yy86;
+ goto yy153;
}
}
}
-yy141:
+yy217:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= ')') {
if (yych <= '!') {
- if (yych <= ' ') goto yy12;
- goto yy10;
+ if (yych <= ' ') goto yy88;
+ goto yy86;
} else {
- if (yych <= '"') goto yy12;
- if (yych <= '\'') goto yy10;
- goto yy12;
+ if (yych <= '"') goto yy88;
+ if (yych <= '\'') goto yy86;
+ goto yy88;
}
} else {
if (yych <= ':') {
- if (yych <= '/') goto yy10;
- if (yych >= ':') goto yy10;
+ if (yych <= '/') goto yy86;
+ if (yych >= ':') goto yy86;
} else {
- if (yych <= ';') goto yy12;
- if (yych <= '~') goto yy10;
- goto yy12;
+ if (yych <= ';') goto yy88;
+ if (yych <= '~') goto yy86;
+ goto yy88;
}
}
-yy142:
+yy218:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= '/') {
if (yych <= '"') {
- if (yych == '!') goto yy10;
- goto yy77;
+ if (yych == '!') goto yy86;
+ goto yy153;
} else {
- if (yych <= '\'') goto yy10;
- if (yych <= ')') goto yy77;
- goto yy10;
+ if (yych <= '\'') goto yy86;
+ if (yych <= ')') goto yy153;
+ goto yy86;
}
} else {
if (yych <= ';') {
- if (yych <= '9') goto yy142;
- if (yych <= ':') goto yy10;
- goto yy77;
+ if (yych <= '9') goto yy218;
+ if (yych <= ':') goto yy86;
+ goto yy153;
} else {
- if (yych == '_') goto yy141;
- if (yych <= '~') goto yy10;
- goto yy77;
+ if (yych == '_') goto yy217;
+ if (yych <= '~') goto yy86;
+ goto yy153;
}
}
-yy144:
+yy220:
++cursor_;
if ((limit_ - cursor_) < 3) FILL(3);
yych = *cursor_;
if (yybm[0+yych] & 128) {
- goto yy144;
+ goto yy220;
}
if (yych <= ':') {
if (yych <= '\'') {
- if (yych == '!') goto yy10;
- if (yych <= '"') goto yy22;
- goto yy10;
+ if (yych == '!') goto yy86;
+ if (yych <= '"') goto yy98;
+ goto yy86;
} else {
- if (yych <= ')') goto yy22;
- if (yych == '.') goto yy218;
- goto yy10;
+ if (yych <= ')') goto yy98;
+ if (yych == '.') goto yy294;
+ goto yy86;
}
} else {
if (yych <= '^') {
- if (yych <= ';') goto yy22;
- if (yych == 'P') goto yy220;
- goto yy10;
+ if (yych <= ';') goto yy98;
+ if (yych == 'P') goto yy296;
+ goto yy86;
} else {
if (yych <= 'o') {
- if (yych <= '_') goto yy80;
- goto yy10;
+ if (yych <= '_') goto yy156;
+ goto yy86;
} else {
- if (yych <= 'p') goto yy220;
- if (yych <= '~') goto yy10;
- goto yy22;
+ if (yych <= 'p') goto yy296;
+ if (yych <= '~') goto yy86;
+ goto yy98;
}
}
}
-yy146:
- yych = *++cursor_;
- if (yych == 'g') goto yy221;
- goto yy11;
-yy147:
+yy222:
yych = *++cursor_;
- if (yych == 'f') goto yy222;
- goto yy11;
-yy148:
+ if (yych == 'g') goto yy297;
+ goto yy87;
+yy223:
yych = *++cursor_;
- if (yych == 'e') goto yy223;
- goto yy11;
-yy149:
+ if (yych == 'f') goto yy298;
+ goto yy87;
+yy224:
yych = *++cursor_;
- if (yych == 'm') goto yy224;
- goto yy11;
-yy150:
+ if (yych == 'e') goto yy299;
+ goto yy87;
+yy225:
yych = *++cursor_;
- if (yych == 'a') goto yy225;
- goto yy11;
-yy151:
+ if (yych == 'm') goto yy300;
+ goto yy87;
+yy226:
yych = *++cursor_;
- if (yych == 'c') goto yy226;
- goto yy11;
-yy152:
+ if (yych == 'a') goto yy301;
+ goto yy87;
+yy227:
yych = *++cursor_;
- if (yych == 'i') goto yy227;
- if (yych == 't') goto yy228;
- goto yy11;
-yy153:
+ if (yych == 'c') goto yy302;
+ goto yy87;
+yy228:
yych = *++cursor_;
- if (yych == 'l') goto yy229;
- goto yy11;
-yy154:
+ if (yych == 'i') goto yy303;
+ if (yych == 't') goto yy304;
+ goto yy87;
+yy229:
yych = *++cursor_;
- if (yych == 'c') goto yy231;
- goto yy11;
-yy155:
+ if (yych == 'l') goto yy305;
+ goto yy87;
+yy230:
yych = *++cursor_;
- if (yych == 'r') goto yy232;
- goto yy11;
-yy156:
+ if (yych == 'c') goto yy307;
+ goto yy87;
+yy231:
yych = *++cursor_;
- if (yych == 'a') goto yy233;
- goto yy11;
-yy157:
+ if (yych == 'r') goto yy308;
+ goto yy87;
+yy232:
yych = *++cursor_;
- if (yych == 'p') goto yy235;
- goto yy11;
-yy158:
+ if (yych == 'a') goto yy309;
+ goto yy87;
+yy233:
yych = *++cursor_;
- if (yych == 'm') goto yy237;
- goto yy11;
-yy159:
+ if (yych == 'p') goto yy311;
+ goto yy87;
+yy234:
yych = *++cursor_;
- if (yych == 'e') goto yy239;
- goto yy11;
-yy160:
+ if (yych == 'm') goto yy313;
+ goto yy87;
+yy235:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'e') goto yy315;
+ goto yy87;
+yy236:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 274 "src/wast-lexer.cc"
{ RETURN_OPCODE0(End); }
-#line 1437 "src/prebuilt/wast-lexer-gen.cc"
-yy162:
+#line 2003 "src/prebuilt/wast-lexer-gen.cc"
+yy238:
yych = *++cursor_;
- if (yych == 'e') goto yy241;
- goto yy11;
-yy163:
- yych = *++cursor_;
- if (yych == 'o') goto yy242;
- goto yy11;
-yy164:
+ if (yych == 'e') goto yy317;
+ goto yy87;
+yy239:
yych = *++cursor_;
- if (yych <= '-') {
+ if (yych == 'o') goto yy318;
+ goto yy87;
+yy240:
+ ++cursor_;
+ if ((yych = *cursor_) <= '-') {
if (yych <= '"') {
- if (yych == '!') goto yy10;
+ if (yych == '!') goto yy86;
} else {
- if (yych <= '\'') goto yy10;
- if (yych >= '*') goto yy10;
+ if (yych <= '\'') goto yy86;
+ if (yych >= '*') goto yy86;
}
} else {
if (yych <= ';') {
- if (yych <= '.') goto yy243;
- if (yych <= ':') goto yy10;
+ if (yych <= '.') goto yy319;
+ if (yych <= ':') goto yy86;
} else {
- if (yych == 'x') goto yy244;
- if (yych <= '~') goto yy10;
+ if (yych == 'x') goto yy320;
+ if (yych <= '~') goto yy86;
}
}
#line 257 "src/wast-lexer.cc"
{ RETURN_TYPE(ValueType, F32); }
-#line 1466 "src/prebuilt/wast-lexer-gen.cc"
-yy166:
- yych = *++cursor_;
- if (yych <= '-') {
+#line 2032 "src/prebuilt/wast-lexer-gen.cc"
+yy242:
+ ++cursor_;
+ if ((yych = *cursor_) <= '-') {
if (yych <= '"') {
- if (yych == '!') goto yy10;
+ if (yych == '!') goto yy86;
} else {
- if (yych <= '\'') goto yy10;
- if (yych >= '*') goto yy10;
+ if (yych <= '\'') goto yy86;
+ if (yych >= '*') goto yy86;
}
} else {
if (yych <= ';') {
- if (yych <= '.') goto yy245;
- if (yych <= ':') goto yy10;
+ if (yych <= '.') goto yy321;
+ if (yych <= ':') goto yy86;
} else {
- if (yych == 'x') goto yy246;
- if (yych <= '~') goto yy10;
+ if (yych == 'x') goto yy322;
+ if (yych <= '~') goto yy86;
}
}
#line 258 "src/wast-lexer.cc"
{ RETURN_TYPE(ValueType, F64); }
-#line 1487 "src/prebuilt/wast-lexer-gen.cc"
-yy168:
- yych = *++cursor_;
- if (yych == 'c') goto yy247;
- goto yy11;
-yy169:
+#line 2053 "src/prebuilt/wast-lexer-gen.cc"
+yy244:
yych = *++cursor_;
- if (yych <= ')') {
+ if (yych == 'c') goto yy323;
+ goto yy87;
+yy245:
+ ++cursor_;
+ if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy10;
+ if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy170;
- if (yych <= '\'') goto yy10;
+ if (yych <= '"') goto yy246;
+ if (yych <= '\'') goto yy86;
}
} else {
if (yych <= '^') {
- if (yych != ';') goto yy10;
+ if (yych != ';') goto yy86;
} else {
- if (yych <= '_') goto yy249;
- if (yych <= '~') goto yy10;
+ if (yych <= '_') goto yy325;
+ if (yych <= '~') goto yy86;
}
}
-yy170:
-#line 690 "src/wast-lexer.cc"
+yy246:
+#line 731 "src/wast-lexer.cc"
{ RETURN(Get); }
-#line 1512 "src/prebuilt/wast-lexer-gen.cc"
-yy171:
- yych = *++cursor_;
- if (yych == 'b') goto yy250;
- goto yy11;
-yy172:
+#line 2078 "src/prebuilt/wast-lexer-gen.cc"
+yy247:
yych = *++cursor_;
- if (yych == 'w') goto yy251;
- goto yy11;
-yy173:
+ if (yych == 'b') goto yy326;
+ goto yy87;
+yy248:
yych = *++cursor_;
- if (yych == 'x') goto yy252;
- goto yy11;
-yy174:
+ if (yych == 'w') goto yy327;
+ goto yy87;
+yy249:
yych = *++cursor_;
- if (yych <= '-') {
+ if (yych == 'x') goto yy328;
+ goto yy87;
+yy250:
+ ++cursor_;
+ if ((yych = *cursor_) <= '-') {
if (yych <= '"') {
- if (yych == '!') goto yy10;
+ if (yych == '!') goto yy86;
} else {
- if (yych <= '\'') goto yy10;
- if (yych >= '*') goto yy10;
+ if (yych <= '\'') goto yy86;
+ if (yych >= '*') goto yy86;
}
} else {
if (yych <= ';') {
- if (yych <= '.') goto yy253;
- if (yych <= ':') goto yy10;
+ if (yych <= '.') goto yy329;
+ if (yych <= ':') goto yy86;
} else {
- if (yych == 'x') goto yy254;
- if (yych <= '~') goto yy10;
+ if (yych == 'x') goto yy330;
+ if (yych <= '~') goto yy86;
}
}
#line 255 "src/wast-lexer.cc"
{ RETURN_TYPE(ValueType, I32); }
-#line 1545 "src/prebuilt/wast-lexer-gen.cc"
-yy176:
- yych = *++cursor_;
- if (yych <= '-') {
+#line 2111 "src/prebuilt/wast-lexer-gen.cc"
+yy252:
+ ++cursor_;
+ if ((yych = *cursor_) <= '-') {
if (yych <= '"') {
- if (yych == '!') goto yy10;
+ if (yych == '!') goto yy86;
} else {
- if (yych <= '\'') goto yy10;
- if (yych >= '*') goto yy10;
+ if (yych <= '\'') goto yy86;
+ if (yych >= '*') goto yy86;
}
} else {
if (yych <= ';') {
- if (yych <= '.') goto yy255;
- if (yych <= ':') goto yy10;
+ if (yych <= '.') goto yy331;
+ if (yych <= ':') goto yy86;
} else {
- if (yych == 'x') goto yy256;
- if (yych <= '~') goto yy10;
+ if (yych == 'x') goto yy332;
+ if (yych <= '~') goto yy86;
}
}
#line 256 "src/wast-lexer.cc"
{ RETURN_TYPE(ValueType, I64); }
-#line 1566 "src/prebuilt/wast-lexer-gen.cc"
-yy178:
- yych = *++cursor_;
- if (yych == '1') goto yy257;
- goto yy11;
-yy179:
+#line 2132 "src/prebuilt/wast-lexer-gen.cc"
+yy254:
yych = *++cursor_;
- if (yych == 'e') goto yy258;
- goto yy11;
-yy180:
+ if (yych == '1') goto yy333;
+ goto yy87;
+yy255:
yych = *++cursor_;
- if (yych == 'o') goto yy259;
- goto yy11;
-yy181:
+ if (yych == 'e') goto yy334;
+ goto yy87;
+yy256:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'o') goto yy335;
+ goto yy87;
+yy257:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 240 "src/wast-lexer.cc"
{ RETURN_LITERAL(Float, Infinity); }
-#line 1586 "src/prebuilt/wast-lexer-gen.cc"
-yy183:
- yych = *++cursor_;
- if (yych == 'o') goto yy260;
- goto yy11;
-yy184:
+#line 2152 "src/prebuilt/wast-lexer-gen.cc"
+yy259:
yych = *++cursor_;
- if (yych == 'a') goto yy261;
- goto yy11;
-yy185:
+ if (yych == 'o') goto yy336;
+ goto yy87;
+yy260:
yych = *++cursor_;
- if (yych == 'p') goto yy262;
- goto yy11;
-yy186:
+ if (yych == 'a') goto yy337;
+ goto yy87;
+yy261:
yych = *++cursor_;
- if (yych == 'o') goto yy264;
- goto yy11;
-yy187:
+ if (yych == 'p') goto yy338;
+ goto yy87;
+yy262:
yych = *++cursor_;
- if (yych == 'u') goto yy265;
- goto yy11;
-yy188:
+ if (yych == 'o') goto yy340;
+ goto yy87;
+yy263:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'u') goto yy341;
+ goto yy87;
+yy264:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 261 "src/wast-lexer.cc"
{ RETURN(Mut); }
-#line 1614 "src/prebuilt/wast-lexer-gen.cc"
-yy190:
- yych = *++cursor_;
- if (yych <= ')') {
+#line 2180 "src/prebuilt/wast-lexer-gen.cc"
+yy266:
+ ++cursor_;
+ if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy10;
+ if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy191;
- if (yych <= '\'') goto yy10;
+ if (yych <= '"') goto yy267;
+ if (yych <= '\'') goto yy86;
}
} else {
if (yych <= ':') {
- if (yych <= '9') goto yy10;
- goto yy266;
+ if (yych <= '9') goto yy86;
+ goto yy342;
} else {
- if (yych <= ';') goto yy191;
- if (yych <= '~') goto yy10;
+ if (yych <= ';') goto yy267;
+ if (yych <= '~') goto yy86;
}
}
-yy191:
+yy267:
#line 241 "src/wast-lexer.cc"
{ RETURN_LITERAL(Float, Nan); }
-#line 1636 "src/prebuilt/wast-lexer-gen.cc"
-yy192:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 2202 "src/prebuilt/wast-lexer-gen.cc"
+yy268:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 262 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Nop); }
-#line 1644 "src/prebuilt/wast-lexer-gen.cc"
-yy194:
- yych = *++cursor_;
- if (yych == 's') goto yy267;
- goto yy11;
-yy195:
+#line 2210 "src/prebuilt/wast-lexer-gen.cc"
+yy270:
yych = *++cursor_;
- if (yych == 'a') goto yy268;
- goto yy11;
-yy196:
+ if (yych == 's') goto yy343;
+ goto yy87;
+yy271:
yych = *++cursor_;
- if (yych == 's') goto yy269;
- goto yy11;
-yy197:
+ if (yych == 'a') goto yy344;
+ goto yy87;
+yy272:
yych = *++cursor_;
- if (yych == 't') goto yy270;
- goto yy11;
-yy198:
+ if (yych == 's') goto yy345;
+ goto yy87;
+yy273:
yych = *++cursor_;
- if (yych == 'i') goto yy271;
- goto yy11;
-yy199:
+ if (yych == 't') goto yy346;
+ goto yy87;
+yy274:
yych = *++cursor_;
- if (yych == 'u') goto yy272;
- goto yy11;
-yy200:
+ if (yych == 'i') goto yy347;
+ goto yy87;
+yy275:
yych = *++cursor_;
- if (yych == 'h') goto yy273;
- if (yych == 'u') goto yy274;
- goto yy11;
-yy201:
+ if (yych == 'u') goto yy348;
+ goto yy87;
+yy276:
yych = *++cursor_;
- if (yych == 'e') goto yy275;
- goto yy11;
-yy202:
+ if (yych == 'h') goto yy349;
+ if (yych == 'u') goto yy350;
+ goto yy87;
+yy277:
yych = *++cursor_;
- if (yych == '_') goto yy276;
- goto yy11;
-yy203:
+ if (yych == 'e') goto yy351;
+ goto yy87;
+yy278:
yych = *++cursor_;
- if (yych == 'r') goto yy277;
- goto yy11;
-yy204:
+ if (yych == '_') goto yy352;
+ goto yy87;
+yy279:
yych = *++cursor_;
- if (yych == 'r') goto yy278;
- goto yy11;
-yy205:
+ if (yych == 'r') goto yy353;
+ goto yy87;
+yy280:
yych = *++cursor_;
- if (yych == 'l') goto yy279;
- goto yy11;
-yy206:
+ if (yych == 'r') goto yy354;
+ goto yy87;
+yy281:
yych = *++cursor_;
- if (yych == '_') goto yy280;
- goto yy11;
-yy207:
+ if (yych == 'l') goto yy355;
+ goto yy87;
+yy282:
yych = *++cursor_;
- if (yych == 'n') goto yy281;
- goto yy11;
-yy208:
+ if (yych == '_') goto yy356;
+ goto yy87;
+yy283:
yych = *++cursor_;
- if (yych == 'o') goto yy283;
- goto yy11;
-yy209:
+ if (yych == 'n') goto yy357;
+ goto yy87;
+yy284:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'o') goto yy359;
+ goto yy87;
+yy285:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 699 "src/wast-lexer.cc"
+#line 740 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Try); }
-#line 1713 "src/prebuilt/wast-lexer-gen.cc"
-yy211:
+#line 2279 "src/prebuilt/wast-lexer-gen.cc"
+yy287:
yych = *++cursor_;
- if (yych == 'e') goto yy284;
- goto yy11;
-yy212:
+ if (yych == 'e') goto yy360;
+ goto yy87;
+yy288:
yych = *++cursor_;
- if (yych == 'e') goto yy286;
- goto yy11;
-yy213:
+ if (yych == 'e') goto yy362;
+ goto yy87;
+yy289:
yych = *++cursor_;
- if (yych == '8') goto yy287;
- goto yy11;
-yy214:
+ if (yych == '8') goto yy363;
+ goto yy87;
+yy290:
yych = *++cursor_;
- if (yych == '1') goto yy289;
- goto yy11;
-yy215:
+ if (yych == '1') goto yy365;
+ goto yy87;
+yy291:
++cursor_;
if ((limit_ - cursor_) < 3) FILL(3);
yych = *cursor_;
if (yych <= ';') {
if (yych <= ')') {
if (yych <= '!') {
- if (yych <= ' ') goto yy71;
- goto yy10;
+ if (yych <= ' ') goto yy147;
+ goto yy86;
} else {
- if (yych <= '"') goto yy71;
- if (yych <= '\'') goto yy10;
- goto yy71;
+ if (yych <= '"') goto yy147;
+ if (yych <= '\'') goto yy86;
+ goto yy147;
}
} else {
if (yych <= '/') {
- if (yych == '.') goto yy218;
- goto yy10;
+ if (yych == '.') goto yy294;
+ goto yy86;
} else {
- if (yych <= '9') goto yy215;
- if (yych <= ':') goto yy10;
- goto yy71;
+ if (yych <= '9') goto yy291;
+ if (yych <= ':') goto yy86;
+ goto yy147;
}
}
} else {
if (yych <= '_') {
if (yych <= 'O') {
- if (yych <= '@') goto yy10;
- if (yych <= 'F') goto yy215;
- goto yy10;
+ if (yych <= '@') goto yy86;
+ if (yych <= 'F') goto yy291;
+ goto yy86;
} else {
- if (yych <= 'P') goto yy220;
- if (yych <= '^') goto yy10;
- goto yy137;
+ if (yych <= 'P') goto yy296;
+ if (yych <= '^') goto yy86;
+ goto yy213;
}
} else {
if (yych <= 'o') {
- if (yych <= '`') goto yy10;
- if (yych <= 'f') goto yy215;
- goto yy10;
+ if (yych <= '`') goto yy86;
+ if (yych <= 'f') goto yy291;
+ goto yy86;
} else {
- if (yych <= 'p') goto yy220;
- if (yych <= '~') goto yy10;
- goto yy71;
+ if (yych <= 'p') goto yy296;
+ if (yych <= '~') goto yy86;
+ goto yy147;
}
}
}
-yy217:
+yy293:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= ')') {
if (yych <= '!') {
- if (yych <= ' ') goto yy12;
- goto yy10;
+ if (yych <= ' ') goto yy88;
+ goto yy86;
} else {
- if (yych <= '"') goto yy12;
- if (yych <= '\'') goto yy10;
- goto yy12;
+ if (yych <= '"') goto yy88;
+ if (yych <= '\'') goto yy86;
+ goto yy88;
}
} else {
if (yych <= ':') {
- if (yych <= '/') goto yy10;
- if (yych <= '9') goto yy139;
- goto yy10;
+ if (yych <= '/') goto yy86;
+ if (yych <= '9') goto yy215;
+ goto yy86;
} else {
- if (yych <= ';') goto yy12;
- if (yych <= '~') goto yy10;
- goto yy12;
+ if (yych <= ';') goto yy88;
+ if (yych <= '~') goto yy86;
+ goto yy88;
}
}
-yy218:
- yych = *++cursor_;
- if (yych == '_') goto yy10;
- goto yy291;
-yy219:
+yy294:
+ ++cursor_;
+ if ((yych = *cursor_) <= ';') {
+ if (yych <= '\'') {
+ if (yych == '!') goto yy86;
+ if (yych >= '#') goto yy86;
+ } else {
+ if (yych <= '/') {
+ if (yych >= '*') goto yy86;
+ } else {
+ if (yych <= '9') goto yy366;
+ if (yych <= ':') goto yy86;
+ }
+ }
+ } else {
+ if (yych <= '`') {
+ if (yych <= 'F') {
+ if (yych <= '@') goto yy86;
+ goto yy366;
+ } else {
+ if (yych == 'P') goto yy296;
+ goto yy86;
+ }
+ } else {
+ if (yych <= 'o') {
+ if (yych <= 'f') goto yy366;
+ goto yy86;
+ } else {
+ if (yych <= 'p') goto yy296;
+ if (yych <= '~') goto yy86;
+ }
+ }
+ }
+yy295:
#line 239 "src/wast-lexer.cc"
{ RETURN_LITERAL(Float, Hexfloat); }
-#line 1808 "src/prebuilt/wast-lexer-gen.cc"
-yy220:
+#line 2403 "src/prebuilt/wast-lexer-gen.cc"
+yy296:
yych = *++cursor_;
if (yych <= ',') {
- if (yych == '+') goto yy292;
- goto yy11;
+ if (yych == '+') goto yy368;
+ goto yy87;
} else {
- if (yych <= '-') goto yy292;
- if (yych <= '/') goto yy11;
- if (yych <= '9') goto yy293;
- goto yy11;
+ if (yych <= '-') goto yy368;
+ if (yych <= '/') goto yy87;
+ if (yych <= '9') goto yy369;
+ goto yy87;
}
-yy221:
- yych = *++cursor_;
- if (yych == 'n') goto yy295;
- goto yy11;
-yy222:
+yy297:
yych = *++cursor_;
- if (yych == 'u') goto yy296;
- goto yy11;
-yy223:
+ if (yych == 'n') goto yy371;
+ goto yy87;
+yy298:
yych = *++cursor_;
- if (yych == 'r') goto yy297;
- goto yy11;
-yy224:
+ if (yych == 'u') goto yy372;
+ goto yy87;
+yy299:
yych = *++cursor_;
- if (yych == 'i') goto yy298;
- goto yy11;
-yy225:
+ if (yych == 'r') goto yy373;
+ goto yy87;
+yy300:
yych = *++cursor_;
- if (yych == 'r') goto yy299;
- goto yy11;
-yy226:
+ if (yych == 'i') goto yy374;
+ goto yy87;
+yy301:
yych = *++cursor_;
- if (yych == 'k') goto yy300;
- goto yy11;
-yy227:
+ if (yych == 'r') goto yy375;
+ goto yy87;
+yy302:
yych = *++cursor_;
- if (yych == 'f') goto yy302;
- goto yy11;
-yy228:
+ if (yych == 'k') goto yy376;
+ goto yy87;
+yy303:
yych = *++cursor_;
- if (yych == 'a') goto yy304;
- goto yy11;
-yy229:
+ if (yych == 'f') goto yy378;
+ goto yy87;
+yy304:
yych = *++cursor_;
- if (yych <= ')') {
+ if (yych == 'a') goto yy380;
+ goto yy87;
+yy305:
+ ++cursor_;
+ if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy10;
+ if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy230;
- if (yych <= '\'') goto yy10;
+ if (yych <= '"') goto yy306;
+ if (yych <= '\'') goto yy86;
}
} else {
if (yych <= '^') {
- if (yych != ';') goto yy10;
+ if (yych != ';') goto yy86;
} else {
- if (yych <= '_') goto yy305;
- if (yych <= '~') goto yy10;
+ if (yych <= '_') goto yy381;
+ if (yych <= '~') goto yy86;
}
}
-yy230:
+yy306:
#line 271 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Call); }
-#line 1872 "src/prebuilt/wast-lexer-gen.cc"
-yy231:
+#line 2467 "src/prebuilt/wast-lexer-gen.cc"
+yy307:
yych = *++cursor_;
- if (yych == 'h') goto yy306;
- goto yy11;
-yy232:
- yych = *++cursor_;
- if (yych == 'e') goto yy308;
- goto yy11;
-yy233:
+ if (yych == 'h') goto yy382;
+ goto yy87;
+yy308:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'e') goto yy384;
+ goto yy87;
+yy309:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 682 "src/wast-lexer.cc"
+#line 723 "src/wast-lexer.cc"
{ RETURN(Data); }
-#line 1888 "src/prebuilt/wast-lexer-gen.cc"
-yy235:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 2483 "src/prebuilt/wast-lexer-gen.cc"
+yy311:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 273 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Drop); }
-#line 1896 "src/prebuilt/wast-lexer-gen.cc"
-yy237:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 2491 "src/prebuilt/wast-lexer-gen.cc"
+yy313:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 681 "src/wast-lexer.cc"
+#line 722 "src/wast-lexer.cc"
{ RETURN(Elem); }
-#line 1904 "src/prebuilt/wast-lexer-gen.cc"
-yy239:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 2499 "src/prebuilt/wast-lexer-gen.cc"
+yy315:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 266 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Else); }
-#line 1912 "src/prebuilt/wast-lexer-gen.cc"
-yy241:
+#line 2507 "src/prebuilt/wast-lexer-gen.cc"
+yy317:
yych = *++cursor_;
- if (yych == 'p') goto yy309;
- goto yy11;
-yy242:
+ if (yych == 'p') goto yy385;
+ goto yy87;
+yy318:
yych = *++cursor_;
- if (yych == 'r') goto yy310;
- goto yy11;
-yy243:
+ if (yych == 'r') goto yy386;
+ goto yy87;
+yy319:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy311;
- case 'c': goto yy312;
- case 'd': goto yy313;
- case 'e': goto yy314;
- case 'f': goto yy315;
- case 'g': goto yy316;
- case 'l': goto yy317;
- case 'm': goto yy318;
- case 'n': goto yy319;
- case 'r': goto yy320;
- case 's': goto yy321;
- case 't': goto yy322;
- default: goto yy11;
+ case 'a': goto yy387;
+ case 'c': goto yy388;
+ case 'd': goto yy389;
+ case 'e': goto yy390;
+ case 'f': goto yy391;
+ case 'g': goto yy392;
+ case 'l': goto yy393;
+ case 'm': goto yy394;
+ case 'n': goto yy395;
+ case 'r': goto yy396;
+ case 's': goto yy397;
+ case 't': goto yy398;
+ default: goto yy87;
}
-yy244:
+yy320:
yych = *++cursor_;
- if (yych == '4') goto yy323;
- goto yy11;
-yy245:
+ if (yych == '4') goto yy399;
+ goto yy87;
+yy321:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy324;
- case 'c': goto yy325;
- case 'd': goto yy326;
- case 'e': goto yy327;
- case 'f': goto yy328;
- case 'g': goto yy329;
- case 'l': goto yy330;
- case 'm': goto yy331;
- case 'n': goto yy332;
- case 'p': goto yy333;
- case 'r': goto yy334;
- case 's': goto yy335;
- case 't': goto yy336;
- default: goto yy11;
+ case 'a': goto yy400;
+ case 'c': goto yy401;
+ case 'd': goto yy402;
+ case 'e': goto yy403;
+ case 'f': goto yy404;
+ case 'g': goto yy405;
+ case 'l': goto yy406;
+ case 'm': goto yy407;
+ case 'n': goto yy408;
+ case 'p': goto yy409;
+ case 'r': goto yy410;
+ case 's': goto yy411;
+ case 't': goto yy412;
+ default: goto yy87;
}
-yy246:
- yych = *++cursor_;
- if (yych == '2') goto yy337;
- goto yy11;
-yy247:
+yy322:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == '2') goto yy413;
+ goto yy87;
+yy323:
+ ++cursor_;
+ if ((yych = *cursor_) <= ')') {
+ if (yych <= '!') {
+ if (yych >= '!') goto yy86;
+ } else {
+ if (yych <= '"') goto yy324;
+ if (yych <= '\'') goto yy86;
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych != ';') goto yy86;
+ } else {
+ if (yych <= 'r') goto yy414;
+ if (yych <= '~') goto yy86;
+ }
}
-#line 670 "src/wast-lexer.cc"
+yy324:
+#line 711 "src/wast-lexer.cc"
{ RETURN(Func); }
-#line 1971 "src/prebuilt/wast-lexer-gen.cc"
-yy249:
+#line 2579 "src/prebuilt/wast-lexer-gen.cc"
+yy325:
yych = *++cursor_;
- if (yych == 'g') goto yy338;
- if (yych == 'l') goto yy339;
- goto yy11;
-yy250:
+ if (yych == 'g') goto yy415;
+ if (yych == 'l') goto yy416;
+ goto yy87;
+yy326:
yych = *++cursor_;
- if (yych == 'a') goto yy340;
- goto yy11;
-yy251:
+ if (yych == 'a') goto yy417;
+ goto yy87;
+yy327:
yych = *++cursor_;
- if (yych == '_') goto yy341;
- goto yy11;
-yy252:
+ if (yych == '_') goto yy418;
+ goto yy87;
+yy328:
yych = *++cursor_;
- if (yych == '8') goto yy342;
- goto yy11;
-yy253:
+ if (yych == '8') goto yy419;
+ goto yy87;
+yy329:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy343;
- case 'c': goto yy344;
- case 'd': goto yy345;
- case 'e': goto yy346;
- case 'g': goto yy347;
- case 'l': goto yy348;
- case 'm': goto yy349;
- case 'n': goto yy350;
- case 'o': goto yy351;
- case 'p': goto yy352;
- case 'r': goto yy353;
- case 's': goto yy354;
- case 't': goto yy355;
- case 'w': goto yy356;
- case 'x': goto yy357;
- default: goto yy11;
+ case 'a': goto yy420;
+ case 'c': goto yy421;
+ case 'd': goto yy422;
+ case 'e': goto yy423;
+ case 'g': goto yy424;
+ case 'l': goto yy425;
+ case 'm': goto yy426;
+ case 'n': goto yy427;
+ case 'o': goto yy428;
+ case 'p': goto yy429;
+ case 'r': goto yy430;
+ case 's': goto yy431;
+ case 't': goto yy432;
+ case 'w': goto yy433;
+ case 'x': goto yy434;
+ default: goto yy87;
}
-yy254:
+yy330:
yych = *++cursor_;
- if (yych == '4') goto yy358;
- goto yy11;
-yy255:
+ if (yych == '4') goto yy435;
+ goto yy87;
+yy331:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy359;
- case 'c': goto yy360;
- case 'd': goto yy361;
- case 'e': goto yy362;
- case 'g': goto yy363;
- case 'l': goto yy364;
- case 'm': goto yy365;
- case 'n': goto yy366;
- case 'o': goto yy367;
- case 'p': goto yy368;
- case 'r': goto yy369;
- case 's': goto yy370;
- case 't': goto yy371;
- case 'x': goto yy372;
- default: goto yy11;
+ case 'a': goto yy436;
+ case 'c': goto yy437;
+ case 'd': goto yy438;
+ case 'e': goto yy439;
+ case 'g': goto yy440;
+ case 'l': goto yy441;
+ case 'm': goto yy442;
+ case 'n': goto yy443;
+ case 'o': goto yy444;
+ case 'p': goto yy445;
+ case 'r': goto yy446;
+ case 's': goto yy447;
+ case 't': goto yy448;
+ case 'x': goto yy449;
+ default: goto yy87;
}
-yy256:
- yych = *++cursor_;
- if (yych == '2') goto yy373;
- goto yy11;
-yy257:
+yy332:
yych = *++cursor_;
- if (yych == '6') goto yy374;
- goto yy11;
-yy258:
+ if (yych == '2') goto yy450;
+ goto yy87;
+yy333:
yych = *++cursor_;
- if (yych == 'x') goto yy375;
- goto yy11;
-yy259:
+ if (yych == '6') goto yy451;
+ goto yy87;
+yy334:
yych = *++cursor_;
- if (yych == 'r') goto yy376;
- goto yy11;
-yy260:
+ if (yych == 'x') goto yy452;
+ goto yy87;
+yy335:
yych = *++cursor_;
- if (yych == 'k') goto yy377;
- goto yy11;
-yy261:
+ if (yych == 'r') goto yy453;
+ goto yy87;
+yy336:
yych = *++cursor_;
- if (yych == 'l') goto yy378;
- goto yy11;
-yy262:
+ if (yych == 'k') goto yy454;
+ goto yy87;
+yy337:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'l') goto yy455;
+ goto yy87;
+yy338:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 267 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Loop); }
-#line 2063 "src/prebuilt/wast-lexer-gen.cc"
-yy264:
- yych = *++cursor_;
- if (yych == 'r') goto yy380;
- goto yy11;
-yy265:
+#line 2671 "src/prebuilt/wast-lexer-gen.cc"
+yy340:
yych = *++cursor_;
- if (yych == 'l') goto yy381;
- goto yy11;
-yy266:
+ if (yych == 'r') goto yy457;
+ goto yy87;
+yy341:
yych = *++cursor_;
- if (yych == '0') goto yy382;
- goto yy11;
-yy267:
+ if (yych == 'l') goto yy458;
+ goto yy87;
+yy342:
yych = *++cursor_;
- if (yych == 'e') goto yy383;
- goto yy11;
-yy268:
+ if (yych == '0') goto yy459;
+ goto yy87;
+yy343:
yych = *++cursor_;
- if (yych == 'm') goto yy384;
- goto yy11;
-yy269:
+ if (yych == 'e') goto yy460;
+ goto yy87;
+yy344:
yych = *++cursor_;
- if (yych == 'i') goto yy386;
- goto yy11;
-yy270:
+ if (yych == 'm') goto yy461;
+ goto yy87;
+yy345:
yych = *++cursor_;
- if (yych == 'e') goto yy387;
- goto yy11;
-yy271:
+ if (yych == 'i') goto yy463;
+ goto yy87;
+yy346:
yych = *++cursor_;
- if (yych == 's') goto yy389;
- goto yy11;
-yy272:
+ if (yych == 'e') goto yy464;
+ goto yy87;
+yy347:
yych = *++cursor_;
- if (yych == 'l') goto yy390;
- goto yy11;
-yy273:
+ if (yych == 's') goto yy466;
+ goto yy87;
+yy348:
yych = *++cursor_;
- if (yych == 'r') goto yy391;
- goto yy11;
-yy274:
+ if (yych == 'l') goto yy467;
+ goto yy87;
+yy349:
yych = *++cursor_;
- if (yych == 'r') goto yy392;
- goto yy11;
-yy275:
+ if (yych == 'r') goto yy468;
+ goto yy87;
+yy350:
yych = *++cursor_;
- if (yych == 'c') goto yy393;
- goto yy11;
-yy276:
+ if (yych == 'r') goto yy469;
+ goto yy87;
+yy351:
yych = *++cursor_;
- if (yych == 'g') goto yy394;
- if (yych == 'l') goto yy395;
- goto yy11;
-yy277:
+ if (yych == 'c') goto yy470;
+ goto yy87;
+yy352:
yych = *++cursor_;
- if (yych == 'e') goto yy396;
- goto yy11;
-yy278:
+ if (yych == 'g') goto yy471;
+ if (yych == 'l') goto yy472;
+ goto yy87;
+yy353:
yych = *++cursor_;
- if (yych == 't') goto yy397;
- goto yy11;
-yy279:
+ if (yych == 'e') goto yy473;
+ goto yy87;
+yy354:
yych = *++cursor_;
- if (yych == 'e') goto yy399;
- goto yy11;
-yy280:
+ if (yych == 't') goto yy474;
+ goto yy87;
+yy355:
yych = *++cursor_;
- if (yych == 'l') goto yy401;
- goto yy11;
-yy281:
+ if (yych == 'e') goto yy476;
+ goto yy87;
+yy356:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'l') goto yy478;
+ goto yy87;
+yy357:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 265 "src/wast-lexer.cc"
{ RETURN(Then); }
-#line 2140 "src/prebuilt/wast-lexer-gen.cc"
-yy283:
- yych = *++cursor_;
- if (yych == 'w') goto yy402;
- goto yy11;
-yy284:
+#line 2748 "src/prebuilt/wast-lexer-gen.cc"
+yy359:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'w') goto yy479;
+ goto yy87;
+yy360:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 669 "src/wast-lexer.cc"
+#line 710 "src/wast-lexer.cc"
{ RETURN(Type); }
-#line 2152 "src/prebuilt/wast-lexer-gen.cc"
-yy286:
- yych = *++cursor_;
- if (yych == 'a') goto yy404;
- goto yy11;
-yy287:
+#line 2760 "src/prebuilt/wast-lexer-gen.cc"
+yy362:
yych = *++cursor_;
- if (yych <= ')') {
+ if (yych == 'a') goto yy481;
+ goto yy87;
+yy363:
+ ++cursor_;
+ if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy10;
+ if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy288;
- if (yych <= '\'') goto yy10;
+ if (yych <= '"') goto yy364;
+ if (yych <= '\'') goto yy86;
}
} else {
if (yych <= ':') {
- if (yych == '.') goto yy405;
- goto yy10;
+ if (yych == '.') goto yy482;
+ goto yy86;
} else {
- if (yych <= ';') goto yy288;
- if (yych <= '~') goto yy10;
+ if (yych <= ';') goto yy364;
+ if (yych <= '~') goto yy86;
}
}
-yy288:
+yy364:
#line 259 "src/wast-lexer.cc"
{ RETURN_TYPE(ValueType, V128); }
-#line 2178 "src/prebuilt/wast-lexer-gen.cc"
-yy289:
+#line 2786 "src/prebuilt/wast-lexer-gen.cc"
+yy365:
yych = *++cursor_;
- if (yych == '6') goto yy406;
- goto yy11;
-yy290:
+ if (yych == '6') goto yy483;
+ goto yy87;
+yy366:
++cursor_;
if ((limit_ - cursor_) < 2) FILL(2);
yych = *cursor_;
-yy291:
if (yych <= '@') {
if (yych <= ')') {
if (yych <= '!') {
- if (yych <= ' ') goto yy219;
- goto yy10;
+ if (yych <= ' ') goto yy295;
+ goto yy86;
} else {
- if (yych <= '"') goto yy219;
- if (yych <= '\'') goto yy10;
- goto yy219;
+ if (yych <= '"') goto yy295;
+ if (yych <= '\'') goto yy86;
+ goto yy295;
}
} else {
if (yych <= '9') {
- if (yych <= '/') goto yy10;
- goto yy290;
+ if (yych <= '/') goto yy86;
+ goto yy366;
} else {
- if (yych == ';') goto yy219;
- goto yy10;
+ if (yych == ';') goto yy295;
+ goto yy86;
}
}
} else {
if (yych <= '_') {
if (yych <= 'O') {
- if (yych <= 'F') goto yy290;
- goto yy10;
+ if (yych <= 'F') goto yy366;
+ goto yy86;
} else {
- if (yych <= 'P') goto yy220;
- if (yych <= '^') goto yy10;
- goto yy407;
+ if (yych <= 'P') goto yy296;
+ if (yych <= '^') goto yy86;
+ goto yy484;
}
} else {
if (yych <= 'o') {
- if (yych <= '`') goto yy10;
- if (yych <= 'f') goto yy290;
- goto yy10;
+ if (yych <= '`') goto yy86;
+ if (yych <= 'f') goto yy366;
+ goto yy86;
} else {
- if (yych <= 'p') goto yy220;
- if (yych <= '~') goto yy10;
- goto yy219;
+ if (yych <= 'p') goto yy296;
+ if (yych <= '~') goto yy86;
+ goto yy295;
}
}
}
-yy292:
+yy368:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= ')') {
if (yych <= '!') {
- if (yych <= ' ') goto yy12;
- goto yy10;
+ if (yych <= ' ') goto yy88;
+ goto yy86;
} else {
- if (yych <= '"') goto yy12;
- if (yych <= '\'') goto yy10;
- goto yy12;
+ if (yych <= '"') goto yy88;
+ if (yych <= '\'') goto yy86;
+ goto yy88;
}
} else {
if (yych <= ':') {
- if (yych <= '/') goto yy10;
- if (yych >= ':') goto yy10;
+ if (yych <= '/') goto yy86;
+ if (yych >= ':') goto yy86;
} else {
- if (yych <= ';') goto yy12;
- if (yych <= '~') goto yy10;
- goto yy12;
+ if (yych <= ';') goto yy88;
+ if (yych <= '~') goto yy86;
+ goto yy88;
}
}
-yy293:
+yy369:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= '/') {
if (yych <= '"') {
- if (yych == '!') goto yy10;
- goto yy219;
+ if (yych == '!') goto yy86;
+ goto yy295;
} else {
- if (yych <= '\'') goto yy10;
- if (yych <= ')') goto yy219;
- goto yy10;
+ if (yych <= '\'') goto yy86;
+ if (yych <= ')') goto yy295;
+ goto yy86;
}
} else {
if (yych <= ';') {
- if (yych <= '9') goto yy293;
- if (yych <= ':') goto yy10;
- goto yy219;
+ if (yych <= '9') goto yy369;
+ if (yych <= ':') goto yy86;
+ goto yy295;
} else {
- if (yych == '_') goto yy292;
- if (yych <= '~') goto yy10;
- goto yy219;
+ if (yych == '_') goto yy368;
+ if (yych <= '~') goto yy86;
+ goto yy295;
}
}
-yy295:
- yych = *++cursor_;
- if (yych == '=') goto yy408;
- goto yy11;
-yy296:
+yy371:
yych = *++cursor_;
- if (yych == 'n') goto yy409;
- goto yy11;
-yy297:
+ if (yych == '=') goto yy485;
+ goto yy87;
+yy372:
yych = *++cursor_;
- if (yych == 't') goto yy410;
- goto yy11;
-yy298:
+ if (yych == 'n') goto yy486;
+ goto yy87;
+yy373:
yych = *++cursor_;
- if (yych == 'c') goto yy411;
- goto yy11;
-yy299:
+ if (yych == 't') goto yy487;
+ goto yy87;
+yy374:
yych = *++cursor_;
- if (yych == 'y') goto yy412;
- goto yy11;
-yy300:
+ if (yych == 'c') goto yy488;
+ goto yy87;
+yy375:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'y') goto yy489;
+ goto yy87;
+yy376:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 263 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Block); }
-#line 2303 "src/prebuilt/wast-lexer-gen.cc"
-yy302:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 2910 "src/prebuilt/wast-lexer-gen.cc"
+yy378:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 269 "src/wast-lexer.cc"
{ RETURN_OPCODE0(BrIf); }
-#line 2311 "src/prebuilt/wast-lexer-gen.cc"
-yy304:
- yych = *++cursor_;
- if (yych == 'b') goto yy414;
- goto yy11;
-yy305:
+#line 2918 "src/prebuilt/wast-lexer-gen.cc"
+yy380:
yych = *++cursor_;
- if (yych == 'i') goto yy415;
- goto yy11;
-yy306:
+ if (yych == 'b') goto yy491;
+ goto yy87;
+yy381:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'i') goto yy492;
+ goto yy87;
+yy382:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 700 "src/wast-lexer.cc"
+#line 741 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Catch); }
-#line 2327 "src/prebuilt/wast-lexer-gen.cc"
-yy308:
+#line 2934 "src/prebuilt/wast-lexer-gen.cc"
+yy384:
yych = *++cursor_;
- if (yych == 'n') goto yy416;
- goto yy11;
-yy309:
+ if (yych == 'n') goto yy493;
+ goto yy87;
+yy385:
yych = *++cursor_;
- if (yych == 't') goto yy417;
- goto yy11;
-yy310:
+ if (yych == 't') goto yy494;
+ goto yy87;
+yy386:
yych = *++cursor_;
- if (yych == 't') goto yy419;
- goto yy11;
-yy311:
+ if (yych == 't') goto yy496;
+ goto yy87;
+yy387:
yych = *++cursor_;
- if (yych == 'b') goto yy421;
- if (yych == 'd') goto yy422;
- goto yy11;
-yy312:
+ if (yych == 'b') goto yy498;
+ if (yych == 'd') goto yy499;
+ goto yy87;
+yy388:
yych = *++cursor_;
- if (yych == 'e') goto yy423;
- if (yych == 'o') goto yy424;
- goto yy11;
-yy313:
+ if (yych == 'e') goto yy500;
+ if (yych == 'o') goto yy501;
+ goto yy87;
+yy389:
yych = *++cursor_;
- if (yych == 'e') goto yy425;
- if (yych == 'i') goto yy426;
- goto yy11;
-yy314:
+ if (yych == 'e') goto yy502;
+ if (yych == 'i') goto yy503;
+ goto yy87;
+yy390:
yych = *++cursor_;
- if (yych == 'q') goto yy427;
- goto yy11;
-yy315:
+ if (yych == 'q') goto yy504;
+ goto yy87;
+yy391:
yych = *++cursor_;
- if (yych == 'l') goto yy429;
- goto yy11;
-yy316:
+ if (yych == 'l') goto yy506;
+ goto yy87;
+yy392:
yych = *++cursor_;
- if (yych == 'e') goto yy430;
- if (yych == 't') goto yy432;
- goto yy11;
-yy317:
+ if (yych == 'e') goto yy507;
+ if (yych == 't') goto yy509;
+ goto yy87;
+yy393:
yych = *++cursor_;
if (yych <= 'n') {
- if (yych == 'e') goto yy434;
- goto yy11;
+ if (yych == 'e') goto yy511;
+ goto yy87;
} else {
- if (yych <= 'o') goto yy436;
- if (yych == 't') goto yy437;
- goto yy11;
+ if (yych <= 'o') goto yy513;
+ if (yych == 't') goto yy514;
+ goto yy87;
}
-yy318:
+yy394:
yych = *++cursor_;
if (yych <= 'h') {
- if (yych == 'a') goto yy439;
- goto yy11;
+ if (yych == 'a') goto yy516;
+ goto yy87;
} else {
- if (yych <= 'i') goto yy440;
- if (yych == 'u') goto yy441;
- goto yy11;
+ if (yych <= 'i') goto yy517;
+ if (yych == 'u') goto yy518;
+ goto yy87;
}
-yy319:
+yy395:
yych = *++cursor_;
- if (yych == 'e') goto yy442;
- goto yy11;
-yy320:
+ if (yych == 'e') goto yy519;
+ goto yy87;
+yy396:
yych = *++cursor_;
- if (yych == 'e') goto yy444;
- goto yy11;
-yy321:
+ if (yych == 'e') goto yy521;
+ goto yy87;
+yy397:
yych = *++cursor_;
if (yych <= 's') {
- if (yych == 'q') goto yy445;
- goto yy11;
+ if (yych == 'q') goto yy522;
+ goto yy87;
} else {
- if (yych <= 't') goto yy446;
- if (yych <= 'u') goto yy447;
- goto yy11;
+ if (yych <= 't') goto yy523;
+ if (yych <= 'u') goto yy524;
+ goto yy87;
}
-yy322:
+yy398:
yych = *++cursor_;
- if (yych == 'r') goto yy448;
- goto yy11;
-yy323:
+ if (yych == 'r') goto yy525;
+ goto yy87;
+yy399:
yych = *++cursor_;
- if (yych == '.') goto yy449;
- goto yy11;
-yy324:
+ if (yych == '.') goto yy526;
+ goto yy87;
+yy400:
yych = *++cursor_;
- if (yych == 'b') goto yy450;
- if (yych == 'd') goto yy451;
- goto yy11;
-yy325:
+ if (yych == 'b') goto yy527;
+ if (yych == 'd') goto yy528;
+ goto yy87;
+yy401:
yych = *++cursor_;
- if (yych == 'e') goto yy452;
- if (yych == 'o') goto yy453;
- goto yy11;
-yy326:
+ if (yych == 'e') goto yy529;
+ if (yych == 'o') goto yy530;
+ goto yy87;
+yy402:
yych = *++cursor_;
- if (yych == 'i') goto yy454;
- goto yy11;
-yy327:
+ if (yych == 'i') goto yy531;
+ goto yy87;
+yy403:
yych = *++cursor_;
- if (yych == 'q') goto yy455;
- goto yy11;
-yy328:
+ if (yych == 'q') goto yy532;
+ goto yy87;
+yy404:
yych = *++cursor_;
- if (yych == 'l') goto yy457;
- goto yy11;
-yy329:
+ if (yych == 'l') goto yy534;
+ goto yy87;
+yy405:
yych = *++cursor_;
- if (yych == 'e') goto yy458;
- if (yych == 't') goto yy460;
- goto yy11;
-yy330:
+ if (yych == 'e') goto yy535;
+ if (yych == 't') goto yy537;
+ goto yy87;
+yy406:
yych = *++cursor_;
if (yych <= 'n') {
- if (yych == 'e') goto yy462;
- goto yy11;
+ if (yych == 'e') goto yy539;
+ goto yy87;
} else {
- if (yych <= 'o') goto yy464;
- if (yych == 't') goto yy465;
- goto yy11;
+ if (yych <= 'o') goto yy541;
+ if (yych == 't') goto yy542;
+ goto yy87;
}
-yy331:
+yy407:
yych = *++cursor_;
if (yych <= 'h') {
- if (yych == 'a') goto yy467;
- goto yy11;
+ if (yych == 'a') goto yy544;
+ goto yy87;
} else {
- if (yych <= 'i') goto yy468;
- if (yych == 'u') goto yy469;
- goto yy11;
+ if (yych <= 'i') goto yy545;
+ if (yych == 'u') goto yy546;
+ goto yy87;
}
-yy332:
+yy408:
yych = *++cursor_;
- if (yych == 'e') goto yy470;
- goto yy11;
-yy333:
+ if (yych == 'e') goto yy547;
+ goto yy87;
+yy409:
yych = *++cursor_;
- if (yych == 'r') goto yy472;
- goto yy11;
-yy334:
+ if (yych == 'r') goto yy549;
+ goto yy87;
+yy410:
yych = *++cursor_;
- if (yych == 'e') goto yy473;
- goto yy11;
-yy335:
+ if (yych == 'e') goto yy550;
+ goto yy87;
+yy411:
yych = *++cursor_;
if (yych <= 's') {
- if (yych == 'q') goto yy474;
- goto yy11;
+ if (yych == 'q') goto yy551;
+ goto yy87;
} else {
- if (yych <= 't') goto yy475;
- if (yych <= 'u') goto yy476;
- goto yy11;
+ if (yych <= 't') goto yy552;
+ if (yych <= 'u') goto yy553;
+ goto yy87;
}
-yy336:
+yy412:
yych = *++cursor_;
- if (yych == 'r') goto yy477;
- goto yy11;
-yy337:
+ if (yych == 'r') goto yy554;
+ goto yy87;
+yy413:
yych = *++cursor_;
- if (yych == '.') goto yy478;
- goto yy11;
-yy338:
+ if (yych == '.') goto yy555;
+ goto yy87;
+yy414:
yych = *++cursor_;
- if (yych == 'l') goto yy479;
- goto yy11;
-yy339:
+ if (yych == 'e') goto yy556;
+ goto yy87;
+yy415:
yych = *++cursor_;
- if (yych == 'o') goto yy480;
- goto yy11;
-yy340:
+ if (yych == 'l') goto yy557;
+ goto yy87;
+yy416:
yych = *++cursor_;
- if (yych == 'l') goto yy481;
- goto yy11;
-yy341:
+ if (yych == 'o') goto yy558;
+ goto yy87;
+yy417:
yych = *++cursor_;
- if (yych == 'm') goto yy483;
- goto yy11;
-yy342:
+ if (yych == 'l') goto yy559;
+ goto yy87;
+yy418:
yych = *++cursor_;
- if (yych == '.') goto yy484;
- goto yy11;
-yy343:
+ if (yych == 'm') goto yy561;
+ goto yy87;
+yy419:
+ yych = *++cursor_;
+ if (yych == '.') goto yy562;
+ goto yy87;
+yy420:
yych = *++cursor_;
if (yych <= 'm') {
- if (yych == 'd') goto yy485;
- goto yy11;
+ if (yych == 'd') goto yy563;
+ goto yy87;
} else {
- if (yych <= 'n') goto yy486;
- if (yych == 't') goto yy487;
- goto yy11;
+ if (yych <= 'n') goto yy564;
+ if (yych == 't') goto yy565;
+ goto yy87;
}
-yy344:
+yy421:
yych = *++cursor_;
if (yych <= 'n') {
- if (yych == 'l') goto yy488;
- goto yy11;
+ if (yych == 'l') goto yy566;
+ goto yy87;
} else {
- if (yych <= 'o') goto yy489;
- if (yych == 't') goto yy490;
- goto yy11;
+ if (yych <= 'o') goto yy567;
+ if (yych == 't') goto yy568;
+ goto yy87;
}
-yy345:
+yy422:
yych = *++cursor_;
- if (yych == 'i') goto yy491;
- goto yy11;
-yy346:
+ if (yych == 'i') goto yy569;
+ goto yy87;
+yy423:
yych = *++cursor_;
- if (yych == 'q') goto yy492;
- if (yych == 'x') goto yy494;
- goto yy11;
-yy347:
+ if (yych == 'q') goto yy570;
+ if (yych == 'x') goto yy572;
+ goto yy87;
+yy424:
yych = *++cursor_;
- if (yych == 'e') goto yy495;
- if (yych == 't') goto yy496;
- goto yy11;
-yy348:
+ if (yych == 'e') goto yy573;
+ if (yych == 't') goto yy574;
+ goto yy87;
+yy425:
yych = *++cursor_;
if (yych <= 'n') {
- if (yych == 'e') goto yy497;
- goto yy11;
+ if (yych == 'e') goto yy575;
+ goto yy87;
} else {
- if (yych <= 'o') goto yy498;
- if (yych == 't') goto yy499;
- goto yy11;
+ if (yych <= 'o') goto yy576;
+ if (yych == 't') goto yy577;
+ goto yy87;
}
-yy349:
+yy426:
yych = *++cursor_;
- if (yych == 'u') goto yy500;
- goto yy11;
-yy350:
+ if (yych == 'u') goto yy578;
+ goto yy87;
+yy427:
yych = *++cursor_;
- if (yych == 'e') goto yy501;
- goto yy11;
-yy351:
+ if (yych == 'e') goto yy579;
+ goto yy87;
+yy428:
yych = *++cursor_;
- if (yych == 'r') goto yy503;
- goto yy11;
-yy352:
+ if (yych == 'r') goto yy581;
+ goto yy87;
+yy429:
yych = *++cursor_;
- if (yych == 'o') goto yy505;
- goto yy11;
-yy353:
+ if (yych == 'o') goto yy583;
+ goto yy87;
+yy430:
yych = *++cursor_;
- if (yych == 'e') goto yy506;
- if (yych == 'o') goto yy507;
- goto yy11;
-yy354:
+ if (yych == 'e') goto yy584;
+ if (yych == 'o') goto yy585;
+ goto yy87;
+yy431:
yych = *++cursor_;
if (yych <= 's') {
- if (yych == 'h') goto yy508;
- goto yy11;
+ if (yych == 'h') goto yy586;
+ goto yy87;
} else {
- if (yych <= 't') goto yy509;
- if (yych <= 'u') goto yy510;
- goto yy11;
+ if (yych <= 't') goto yy587;
+ if (yych <= 'u') goto yy588;
+ goto yy87;
}
-yy355:
+yy432:
yych = *++cursor_;
- if (yych == 'r') goto yy511;
- goto yy11;
-yy356:
+ if (yych == 'r') goto yy589;
+ goto yy87;
+yy433:
yych = *++cursor_;
- if (yych == 'r') goto yy512;
- goto yy11;
-yy357:
+ if (yych == 'r') goto yy590;
+ goto yy87;
+yy434:
yych = *++cursor_;
- if (yych == 'o') goto yy513;
- goto yy11;
-yy358:
+ if (yych == 'o') goto yy591;
+ goto yy87;
+yy435:
yych = *++cursor_;
- if (yych == '.') goto yy514;
- goto yy11;
-yy359:
+ if (yych == '.') goto yy592;
+ goto yy87;
+yy436:
yych = *++cursor_;
if (yych <= 'm') {
- if (yych == 'd') goto yy515;
- goto yy11;
+ if (yych == 'd') goto yy593;
+ goto yy87;
} else {
- if (yych <= 'n') goto yy516;
- if (yych == 't') goto yy517;
- goto yy11;
+ if (yych <= 'n') goto yy594;
+ if (yych == 't') goto yy595;
+ goto yy87;
}
-yy360:
+yy437:
yych = *++cursor_;
if (yych <= 'n') {
- if (yych == 'l') goto yy518;
- goto yy11;
+ if (yych == 'l') goto yy596;
+ goto yy87;
} else {
- if (yych <= 'o') goto yy519;
- if (yych == 't') goto yy520;
- goto yy11;
+ if (yych <= 'o') goto yy597;
+ if (yych == 't') goto yy598;
+ goto yy87;
}
-yy361:
+yy438:
yych = *++cursor_;
- if (yych == 'i') goto yy521;
- goto yy11;
-yy362:
+ if (yych == 'i') goto yy599;
+ goto yy87;
+yy439:
yych = *++cursor_;
- if (yych == 'q') goto yy522;
- if (yych == 'x') goto yy524;
- goto yy11;
-yy363:
+ if (yych == 'q') goto yy600;
+ if (yych == 'x') goto yy602;
+ goto yy87;
+yy440:
yych = *++cursor_;
- if (yych == 'e') goto yy525;
- if (yych == 't') goto yy526;
- goto yy11;
-yy364:
+ if (yych == 'e') goto yy603;
+ if (yych == 't') goto yy604;
+ goto yy87;
+yy441:
yych = *++cursor_;
if (yych <= 'n') {
- if (yych == 'e') goto yy527;
- goto yy11;
+ if (yych == 'e') goto yy605;
+ goto yy87;
} else {
- if (yych <= 'o') goto yy528;
- if (yych == 't') goto yy529;
- goto yy11;
+ if (yych <= 'o') goto yy606;
+ if (yych == 't') goto yy607;
+ goto yy87;
}
-yy365:
+yy442:
yych = *++cursor_;
- if (yych == 'u') goto yy530;
- goto yy11;
-yy366:
+ if (yych == 'u') goto yy608;
+ goto yy87;
+yy443:
yych = *++cursor_;
- if (yych == 'e') goto yy531;
- goto yy11;
-yy367:
+ if (yych == 'e') goto yy609;
+ goto yy87;
+yy444:
yych = *++cursor_;
- if (yych == 'r') goto yy533;
- goto yy11;
-yy368:
+ if (yych == 'r') goto yy611;
+ goto yy87;
+yy445:
yych = *++cursor_;
- if (yych == 'o') goto yy535;
- goto yy11;
-yy369:
+ if (yych == 'o') goto yy613;
+ goto yy87;
+yy446:
yych = *++cursor_;
- if (yych == 'e') goto yy536;
- if (yych == 'o') goto yy537;
- goto yy11;
-yy370:
+ if (yych == 'e') goto yy614;
+ if (yych == 'o') goto yy615;
+ goto yy87;
+yy447:
yych = *++cursor_;
if (yych <= 's') {
- if (yych == 'h') goto yy538;
- goto yy11;
+ if (yych == 'h') goto yy616;
+ goto yy87;
} else {
- if (yych <= 't') goto yy539;
- if (yych <= 'u') goto yy540;
- goto yy11;
+ if (yych <= 't') goto yy617;
+ if (yych <= 'u') goto yy618;
+ goto yy87;
}
-yy371:
- yych = *++cursor_;
- if (yych == 'r') goto yy541;
- goto yy11;
-yy372:
+yy448:
yych = *++cursor_;
- if (yych == 'o') goto yy542;
- goto yy11;
-yy373:
+ if (yych == 'r') goto yy619;
+ goto yy87;
+yy449:
yych = *++cursor_;
- if (yych == '.') goto yy543;
- goto yy11;
-yy374:
+ if (yych == 'o') goto yy620;
+ goto yy87;
+yy450:
yych = *++cursor_;
- if (yych == '.') goto yy544;
- goto yy11;
-yy375:
+ if (yych == '.') goto yy621;
+ goto yy87;
+yy451:
yych = *++cursor_;
- if (yych == 'c') goto yy545;
- goto yy11;
-yy376:
+ if (yych == '.') goto yy622;
+ goto yy87;
+yy452:
yych = *++cursor_;
- if (yych == 't') goto yy546;
- goto yy11;
-yy377:
+ if (yych == 'c') goto yy623;
+ goto yy87;
+yy453:
yych = *++cursor_;
- if (yych == 'e') goto yy548;
- goto yy11;
-yy378:
+ if (yych == 't') goto yy624;
+ goto yy87;
+yy454:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'e') goto yy626;
+ goto yy87;
+yy455:
+ ++cursor_;
+ if ((yych = *cursor_) <= ')') {
+ if (yych <= '!') {
+ if (yych >= '!') goto yy86;
+ } else {
+ if (yych <= '"') goto yy456;
+ if (yych <= '\'') goto yy86;
+ }
+ } else {
+ if (yych <= ':') {
+ if (yych == '.') goto yy628;
+ goto yy86;
+ } else {
+ if (yych <= ';') goto yy456;
+ if (yych <= '~') goto yy86;
+ }
}
-#line 673 "src/wast-lexer.cc"
+yy456:
+#line 714 "src/wast-lexer.cc"
{ RETURN(Local); }
-#line 2712 "src/prebuilt/wast-lexer-gen.cc"
-yy380:
- yych = *++cursor_;
- if (yych == 'y') goto yy550;
- goto yy11;
-yy381:
+#line 3337 "src/prebuilt/wast-lexer-gen.cc"
+yy457:
yych = *++cursor_;
- if (yych == 'e') goto yy552;
- goto yy11;
-yy382:
+ if (yych == 'y') goto yy629;
+ goto yy87;
+yy458:
yych = *++cursor_;
- if (yych == 'x') goto yy554;
- goto yy11;
-yy383:
+ if (yych == 'e') goto yy631;
+ goto yy87;
+yy459:
yych = *++cursor_;
- if (yych == 't') goto yy555;
- goto yy11;
-yy384:
+ if (yych == 'x') goto yy633;
+ goto yy87;
+yy460:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 't') goto yy634;
+ goto yy87;
+yy461:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 671 "src/wast-lexer.cc"
+#line 712 "src/wast-lexer.cc"
{ RETURN(Param); }
-#line 2736 "src/prebuilt/wast-lexer-gen.cc"
-yy386:
+#line 3361 "src/prebuilt/wast-lexer-gen.cc"
+yy463:
yych = *++cursor_;
- if (yych == 'v') goto yy557;
- goto yy11;
-yy387:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'v') goto yy636;
+ goto yy87;
+yy464:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 677 "src/wast-lexer.cc"
+#line 718 "src/wast-lexer.cc"
{ RETURN(Quote); }
-#line 2748 "src/prebuilt/wast-lexer-gen.cc"
-yy389:
- yych = *++cursor_;
- if (yych == 't') goto yy558;
- goto yy11;
-yy390:
+#line 3373 "src/prebuilt/wast-lexer-gen.cc"
+yy466:
yych = *++cursor_;
- if (yych == 't') goto yy559;
- goto yy11;
-yy391:
+ if (yych == 't') goto yy637;
+ goto yy87;
+yy467:
yych = *++cursor_;
- if (yych == 'o') goto yy561;
- goto yy11;
-yy392:
+ if (yych == 't') goto yy638;
+ goto yy87;
+yy468:
yych = *++cursor_;
- if (yych == 'n') goto yy562;
- goto yy11;
-yy393:
+ if (yych == 'o') goto yy640;
+ goto yy87;
+yy469:
yych = *++cursor_;
- if (yych == 't') goto yy564;
- goto yy11;
-yy394:
+ if (yych == 'n') goto yy641;
+ goto yy87;
+yy470:
yych = *++cursor_;
- if (yych == 'l') goto yy566;
- goto yy11;
-yy395:
+ if (yych == 't') goto yy643;
+ goto yy87;
+yy471:
yych = *++cursor_;
- if (yych == 'o') goto yy567;
- goto yy11;
-yy396:
+ if (yych == 'l') goto yy645;
+ goto yy87;
+yy472:
yych = *++cursor_;
- if (yych == 'd') goto yy568;
- goto yy11;
-yy397:
+ if (yych == 'o') goto yy646;
+ goto yy87;
+yy473:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'd') goto yy647;
+ goto yy87;
+yy474:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 680 "src/wast-lexer.cc"
+#line 721 "src/wast-lexer.cc"
{ RETURN(Start); }
-#line 2788 "src/prebuilt/wast-lexer-gen.cc"
-yy399:
- yych = *++cursor_;
- if (yych <= ')') {
+#line 3413 "src/prebuilt/wast-lexer-gen.cc"
+yy476:
+ ++cursor_;
+ if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy10;
+ if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy400;
- if (yych <= '\'') goto yy10;
+ if (yych <= '"') goto yy477;
+ if (yych <= '\'') goto yy86;
}
} else {
if (yych <= ':') {
- if (yych == '.') goto yy570;
- goto yy10;
+ if (yych == '.') goto yy649;
+ goto yy86;
} else {
- if (yych <= ';') goto yy400;
- if (yych <= '~') goto yy10;
+ if (yych <= ';') goto yy477;
+ if (yych <= '~') goto yy86;
}
}
-yy400:
-#line 678 "src/wast-lexer.cc"
+yy477:
+#line 719 "src/wast-lexer.cc"
{ RETURN(Table); }
-#line 2810 "src/prebuilt/wast-lexer-gen.cc"
-yy401:
- yych = *++cursor_;
- if (yych == 'o') goto yy571;
- goto yy11;
-yy402:
+#line 3435 "src/prebuilt/wast-lexer-gen.cc"
+yy478:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'o') goto yy650;
+ goto yy87;
+yy479:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 701 "src/wast-lexer.cc"
+#line 742 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Throw); }
-#line 2822 "src/prebuilt/wast-lexer-gen.cc"
-yy404:
+#line 3447 "src/prebuilt/wast-lexer-gen.cc"
+yy481:
yych = *++cursor_;
- if (yych == 'c') goto yy572;
- goto yy11;
-yy405:
+ if (yych == 'c') goto yy651;
+ goto yy87;
+yy482:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy573;
- case 'b': goto yy574;
- case 'c': goto yy575;
- case 'l': goto yy576;
- case 'n': goto yy577;
- case 'o': goto yy578;
- case 's': goto yy579;
- case 'x': goto yy580;
- default: goto yy11;
+ case 'a': goto yy652;
+ case 'b': goto yy653;
+ case 'c': goto yy654;
+ case 'l': goto yy655;
+ case 'n': goto yy656;
+ case 'o': goto yy657;
+ case 's': goto yy658;
+ case 'x': goto yy659;
+ default: goto yy87;
}
-yy406:
+yy483:
yych = *++cursor_;
- if (yych == '.') goto yy581;
- goto yy11;
-yy407:
+ if (yych == '.') goto yy660;
+ goto yy87;
+yy484:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= '9') {
if (yych <= '"') {
- if (yych == '!') goto yy10;
- goto yy12;
+ if (yych == '!') goto yy86;
+ goto yy88;
} else {
- if (yych <= '\'') goto yy10;
- if (yych <= ')') goto yy12;
- if (yych <= '/') goto yy10;
- goto yy290;
+ if (yych <= '\'') goto yy86;
+ if (yych <= ')') goto yy88;
+ if (yych <= '/') goto yy86;
+ goto yy366;
}
} else {
if (yych <= 'F') {
- if (yych == ';') goto yy12;
- if (yych <= '@') goto yy10;
- goto yy290;
+ if (yych == ';') goto yy88;
+ if (yych <= '@') goto yy86;
+ goto yy366;
} else {
- if (yych <= '`') goto yy10;
- if (yych <= 'f') goto yy290;
- if (yych <= '~') goto yy10;
- goto yy12;
+ if (yych <= '`') goto yy86;
+ if (yych <= 'f') goto yy366;
+ if (yych <= '~') goto yy86;
+ goto yy88;
}
}
-yy408:
- yych = *++cursor_;
- if (yych <= '/') goto yy11;
- if (yych <= '0') goto yy582;
- if (yych <= '9') goto yy584;
- goto yy11;
-yy409:
+yy485:
yych = *++cursor_;
- if (yych == 'c') goto yy586;
- goto yy11;
-yy410:
+ if (yych <= '/') goto yy87;
+ if (yych <= '0') goto yy661;
+ if (yych <= '9') goto yy663;
+ goto yy87;
+yy486:
yych = *++cursor_;
- if (yych == '_') goto yy588;
- goto yy11;
-yy411:
+ if (yych == 'c') goto yy665;
+ goto yy87;
+yy487:
yych = *++cursor_;
- if (yych == '.') goto yy589;
- goto yy11;
-yy412:
+ if (yych == '_') goto yy667;
+ goto yy87;
+yy488:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == '.') goto yy668;
+ goto yy87;
+yy489:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 676 "src/wast-lexer.cc"
+#line 717 "src/wast-lexer.cc"
{ RETURN(Bin); }
-#line 2895 "src/prebuilt/wast-lexer-gen.cc"
-yy414:
- yych = *++cursor_;
- if (yych == 'l') goto yy590;
- goto yy11;
-yy415:
+#line 3520 "src/prebuilt/wast-lexer-gen.cc"
+yy491:
yych = *++cursor_;
- if (yych == 'n') goto yy591;
- goto yy11;
-yy416:
+ if (yych == 'l') goto yy669;
+ goto yy87;
+yy492:
yych = *++cursor_;
- if (yych == 't') goto yy592;
- goto yy11;
-yy417:
+ if (yych == 'n') goto yy670;
+ goto yy87;
+yy493:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 't') goto yy671;
+ goto yy87;
+yy494:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 686 "src/wast-lexer.cc"
+#line 727 "src/wast-lexer.cc"
{ RETURN(Except); }
-#line 2915 "src/prebuilt/wast-lexer-gen.cc"
-yy419:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 3540 "src/prebuilt/wast-lexer-gen.cc"
+yy496:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 685 "src/wast-lexer.cc"
+#line 726 "src/wast-lexer.cc"
{ RETURN(Export); }
-#line 2923 "src/prebuilt/wast-lexer-gen.cc"
-yy421:
- yych = *++cursor_;
- if (yych == 's') goto yy593;
- goto yy11;
-yy422:
+#line 3548 "src/prebuilt/wast-lexer-gen.cc"
+yy498:
yych = *++cursor_;
- if (yych == 'd') goto yy595;
- goto yy11;
-yy423:
+ if (yych == 's') goto yy672;
+ goto yy87;
+yy499:
yych = *++cursor_;
- if (yych == 'i') goto yy597;
- goto yy11;
-yy424:
+ if (yych == 'd') goto yy674;
+ goto yy87;
+yy500:
yych = *++cursor_;
- if (yych == 'n') goto yy598;
- if (yych == 'p') goto yy599;
- goto yy11;
-yy425:
+ if (yych == 'i') goto yy676;
+ goto yy87;
+yy501:
yych = *++cursor_;
- if (yych == 'm') goto yy600;
- goto yy11;
-yy426:
+ if (yych == 'n') goto yy677;
+ if (yych == 'p') goto yy678;
+ goto yy87;
+yy502:
yych = *++cursor_;
- if (yych == 'v') goto yy601;
- goto yy11;
-yy427:
+ if (yych == 'm') goto yy679;
+ goto yy87;
+yy503:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'v') goto yy680;
+ goto yy87;
+yy504:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 401 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32Eq); }
-#line 2956 "src/prebuilt/wast-lexer-gen.cc"
-yy429:
- yych = *++cursor_;
- if (yych == 'o') goto yy603;
- goto yy11;
-yy430:
+#line 3581 "src/prebuilt/wast-lexer-gen.cc"
+yy506:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'o') goto yy682;
+ goto yy87;
+yy507:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 411 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32Ge); }
-#line 2968 "src/prebuilt/wast-lexer-gen.cc"
-yy432:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 3593 "src/prebuilt/wast-lexer-gen.cc"
+yy509:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 409 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32Gt); }
-#line 2976 "src/prebuilt/wast-lexer-gen.cc"
-yy434:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 3601 "src/prebuilt/wast-lexer-gen.cc"
+yy511:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 407 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32Le); }
-#line 2984 "src/prebuilt/wast-lexer-gen.cc"
-yy436:
- yych = *++cursor_;
- if (yych == 'a') goto yy604;
- goto yy11;
-yy437:
+#line 3609 "src/prebuilt/wast-lexer-gen.cc"
+yy513:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'a') goto yy683;
+ goto yy87;
+yy514:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 405 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32Lt); }
-#line 2996 "src/prebuilt/wast-lexer-gen.cc"
-yy439:
- yych = *++cursor_;
- if (yych == 'x') goto yy605;
- goto yy11;
-yy440:
+#line 3621 "src/prebuilt/wast-lexer-gen.cc"
+yy516:
yych = *++cursor_;
- if (yych == 'n') goto yy607;
- goto yy11;
-yy441:
+ if (yych == 'x') goto yy684;
+ goto yy87;
+yy517:
yych = *++cursor_;
- if (yych == 'l') goto yy609;
- goto yy11;
-yy442:
+ if (yych == 'n') goto yy686;
+ goto yy87;
+yy518:
yych = *++cursor_;
- if (yych <= ':') {
+ if (yych == 'l') goto yy688;
+ goto yy87;
+yy519:
+ ++cursor_;
+ if ((yych = *cursor_) <= ':') {
if (yych <= '"') {
- if (yych == '!') goto yy10;
+ if (yych == '!') goto yy86;
} else {
- if (yych <= '\'') goto yy10;
- if (yych >= '*') goto yy10;
+ if (yych <= '\'') goto yy86;
+ if (yych >= '*') goto yy86;
}
} else {
if (yych <= 'a') {
- if (yych <= ';') goto yy443;
- if (yych <= '`') goto yy10;
- goto yy611;
+ if (yych <= ';') goto yy520;
+ if (yych <= '`') goto yy86;
+ goto yy690;
} else {
- if (yych == 'g') goto yy612;
- if (yych <= '~') goto yy10;
+ if (yych == 'g') goto yy691;
+ if (yych <= '~') goto yy86;
}
}
-yy443:
+yy520:
#line 403 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32Ne); }
-#line 3031 "src/prebuilt/wast-lexer-gen.cc"
-yy444:
+#line 3656 "src/prebuilt/wast-lexer-gen.cc"
+yy521:
yych = *++cursor_;
- if (yych == 'i') goto yy614;
- goto yy11;
-yy445:
+ if (yych == 'i') goto yy693;
+ goto yy87;
+yy522:
yych = *++cursor_;
- if (yych == 'r') goto yy615;
- goto yy11;
-yy446:
+ if (yych == 'r') goto yy694;
+ goto yy87;
+yy523:
yych = *++cursor_;
- if (yych == 'o') goto yy616;
- goto yy11;
-yy447:
+ if (yych == 'o') goto yy695;
+ goto yy87;
+yy524:
yych = *++cursor_;
- if (yych == 'b') goto yy617;
- goto yy11;
-yy448:
+ if (yych == 'b') goto yy696;
+ goto yy87;
+yy525:
yych = *++cursor_;
- if (yych == 'u') goto yy619;
- goto yy11;
-yy449:
+ if (yych == 'u') goto yy698;
+ goto yy87;
+yy526:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy620;
- case 'c': goto yy621;
- case 'd': goto yy622;
- case 'e': goto yy623;
- case 'g': goto yy624;
- case 'l': goto yy625;
- case 'm': goto yy626;
- case 'n': goto yy627;
- case 'r': goto yy628;
- case 's': goto yy629;
- default: goto yy11;
+ case 'a': goto yy699;
+ case 'c': goto yy700;
+ case 'd': goto yy701;
+ case 'e': goto yy702;
+ case 'g': goto yy703;
+ case 'l': goto yy704;
+ case 'm': goto yy705;
+ case 'n': goto yy706;
+ case 'r': goto yy707;
+ case 's': goto yy708;
+ default: goto yy87;
}
-yy450:
- yych = *++cursor_;
- if (yych == 's') goto yy630;
- goto yy11;
-yy451:
+yy527:
yych = *++cursor_;
- if (yych == 'd') goto yy632;
- goto yy11;
-yy452:
+ if (yych == 's') goto yy709;
+ goto yy87;
+yy528:
yych = *++cursor_;
- if (yych == 'i') goto yy634;
- goto yy11;
-yy453:
+ if (yych == 'd') goto yy711;
+ goto yy87;
+yy529:
yych = *++cursor_;
- if (yych == 'n') goto yy635;
- if (yych == 'p') goto yy636;
- goto yy11;
-yy454:
+ if (yych == 'i') goto yy713;
+ goto yy87;
+yy530:
yych = *++cursor_;
- if (yych == 'v') goto yy637;
- goto yy11;
-yy455:
+ if (yych == 'n') goto yy714;
+ if (yych == 'p') goto yy715;
+ goto yy87;
+yy531:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'v') goto yy716;
+ goto yy87;
+yy532:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 402 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64Eq); }
-#line 3095 "src/prebuilt/wast-lexer-gen.cc"
-yy457:
- yych = *++cursor_;
- if (yych == 'o') goto yy639;
- goto yy11;
-yy458:
+#line 3720 "src/prebuilt/wast-lexer-gen.cc"
+yy534:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'o') goto yy718;
+ goto yy87;
+yy535:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 412 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64Ge); }
-#line 3107 "src/prebuilt/wast-lexer-gen.cc"
-yy460:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 3732 "src/prebuilt/wast-lexer-gen.cc"
+yy537:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 410 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64Gt); }
-#line 3115 "src/prebuilt/wast-lexer-gen.cc"
-yy462:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 3740 "src/prebuilt/wast-lexer-gen.cc"
+yy539:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 408 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64Le); }
-#line 3123 "src/prebuilt/wast-lexer-gen.cc"
-yy464:
- yych = *++cursor_;
- if (yych == 'a') goto yy640;
- goto yy11;
-yy465:
+#line 3748 "src/prebuilt/wast-lexer-gen.cc"
+yy541:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'a') goto yy719;
+ goto yy87;
+yy542:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 406 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64Lt); }
-#line 3135 "src/prebuilt/wast-lexer-gen.cc"
-yy467:
- yych = *++cursor_;
- if (yych == 'x') goto yy641;
- goto yy11;
-yy468:
+#line 3760 "src/prebuilt/wast-lexer-gen.cc"
+yy544:
yych = *++cursor_;
- if (yych == 'n') goto yy643;
- goto yy11;
-yy469:
+ if (yych == 'x') goto yy720;
+ goto yy87;
+yy545:
yych = *++cursor_;
- if (yych == 'l') goto yy645;
- goto yy11;
-yy470:
+ if (yych == 'n') goto yy722;
+ goto yy87;
+yy546:
yych = *++cursor_;
- if (yych <= ':') {
+ if (yych == 'l') goto yy724;
+ goto yy87;
+yy547:
+ ++cursor_;
+ if ((yych = *cursor_) <= ':') {
if (yych <= '"') {
- if (yych == '!') goto yy10;
+ if (yych == '!') goto yy86;
} else {
- if (yych <= '\'') goto yy10;
- if (yych >= '*') goto yy10;
+ if (yych <= '\'') goto yy86;
+ if (yych >= '*') goto yy86;
}
} else {
if (yych <= 'a') {
- if (yych <= ';') goto yy471;
- if (yych <= '`') goto yy10;
- goto yy647;
+ if (yych <= ';') goto yy548;
+ if (yych <= '`') goto yy86;
+ goto yy726;
} else {
- if (yych == 'g') goto yy648;
- if (yych <= '~') goto yy10;
+ if (yych == 'g') goto yy727;
+ if (yych <= '~') goto yy86;
}
}
-yy471:
+yy548:
#line 404 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64Ne); }
-#line 3170 "src/prebuilt/wast-lexer-gen.cc"
-yy472:
+#line 3795 "src/prebuilt/wast-lexer-gen.cc"
+yy549:
yych = *++cursor_;
- if (yych == 'o') goto yy650;
- goto yy11;
-yy473:
+ if (yych == 'o') goto yy729;
+ goto yy87;
+yy550:
yych = *++cursor_;
- if (yych == 'i') goto yy651;
- goto yy11;
-yy474:
+ if (yych == 'i') goto yy730;
+ goto yy87;
+yy551:
yych = *++cursor_;
- if (yych == 'r') goto yy652;
- goto yy11;
-yy475:
+ if (yych == 'r') goto yy731;
+ goto yy87;
+yy552:
yych = *++cursor_;
- if (yych == 'o') goto yy653;
- goto yy11;
-yy476:
+ if (yych == 'o') goto yy732;
+ goto yy87;
+yy553:
yych = *++cursor_;
- if (yych == 'b') goto yy654;
- goto yy11;
-yy477:
+ if (yych == 'b') goto yy733;
+ goto yy87;
+yy554:
yych = *++cursor_;
- if (yych == 'u') goto yy656;
- goto yy11;
-yy478:
+ if (yych == 'u') goto yy735;
+ goto yy87;
+yy555:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy657;
- case 'c': goto yy658;
- case 'd': goto yy659;
- case 'e': goto yy660;
- case 'g': goto yy661;
- case 'l': goto yy662;
- case 'm': goto yy663;
- case 'n': goto yy664;
- case 'r': goto yy665;
- case 's': goto yy666;
- default: goto yy11;
+ case 'a': goto yy736;
+ case 'c': goto yy737;
+ case 'd': goto yy738;
+ case 'e': goto yy739;
+ case 'g': goto yy740;
+ case 'l': goto yy741;
+ case 'm': goto yy742;
+ case 'n': goto yy743;
+ case 'r': goto yy744;
+ case 's': goto yy745;
+ default: goto yy87;
}
-yy479:
+yy556:
yych = *++cursor_;
- if (yych == 'o') goto yy667;
- goto yy11;
-yy480:
+ if (yych == 'f') goto yy746;
+ goto yy87;
+yy557:
yych = *++cursor_;
- if (yych == 'c') goto yy668;
- goto yy11;
-yy481:
+ if (yych == 'o') goto yy748;
+ goto yy87;
+yy558:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'c') goto yy749;
+ goto yy87;
+yy559:
+ ++cursor_;
+ if ((yych = *cursor_) <= ')') {
+ if (yych <= '!') {
+ if (yych >= '!') goto yy86;
+ } else {
+ if (yych <= '"') goto yy560;
+ if (yych <= '\'') goto yy86;
+ }
+ } else {
+ if (yych <= ':') {
+ if (yych == '.') goto yy750;
+ goto yy86;
+ } else {
+ if (yych <= ';') goto yy560;
+ if (yych <= '~') goto yy86;
+ }
}
-#line 674 "src/wast-lexer.cc"
+yy560:
+#line 715 "src/wast-lexer.cc"
{ RETURN(Global); }
-#line 3225 "src/prebuilt/wast-lexer-gen.cc"
-yy483:
+#line 3868 "src/prebuilt/wast-lexer-gen.cc"
+yy561:
yych = *++cursor_;
- if (yych == 'e') goto yy669;
- goto yy11;
-yy484:
+ if (yych == 'e') goto yy751;
+ goto yy87;
+yy562:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy670;
- case 'e': goto yy671;
- case 'g': goto yy672;
- case 'l': goto yy673;
- case 'm': goto yy674;
- case 'n': goto yy675;
- case 'r': goto yy676;
- case 's': goto yy677;
- default: goto yy11;
+ case 'a': goto yy752;
+ case 'e': goto yy753;
+ case 'g': goto yy754;
+ case 'l': goto yy755;
+ case 'm': goto yy756;
+ case 'n': goto yy757;
+ case 'r': goto yy758;
+ case 's': goto yy759;
+ default: goto yy87;
}
-yy485:
- yych = *++cursor_;
- if (yych == 'd') goto yy678;
- goto yy11;
-yy486:
+yy563:
yych = *++cursor_;
- if (yych == 'd') goto yy680;
- goto yy11;
-yy487:
+ if (yych == 'd') goto yy760;
+ goto yy87;
+yy564:
yych = *++cursor_;
- if (yych == 'o') goto yy682;
- goto yy11;
-yy488:
+ if (yych == 'd') goto yy762;
+ goto yy87;
+yy565:
yych = *++cursor_;
- if (yych == 'z') goto yy683;
- goto yy11;
-yy489:
+ if (yych == 'o') goto yy764;
+ goto yy87;
+yy566:
yych = *++cursor_;
- if (yych == 'n') goto yy685;
- goto yy11;
-yy490:
+ if (yych == 'z') goto yy765;
+ goto yy87;
+yy567:
yych = *++cursor_;
- if (yych == 'z') goto yy686;
- goto yy11;
-yy491:
+ if (yych == 'n') goto yy767;
+ goto yy87;
+yy568:
yych = *++cursor_;
- if (yych == 'v') goto yy688;
- goto yy11;
-yy492:
+ if (yych == 'z') goto yy768;
+ goto yy87;
+yy569:
yych = *++cursor_;
- if (yych <= ')') {
+ if (yych == 'v') goto yy770;
+ goto yy87;
+yy570:
+ ++cursor_;
+ if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy10;
+ if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy493;
- if (yych <= '\'') goto yy10;
+ if (yych <= '"') goto yy571;
+ if (yych <= '\'') goto yy86;
}
} else {
if (yych <= 'y') {
- if (yych != ';') goto yy10;
+ if (yych != ';') goto yy86;
} else {
- if (yych <= 'z') goto yy689;
- if (yych <= '~') goto yy10;
+ if (yych <= 'z') goto yy771;
+ if (yych <= '~') goto yy86;
}
}
-yy493:
+yy571:
#line 381 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32Eq); }
-#line 3291 "src/prebuilt/wast-lexer-gen.cc"
-yy494:
- yych = *++cursor_;
- if (yych == 't') goto yy691;
- goto yy11;
-yy495:
+#line 3934 "src/prebuilt/wast-lexer-gen.cc"
+yy572:
yych = *++cursor_;
- if (yych == '_') goto yy692;
- goto yy11;
-yy496:
+ if (yych == 't') goto yy773;
+ goto yy87;
+yy573:
yych = *++cursor_;
- if (yych == '_') goto yy693;
- goto yy11;
-yy497:
+ if (yych == '_') goto yy774;
+ goto yy87;
+yy574:
yych = *++cursor_;
- if (yych == '_') goto yy694;
- goto yy11;
-yy498:
+ if (yych == '_') goto yy775;
+ goto yy87;
+yy575:
yych = *++cursor_;
- if (yych == 'a') goto yy695;
- goto yy11;
-yy499:
+ if (yych == '_') goto yy776;
+ goto yy87;
+yy576:
yych = *++cursor_;
- if (yych == '_') goto yy696;
- goto yy11;
-yy500:
+ if (yych == 'a') goto yy777;
+ goto yy87;
+yy577:
yych = *++cursor_;
- if (yych == 'l') goto yy697;
- goto yy11;
-yy501:
+ if (yych == '_') goto yy778;
+ goto yy87;
+yy578:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'l') goto yy779;
+ goto yy87;
+yy579:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 383 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32Ne); }
-#line 3327 "src/prebuilt/wast-lexer-gen.cc"
-yy503:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 3970 "src/prebuilt/wast-lexer-gen.cc"
+yy581:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 353 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32Or); }
-#line 3335 "src/prebuilt/wast-lexer-gen.cc"
-yy505:
+#line 3978 "src/prebuilt/wast-lexer-gen.cc"
+yy583:
yych = *++cursor_;
- if (yych == 'p') goto yy699;
- goto yy11;
-yy506:
+ if (yych == 'p') goto yy781;
+ goto yy87;
+yy584:
yych = *++cursor_;
- if (yych == 'i') goto yy700;
- if (yych == 'm') goto yy701;
- goto yy11;
-yy507:
+ if (yych == 'i') goto yy782;
+ if (yych == 'm') goto yy783;
+ goto yy87;
+yy585:
yych = *++cursor_;
- if (yych == 't') goto yy702;
- goto yy11;
-yy508:
+ if (yych == 't') goto yy784;
+ goto yy87;
+yy586:
yych = *++cursor_;
- if (yych == 'l') goto yy703;
- if (yych == 'r') goto yy705;
- goto yy11;
-yy509:
+ if (yych == 'l') goto yy785;
+ if (yych == 'r') goto yy787;
+ goto yy87;
+yy587:
yych = *++cursor_;
- if (yych == 'o') goto yy706;
- goto yy11;
-yy510:
+ if (yych == 'o') goto yy788;
+ goto yy87;
+yy588:
yych = *++cursor_;
- if (yych == 'b') goto yy707;
- goto yy11;
-yy511:
+ if (yych == 'b') goto yy789;
+ goto yy87;
+yy589:
yych = *++cursor_;
- if (yych == 'u') goto yy709;
- goto yy11;
-yy512:
+ if (yych == 'u') goto yy791;
+ goto yy87;
+yy590:
yych = *++cursor_;
- if (yych == 'a') goto yy710;
- goto yy11;
-yy513:
+ if (yych == 'a') goto yy792;
+ goto yy87;
+yy591:
yych = *++cursor_;
- if (yych == 'r') goto yy711;
- goto yy11;
-yy514:
+ if (yych == 'r') goto yy793;
+ goto yy87;
+yy592:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy713;
- case 'e': goto yy714;
- case 'g': goto yy715;
- case 'l': goto yy716;
- case 'm': goto yy717;
- case 'n': goto yy718;
- case 'r': goto yy719;
- case 's': goto yy720;
- case 't': goto yy721;
- default: goto yy11;
- }
-yy515:
- yych = *++cursor_;
- if (yych == 'd') goto yy722;
- goto yy11;
-yy516:
+ case 'a': goto yy795;
+ case 'e': goto yy796;
+ case 'g': goto yy797;
+ case 'l': goto yy798;
+ case 'm': goto yy799;
+ case 'n': goto yy800;
+ case 'r': goto yy801;
+ case 's': goto yy802;
+ case 't': goto yy803;
+ default: goto yy87;
+ }
+yy593:
yych = *++cursor_;
- if (yych == 'd') goto yy724;
- goto yy11;
-yy517:
+ if (yych == 'd') goto yy804;
+ goto yy87;
+yy594:
yych = *++cursor_;
- if (yych == 'o') goto yy726;
- goto yy11;
-yy518:
+ if (yych == 'd') goto yy806;
+ goto yy87;
+yy595:
yych = *++cursor_;
- if (yych == 'z') goto yy727;
- goto yy11;
-yy519:
+ if (yych == 'o') goto yy808;
+ goto yy87;
+yy596:
yych = *++cursor_;
- if (yych == 'n') goto yy729;
- goto yy11;
-yy520:
+ if (yych == 'z') goto yy809;
+ goto yy87;
+yy597:
yych = *++cursor_;
- if (yych == 'z') goto yy730;
- goto yy11;
-yy521:
+ if (yych == 'n') goto yy811;
+ goto yy87;
+yy598:
yych = *++cursor_;
- if (yych == 'v') goto yy732;
- goto yy11;
-yy522:
+ if (yych == 'z') goto yy812;
+ goto yy87;
+yy599:
yych = *++cursor_;
- if (yych <= ')') {
+ if (yych == 'v') goto yy814;
+ goto yy87;
+yy600:
+ ++cursor_;
+ if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy10;
+ if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy523;
- if (yych <= '\'') goto yy10;
+ if (yych <= '"') goto yy601;
+ if (yych <= '\'') goto yy86;
}
} else {
if (yych <= 'y') {
- if (yych != ';') goto yy10;
+ if (yych != ';') goto yy86;
} else {
- if (yych <= 'z') goto yy733;
- if (yych <= '~') goto yy10;
+ if (yych <= 'z') goto yy815;
+ if (yych <= '~') goto yy86;
}
}
-yy523:
+yy601:
#line 382 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64Eq); }
-#line 3436 "src/prebuilt/wast-lexer-gen.cc"
-yy524:
+#line 4079 "src/prebuilt/wast-lexer-gen.cc"
+yy602:
yych = *++cursor_;
- if (yych == 't') goto yy735;
- goto yy11;
-yy525:
- yych = *++cursor_;
- if (yych == '_') goto yy736;
- goto yy11;
-yy526:
+ if (yych == 't') goto yy817;
+ goto yy87;
+yy603:
yych = *++cursor_;
- if (yych == '_') goto yy737;
- goto yy11;
-yy527:
+ if (yych == '_') goto yy818;
+ goto yy87;
+yy604:
yych = *++cursor_;
- if (yych == '_') goto yy738;
- goto yy11;
-yy528:
+ if (yych == '_') goto yy819;
+ goto yy87;
+yy605:
yych = *++cursor_;
- if (yych == 'a') goto yy739;
- goto yy11;
-yy529:
+ if (yych == '_') goto yy820;
+ goto yy87;
+yy606:
yych = *++cursor_;
- if (yych == '_') goto yy740;
- goto yy11;
-yy530:
+ if (yych == 'a') goto yy821;
+ goto yy87;
+yy607:
yych = *++cursor_;
- if (yych == 'l') goto yy741;
- goto yy11;
-yy531:
+ if (yych == '_') goto yy822;
+ goto yy87;
+yy608:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'l') goto yy823;
+ goto yy87;
+yy609:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 384 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64Ne); }
-#line 3472 "src/prebuilt/wast-lexer-gen.cc"
-yy533:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 4115 "src/prebuilt/wast-lexer-gen.cc"
+yy611:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 354 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64Or); }
-#line 3480 "src/prebuilt/wast-lexer-gen.cc"
-yy535:
+#line 4123 "src/prebuilt/wast-lexer-gen.cc"
+yy613:
yych = *++cursor_;
- if (yych == 'p') goto yy743;
- goto yy11;
-yy536:
+ if (yych == 'p') goto yy825;
+ goto yy87;
+yy614:
yych = *++cursor_;
- if (yych == 'i') goto yy744;
- if (yych == 'm') goto yy745;
- goto yy11;
-yy537:
+ if (yych == 'i') goto yy826;
+ if (yych == 'm') goto yy827;
+ goto yy87;
+yy615:
yych = *++cursor_;
- if (yych == 't') goto yy746;
- goto yy11;
-yy538:
+ if (yych == 't') goto yy828;
+ goto yy87;
+yy616:
yych = *++cursor_;
- if (yych == 'l') goto yy747;
- if (yych == 'r') goto yy749;
- goto yy11;
-yy539:
+ if (yych == 'l') goto yy829;
+ if (yych == 'r') goto yy831;
+ goto yy87;
+yy617:
yych = *++cursor_;
- if (yych == 'o') goto yy750;
- goto yy11;
-yy540:
+ if (yych == 'o') goto yy832;
+ goto yy87;
+yy618:
yych = *++cursor_;
- if (yych == 'b') goto yy751;
- goto yy11;
-yy541:
+ if (yych == 'b') goto yy833;
+ goto yy87;
+yy619:
yych = *++cursor_;
- if (yych == 'u') goto yy753;
- goto yy11;
-yy542:
+ if (yych == 'u') goto yy835;
+ goto yy87;
+yy620:
yych = *++cursor_;
- if (yych == 'r') goto yy754;
- goto yy11;
-yy543:
+ if (yych == 'r') goto yy836;
+ goto yy87;
+yy621:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy756;
- case 'e': goto yy757;
- case 'n': goto yy758;
- case 'r': goto yy759;
- case 's': goto yy760;
- case 't': goto yy761;
- default: goto yy11;
+ case 'a': goto yy838;
+ case 'e': goto yy839;
+ case 'n': goto yy840;
+ case 'r': goto yy841;
+ case 's': goto yy842;
+ case 't': goto yy843;
+ default: goto yy87;
}
-yy544:
+yy622:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy762;
- case 'e': goto yy763;
- case 'g': goto yy764;
- case 'l': goto yy765;
- case 'm': goto yy766;
- case 'n': goto yy767;
- case 'r': goto yy768;
- case 's': goto yy769;
- default: goto yy11;
+ case 'a': goto yy844;
+ case 'e': goto yy845;
+ case 'g': goto yy846;
+ case 'l': goto yy847;
+ case 'm': goto yy848;
+ case 'n': goto yy849;
+ case 'r': goto yy850;
+ case 's': goto yy851;
+ default: goto yy87;
}
-yy545:
- yych = *++cursor_;
- if (yych == 'e') goto yy770;
- goto yy11;
-yy546:
+yy623:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'e') goto yy852;
+ goto yy87;
+yy624:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 684 "src/wast-lexer.cc"
+#line 725 "src/wast-lexer.cc"
{ RETURN(Import); }
-#line 3550 "src/prebuilt/wast-lexer-gen.cc"
-yy548:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 4193 "src/prebuilt/wast-lexer-gen.cc"
+yy626:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 689 "src/wast-lexer.cc"
+#line 730 "src/wast-lexer.cc"
{ RETURN(Invoke); }
-#line 3558 "src/prebuilt/wast-lexer-gen.cc"
-yy550:
+#line 4201 "src/prebuilt/wast-lexer-gen.cc"
+yy628:
yych = *++cursor_;
- if (yych <= ')') {
+ if (yych <= 'r') {
+ if (yych == 'g') goto yy853;
+ goto yy87;
+ } else {
+ if (yych <= 's') goto yy854;
+ if (yych <= 't') goto yy855;
+ goto yy87;
+ }
+yy629:
+ ++cursor_;
+ if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy10;
+ if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy551;
- if (yych <= '\'') goto yy10;
+ if (yych <= '"') goto yy630;
+ if (yych <= '\'') goto yy86;
}
} else {
if (yych <= ':') {
- if (yych == '.') goto yy771;
- goto yy10;
+ if (yych == '.') goto yy856;
+ goto yy86;
} else {
- if (yych <= ';') goto yy551;
- if (yych <= '~') goto yy10;
+ if (yych <= ';') goto yy630;
+ if (yych <= '~') goto yy86;
}
}
-yy551:
-#line 679 "src/wast-lexer.cc"
+yy630:
+#line 720 "src/wast-lexer.cc"
{ RETURN(Memory); }
-#line 3580 "src/prebuilt/wast-lexer-gen.cc"
-yy552:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 4233 "src/prebuilt/wast-lexer-gen.cc"
+yy631:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 675 "src/wast-lexer.cc"
+#line 716 "src/wast-lexer.cc"
{ RETURN(Module); }
-#line 3588 "src/prebuilt/wast-lexer-gen.cc"
-yy554:
+#line 4241 "src/prebuilt/wast-lexer-gen.cc"
+yy633:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= '9') {
if (yych <= '"') {
- if (yych == '!') goto yy10;
- goto yy12;
+ if (yych == '!') goto yy86;
+ goto yy88;
} else {
- if (yych <= '\'') goto yy10;
- if (yych <= ')') goto yy12;
- if (yych <= '/') goto yy10;
- goto yy772;
+ if (yych <= '\'') goto yy86;
+ if (yych <= ')') goto yy88;
+ if (yych <= '/') goto yy86;
+ goto yy857;
}
} else {
if (yych <= 'F') {
- if (yych == ';') goto yy12;
- if (yych <= '@') goto yy10;
- goto yy772;
+ if (yych == ';') goto yy88;
+ if (yych <= '@') goto yy86;
+ goto yy857;
} else {
- if (yych <= '`') goto yy10;
- if (yych <= 'f') goto yy772;
- if (yych <= '~') goto yy10;
- goto yy12;
+ if (yych <= '`') goto yy86;
+ if (yych <= 'f') goto yy857;
+ if (yych <= '~') goto yy86;
+ goto yy88;
}
}
-yy555:
- yych = *++cursor_;
- if (yych <= ')') {
+yy634:
+ ++cursor_;
+ if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy10;
+ if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy556;
- if (yych <= '\'') goto yy10;
+ if (yych <= '"') goto yy635;
+ if (yych <= '\'') goto yy86;
}
} else {
if (yych <= '<') {
- if (yych != ';') goto yy10;
+ if (yych != ';') goto yy86;
} else {
- if (yych <= '=') goto yy774;
- if (yych <= '~') goto yy10;
+ if (yych <= '=') goto yy859;
+ if (yych <= '~') goto yy86;
}
}
-yy556:
-#line 683 "src/wast-lexer.cc"
+yy635:
+#line 724 "src/wast-lexer.cc"
{ RETURN(Offset); }
-#line 3635 "src/prebuilt/wast-lexer-gen.cc"
-yy557:
- yych = *++cursor_;
- if (yych == 'e') goto yy775;
- goto yy11;
-yy558:
+#line 4288 "src/prebuilt/wast-lexer-gen.cc"
+yy636:
yych = *++cursor_;
- if (yych == 'e') goto yy777;
- goto yy11;
-yy559:
+ if (yych == 'e') goto yy860;
+ goto yy87;
+yy637:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'e') goto yy862;
+ goto yy87;
+yy638:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 672 "src/wast-lexer.cc"
+#line 713 "src/wast-lexer.cc"
{ RETURN(Result); }
-#line 3651 "src/prebuilt/wast-lexer-gen.cc"
-yy561:
- yych = *++cursor_;
- if (yych == 'w') goto yy778;
- goto yy11;
-yy562:
+#line 4304 "src/prebuilt/wast-lexer-gen.cc"
+yy640:
yych = *++cursor_;
- if (yych <= ')') {
+ if (yych == 'w') goto yy863;
+ goto yy87;
+yy641:
+ ++cursor_;
+ if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy10;
+ if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy563;
- if (yych <= '\'') goto yy10;
+ if (yych <= '"') goto yy642;
+ if (yych <= '\'') goto yy86;
}
} else {
if (yych <= '^') {
- if (yych != ';') goto yy10;
+ if (yych != ';') goto yy86;
} else {
- if (yych <= '_') goto yy780;
- if (yych <= '~') goto yy10;
+ if (yych <= '_') goto yy865;
+ if (yych <= '~') goto yy86;
}
}
-yy563:
+yy642:
#line 275 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Return); }
-#line 3676 "src/prebuilt/wast-lexer-gen.cc"
-yy564:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 4329 "src/prebuilt/wast-lexer-gen.cc"
+yy643:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 446 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Select); }
-#line 3684 "src/prebuilt/wast-lexer-gen.cc"
-yy566:
- yych = *++cursor_;
- if (yych == 'o') goto yy781;
- goto yy11;
-yy567:
+#line 4337 "src/prebuilt/wast-lexer-gen.cc"
+yy645:
yych = *++cursor_;
- if (yych == 'c') goto yy782;
- goto yy11;
-yy568:
+ if (yych == 'o') goto yy866;
+ goto yy87;
+yy646:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'c') goto yy867;
+ goto yy87;
+yy647:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 705 "src/wast-lexer.cc"
+#line 746 "src/wast-lexer.cc"
{ RETURN(Shared); }
-#line 3700 "src/prebuilt/wast-lexer-gen.cc"
-yy570:
+#line 4353 "src/prebuilt/wast-lexer-gen.cc"
+yy649:
yych = *++cursor_;
if (yych <= 'd') {
- if (yych <= 'b') goto yy11;
- if (yych <= 'c') goto yy783;
- goto yy784;
+ if (yych <= 'b') goto yy87;
+ if (yych <= 'c') goto yy868;
+ goto yy869;
} else {
- if (yych == 'i') goto yy785;
- goto yy11;
+ if (yych == 'i') goto yy870;
+ goto yy87;
}
-yy571:
- yych = *++cursor_;
- if (yych == 'c') goto yy786;
- goto yy11;
-yy572:
+yy650:
yych = *++cursor_;
- if (yych == 'h') goto yy787;
- goto yy11;
-yy573:
+ if (yych == 'c') goto yy871;
+ goto yy87;
+yy651:
yych = *++cursor_;
- if (yych == 'n') goto yy788;
- goto yy11;
-yy574:
+ if (yych == 'h') goto yy872;
+ goto yy87;
+yy652:
yych = *++cursor_;
- if (yych == 'i') goto yy789;
- goto yy11;
-yy575:
+ if (yych == 'n') goto yy873;
+ goto yy87;
+yy653:
yych = *++cursor_;
- if (yych == 'o') goto yy790;
- goto yy11;
-yy576:
+ if (yych == 'i') goto yy874;
+ goto yy87;
+yy654:
yych = *++cursor_;
- if (yych == 'o') goto yy791;
- goto yy11;
-yy577:
+ if (yych == 'o') goto yy875;
+ goto yy87;
+yy655:
yych = *++cursor_;
- if (yych == 'o') goto yy792;
- goto yy11;
-yy578:
+ if (yych == 'o') goto yy876;
+ goto yy87;
+yy656:
yych = *++cursor_;
- if (yych == 'r') goto yy793;
- goto yy11;
-yy579:
+ if (yych == 'o') goto yy877;
+ goto yy87;
+yy657:
yych = *++cursor_;
- if (yych == 't') goto yy795;
- goto yy11;
-yy580:
+ if (yych == 'r') goto yy878;
+ goto yy87;
+yy658:
yych = *++cursor_;
- if (yych == 'o') goto yy796;
- goto yy11;
-yy581:
+ if (yych == 't') goto yy880;
+ goto yy87;
+yy659:
yych = *++cursor_;
- if (yych == 's') goto yy797;
- goto yy11;
-yy582:
+ if (yych == 'o') goto yy881;
+ goto yy87;
+yy660:
yych = *++cursor_;
- if (yych == 'x') goto yy799;
- goto yy585;
-yy583:
+ if (yych == 's') goto yy882;
+ goto yy87;
+yy661:
+ ++cursor_;
+ if ((yych = *cursor_) <= '9') {
+ if (yych <= '"') {
+ if (yych == '!') goto yy86;
+ } else {
+ if (yych <= '\'') goto yy86;
+ if (yych <= ')') goto yy662;
+ if (yych <= '/') goto yy86;
+ goto yy663;
+ }
+ } else {
+ if (yych <= '_') {
+ if (yych == ';') goto yy662;
+ if (yych <= '^') goto yy86;
+ goto yy883;
+ } else {
+ if (yych == 'x') goto yy884;
+ if (yych <= '~') goto yy86;
+ }
+ }
+yy662:
#line 305 "src/wast-lexer.cc"
{ RETURN_TEXT_AT(AlignEqNat, 6); }
-#line 3762 "src/prebuilt/wast-lexer-gen.cc"
-yy584:
+#line 4432 "src/prebuilt/wast-lexer-gen.cc"
+yy663:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
-yy585:
if (yych <= '/') {
if (yych <= '"') {
- if (yych == '!') goto yy10;
- goto yy583;
+ if (yych == '!') goto yy86;
+ goto yy662;
} else {
- if (yych <= '\'') goto yy10;
- if (yych <= ')') goto yy583;
- goto yy10;
+ if (yych <= '\'') goto yy86;
+ if (yych <= ')') goto yy662;
+ goto yy86;
}
} else {
if (yych <= ';') {
- if (yych <= '9') goto yy584;
- if (yych <= ':') goto yy10;
- goto yy583;
+ if (yych <= '9') goto yy663;
+ if (yych <= ':') goto yy86;
+ goto yy662;
} else {
- if (yych == '_') goto yy798;
- if (yych <= '~') goto yy10;
- goto yy583;
+ if (yych == '_') goto yy883;
+ if (yych <= '~') goto yy86;
+ goto yy662;
}
}
-yy586:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+yy665:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 260 "src/wast-lexer.cc"
- { RETURN(Anyfunc); }
-#line 3795 "src/prebuilt/wast-lexer-gen.cc"
-yy588:
+#line 670 "src/wast-lexer.cc"
+ { RETURN(Funcref); }
+#line 4464 "src/prebuilt/wast-lexer-gen.cc"
+yy667:
yych = *++cursor_;
switch (yych) {
- case 'e': goto yy800;
- case 'i': goto yy801;
- case 'm': goto yy802;
- case 'r': goto yy803;
- case 't': goto yy804;
- case 'u': goto yy805;
- default: goto yy11;
+ case 'e': goto yy885;
+ case 'i': goto yy886;
+ case 'm': goto yy887;
+ case 'r': goto yy888;
+ case 't': goto yy889;
+ case 'u': goto yy890;
+ default: goto yy87;
}
-yy589:
- yych = *++cursor_;
- if (yych == 'w') goto yy806;
- goto yy11;
-yy590:
+yy668:
yych = *++cursor_;
- if (yych == 'e') goto yy807;
- goto yy11;
-yy591:
+ if (yych == 'n') goto yy891;
+ goto yy87;
+yy669:
yych = *++cursor_;
- if (yych == 'd') goto yy809;
- goto yy11;
-yy592:
+ if (yych == 'e') goto yy892;
+ goto yy87;
+yy670:
yych = *++cursor_;
- if (yych == '_') goto yy810;
- goto yy11;
-yy593:
+ if (yych == 'd') goto yy894;
+ goto yy87;
+yy671:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == '_') goto yy895;
+ goto yy87;
+yy672:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 320 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32Abs); }
-#line 3830 "src/prebuilt/wast-lexer-gen.cc"
-yy595:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 4499 "src/prebuilt/wast-lexer-gen.cc"
+yy674:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 367 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32Add); }
-#line 3838 "src/prebuilt/wast-lexer-gen.cc"
-yy597:
- yych = *++cursor_;
- if (yych == 'l') goto yy811;
- goto yy11;
-yy598:
+#line 4507 "src/prebuilt/wast-lexer-gen.cc"
+yy676:
yych = *++cursor_;
- if (yych == 's') goto yy813;
- if (yych == 'v') goto yy814;
- goto yy11;
-yy599:
+ if (yych == 'l') goto yy896;
+ goto yy87;
+yy677:
yych = *++cursor_;
- if (yych == 'y') goto yy815;
- goto yy11;
-yy600:
+ if (yych == 's') goto yy898;
+ if (yych == 'v') goto yy899;
+ goto yy87;
+yy678:
yych = *++cursor_;
- if (yych == 'o') goto yy816;
- goto yy11;
-yy601:
+ if (yych == 'y') goto yy900;
+ goto yy87;
+yy679:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'o') goto yy901;
+ goto yy87;
+yy680:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 373 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32Div); }
-#line 3863 "src/prebuilt/wast-lexer-gen.cc"
-yy603:
- yych = *++cursor_;
- if (yych == 'o') goto yy817;
- goto yy11;
-yy604:
+#line 4532 "src/prebuilt/wast-lexer-gen.cc"
+yy682:
yych = *++cursor_;
- if (yych == 'd') goto yy818;
- goto yy11;
-yy605:
+ if (yych == 'o') goto yy902;
+ goto yy87;
+yy683:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'd') goto yy903;
+ goto yy87;
+yy684:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 377 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32Max); }
-#line 3879 "src/prebuilt/wast-lexer-gen.cc"
-yy607:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 4548 "src/prebuilt/wast-lexer-gen.cc"
+yy686:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 375 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32Min); }
-#line 3887 "src/prebuilt/wast-lexer-gen.cc"
-yy609:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 4556 "src/prebuilt/wast-lexer-gen.cc"
+yy688:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 371 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32Mul); }
-#line 3895 "src/prebuilt/wast-lexer-gen.cc"
-yy611:
- yych = *++cursor_;
- if (yych == 'r') goto yy820;
- goto yy11;
-yy612:
+#line 4564 "src/prebuilt/wast-lexer-gen.cc"
+yy690:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'r') goto yy905;
+ goto yy87;
+yy691:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 318 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32Neg); }
-#line 3907 "src/prebuilt/wast-lexer-gen.cc"
-yy614:
- yych = *++cursor_;
- if (yych == 'n') goto yy821;
- goto yy11;
-yy615:
+#line 4576 "src/prebuilt/wast-lexer-gen.cc"
+yy693:
yych = *++cursor_;
- if (yych == 't') goto yy822;
- goto yy11;
-yy616:
+ if (yych == 'n') goto yy906;
+ goto yy87;
+yy694:
yych = *++cursor_;
- if (yych == 'r') goto yy824;
- goto yy11;
-yy617:
+ if (yych == 't') goto yy907;
+ goto yy87;
+yy695:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'r') goto yy909;
+ goto yy87;
+yy696:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 369 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32Sub); }
-#line 3927 "src/prebuilt/wast-lexer-gen.cc"
-yy619:
+#line 4596 "src/prebuilt/wast-lexer-gen.cc"
+yy698:
yych = *++cursor_;
- if (yych == 'n') goto yy825;
- goto yy11;
-yy620:
+ if (yych == 'n') goto yy910;
+ goto yy87;
+yy699:
yych = *++cursor_;
- if (yych == 'b') goto yy826;
- if (yych == 'd') goto yy827;
- goto yy11;
-yy621:
+ if (yych == 'b') goto yy911;
+ if (yych == 'd') goto yy912;
+ goto yy87;
+yy700:
yych = *++cursor_;
- if (yych == 'o') goto yy828;
- goto yy11;
-yy622:
+ if (yych == 'o') goto yy913;
+ goto yy87;
+yy701:
yych = *++cursor_;
- if (yych == 'i') goto yy829;
- goto yy11;
-yy623:
+ if (yych == 'i') goto yy914;
+ goto yy87;
+yy702:
yych = *++cursor_;
- if (yych == 'q') goto yy830;
- if (yych == 'x') goto yy832;
- goto yy11;
-yy624:
+ if (yych == 'q') goto yy915;
+ if (yych == 'x') goto yy917;
+ goto yy87;
+yy703:
yych = *++cursor_;
- if (yych == 'e') goto yy833;
- if (yych == 't') goto yy835;
- goto yy11;
-yy625:
+ if (yych == 'e') goto yy918;
+ if (yych == 't') goto yy920;
+ goto yy87;
+yy704:
yych = *++cursor_;
- if (yych == 'e') goto yy837;
- if (yych == 't') goto yy839;
- goto yy11;
-yy626:
+ if (yych == 'e') goto yy922;
+ if (yych == 't') goto yy924;
+ goto yy87;
+yy705:
yych = *++cursor_;
if (yych <= 'h') {
- if (yych == 'a') goto yy841;
- goto yy11;
+ if (yych == 'a') goto yy926;
+ goto yy87;
} else {
- if (yych <= 'i') goto yy842;
- if (yych == 'u') goto yy843;
- goto yy11;
+ if (yych <= 'i') goto yy927;
+ if (yych == 'u') goto yy928;
+ goto yy87;
}
-yy627:
+yy706:
yych = *++cursor_;
- if (yych == 'e') goto yy844;
- goto yy11;
-yy628:
+ if (yych == 'e') goto yy929;
+ goto yy87;
+yy707:
yych = *++cursor_;
- if (yych == 'e') goto yy846;
- goto yy11;
-yy629:
+ if (yych == 'e') goto yy931;
+ goto yy87;
+yy708:
yych = *++cursor_;
if (yych <= 'q') {
- if (yych <= 'o') goto yy11;
- if (yych <= 'p') goto yy847;
- goto yy848;
+ if (yych <= 'o') goto yy87;
+ if (yych <= 'p') goto yy932;
+ goto yy933;
} else {
- if (yych == 'u') goto yy849;
- goto yy11;
+ if (yych == 'u') goto yy934;
+ goto yy87;
}
-yy630:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+yy709:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 321 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64Abs); }
-#line 3995 "src/prebuilt/wast-lexer-gen.cc"
-yy632:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 4664 "src/prebuilt/wast-lexer-gen.cc"
+yy711:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 368 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64Add); }
-#line 4003 "src/prebuilt/wast-lexer-gen.cc"
-yy634:
- yych = *++cursor_;
- if (yych == 'l') goto yy850;
- goto yy11;
-yy635:
+#line 4672 "src/prebuilt/wast-lexer-gen.cc"
+yy713:
yych = *++cursor_;
- if (yych == 's') goto yy852;
- if (yych == 'v') goto yy853;
- goto yy11;
-yy636:
+ if (yych == 'l') goto yy935;
+ goto yy87;
+yy714:
yych = *++cursor_;
- if (yych == 'y') goto yy854;
- goto yy11;
-yy637:
+ if (yych == 's') goto yy937;
+ if (yych == 'v') goto yy938;
+ goto yy87;
+yy715:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'y') goto yy939;
+ goto yy87;
+yy716:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 374 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64Div); }
-#line 4024 "src/prebuilt/wast-lexer-gen.cc"
-yy639:
- yych = *++cursor_;
- if (yych == 'o') goto yy855;
- goto yy11;
-yy640:
+#line 4693 "src/prebuilt/wast-lexer-gen.cc"
+yy718:
yych = *++cursor_;
- if (yych == 'd') goto yy856;
- goto yy11;
-yy641:
+ if (yych == 'o') goto yy940;
+ goto yy87;
+yy719:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'd') goto yy941;
+ goto yy87;
+yy720:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 378 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64Max); }
-#line 4040 "src/prebuilt/wast-lexer-gen.cc"
-yy643:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 4709 "src/prebuilt/wast-lexer-gen.cc"
+yy722:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 376 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64Min); }
-#line 4048 "src/prebuilt/wast-lexer-gen.cc"
-yy645:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 4717 "src/prebuilt/wast-lexer-gen.cc"
+yy724:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 372 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64Mul); }
-#line 4056 "src/prebuilt/wast-lexer-gen.cc"
-yy647:
- yych = *++cursor_;
- if (yych == 'r') goto yy858;
- goto yy11;
-yy648:
+#line 4725 "src/prebuilt/wast-lexer-gen.cc"
+yy726:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'r') goto yy943;
+ goto yy87;
+yy727:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 319 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64Neg); }
-#line 4068 "src/prebuilt/wast-lexer-gen.cc"
-yy650:
+#line 4737 "src/prebuilt/wast-lexer-gen.cc"
+yy729:
yych = *++cursor_;
- if (yych == 'm') goto yy859;
- goto yy11;
-yy651:
+ if (yych == 'm') goto yy944;
+ goto yy87;
+yy730:
yych = *++cursor_;
- if (yych == 'n') goto yy860;
- goto yy11;
-yy652:
+ if (yych == 'n') goto yy945;
+ goto yy87;
+yy731:
yych = *++cursor_;
- if (yych == 't') goto yy861;
- goto yy11;
-yy653:
- yych = *++cursor_;
- if (yych == 'r') goto yy863;
- goto yy11;
-yy654:
+ if (yych == 't') goto yy946;
+ goto yy87;
+yy732:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'r') goto yy948;
+ goto yy87;
+yy733:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 370 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64Sub); }
-#line 4092 "src/prebuilt/wast-lexer-gen.cc"
-yy656:
+#line 4761 "src/prebuilt/wast-lexer-gen.cc"
+yy735:
yych = *++cursor_;
- if (yych == 'n') goto yy864;
- goto yy11;
-yy657:
+ if (yych == 'n') goto yy949;
+ goto yy87;
+yy736:
yych = *++cursor_;
- if (yych == 'b') goto yy865;
- if (yych == 'd') goto yy866;
- goto yy11;
-yy658:
+ if (yych == 'b') goto yy950;
+ if (yych == 'd') goto yy951;
+ goto yy87;
+yy737:
yych = *++cursor_;
- if (yych == 'o') goto yy867;
- goto yy11;
-yy659:
+ if (yych == 'o') goto yy952;
+ goto yy87;
+yy738:
yych = *++cursor_;
- if (yych == 'i') goto yy868;
- goto yy11;
-yy660:
+ if (yych == 'i') goto yy953;
+ goto yy87;
+yy739:
yych = *++cursor_;
- if (yych == 'q') goto yy869;
- if (yych == 'x') goto yy871;
- goto yy11;
-yy661:
+ if (yych == 'q') goto yy954;
+ if (yych == 'x') goto yy956;
+ goto yy87;
+yy740:
yych = *++cursor_;
- if (yych == 'e') goto yy872;
- if (yych == 't') goto yy874;
- goto yy11;
-yy662:
+ if (yych == 'e') goto yy957;
+ if (yych == 't') goto yy959;
+ goto yy87;
+yy741:
yych = *++cursor_;
- if (yych == 'e') goto yy876;
- if (yych == 't') goto yy878;
- goto yy11;
-yy663:
+ if (yych == 'e') goto yy961;
+ if (yych == 't') goto yy963;
+ goto yy87;
+yy742:
yych = *++cursor_;
if (yych <= 'h') {
- if (yych == 'a') goto yy880;
- goto yy11;
+ if (yych == 'a') goto yy965;
+ goto yy87;
} else {
- if (yych <= 'i') goto yy881;
- if (yych == 'u') goto yy882;
- goto yy11;
+ if (yych <= 'i') goto yy966;
+ if (yych == 'u') goto yy967;
+ goto yy87;
}
-yy664:
+yy743:
yych = *++cursor_;
- if (yych == 'e') goto yy883;
- goto yy11;
-yy665:
+ if (yych == 'e') goto yy968;
+ goto yy87;
+yy744:
yych = *++cursor_;
- if (yych == 'e') goto yy885;
- goto yy11;
-yy666:
+ if (yych == 'e') goto yy970;
+ goto yy87;
+yy745:
yych = *++cursor_;
if (yych <= 'q') {
- if (yych <= 'o') goto yy11;
- if (yych <= 'p') goto yy886;
- goto yy887;
+ if (yych <= 'o') goto yy87;
+ if (yych <= 'p') goto yy971;
+ goto yy972;
} else {
- if (yych == 'u') goto yy888;
- goto yy11;
+ if (yych == 'u') goto yy973;
+ goto yy87;
}
-yy667:
+yy746:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 260 "src/wast-lexer.cc"
+ { RETURN(Funcref); }
+#line 4829 "src/prebuilt/wast-lexer-gen.cc"
+yy748:
yych = *++cursor_;
- if (yych == 'b') goto yy889;
- goto yy11;
-yy668:
+ if (yych == 'b') goto yy974;
+ goto yy87;
+yy749:
yych = *++cursor_;
- if (yych == 'a') goto yy890;
- goto yy11;
-yy669:
+ if (yych == 'a') goto yy975;
+ goto yy87;
+yy750:
yych = *++cursor_;
- if (yych == 'm') goto yy891;
- goto yy11;
-yy670:
+ if (yych == 'g') goto yy976;
+ if (yych == 's') goto yy977;
+ goto yy87;
+yy751:
+ yych = *++cursor_;
+ if (yych == 'm') goto yy978;
+ goto yy87;
+yy752:
yych = *++cursor_;
if (yych <= 'k') {
- if (yych == 'd') goto yy892;
- goto yy11;
+ if (yych == 'd') goto yy979;
+ goto yy87;
} else {
- if (yych <= 'l') goto yy893;
- if (yych == 'n') goto yy894;
- goto yy11;
+ if (yych <= 'l') goto yy980;
+ if (yych == 'n') goto yy981;
+ goto yy87;
}
-yy671:
+yy753:
yych = *++cursor_;
- if (yych == 'q') goto yy895;
- if (yych == 'x') goto yy897;
- goto yy11;
-yy672:
+ if (yych == 'q') goto yy982;
+ if (yych == 'x') goto yy984;
+ goto yy87;
+yy754:
yych = *++cursor_;
- if (yych == 'e') goto yy898;
- if (yych == 't') goto yy899;
- goto yy11;
-yy673:
+ if (yych == 'e') goto yy985;
+ if (yych == 't') goto yy986;
+ goto yy87;
+yy755:
yych = *++cursor_;
- if (yych == 'e') goto yy900;
- if (yych == 't') goto yy901;
- goto yy11;
-yy674:
+ if (yych == 'e') goto yy987;
+ if (yych == 't') goto yy988;
+ goto yy87;
+yy756:
yych = *++cursor_;
- if (yych == 'u') goto yy902;
- goto yy11;
-yy675:
+ if (yych == 'u') goto yy989;
+ goto yy87;
+yy757:
yych = *++cursor_;
- if (yych == 'e') goto yy903;
- goto yy11;
-yy676:
+ if (yych == 'e') goto yy990;
+ goto yy87;
+yy758:
yych = *++cursor_;
- if (yych == 'e') goto yy905;
- goto yy11;
-yy677:
+ if (yych == 'e') goto yy992;
+ goto yy87;
+yy759:
yych = *++cursor_;
if (yych <= 'o') {
- if (yych == 'h') goto yy906;
- goto yy11;
+ if (yych == 'h') goto yy993;
+ goto yy87;
} else {
- if (yych <= 'p') goto yy907;
- if (yych == 'u') goto yy908;
- goto yy11;
+ if (yych <= 'p') goto yy994;
+ if (yych == 'u') goto yy995;
+ goto yy87;
}
-yy678:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+yy760:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 337 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32Add); }
-#line 4219 "src/prebuilt/wast-lexer-gen.cc"
-yy680:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 4901 "src/prebuilt/wast-lexer-gen.cc"
+yy762:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 351 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32And); }
-#line 4227 "src/prebuilt/wast-lexer-gen.cc"
-yy682:
- yych = *++cursor_;
- if (yych == 'm') goto yy909;
- goto yy11;
-yy683:
+#line 4909 "src/prebuilt/wast-lexer-gen.cc"
+yy764:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'm') goto yy996;
+ goto yy87;
+yy765:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 312 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I32Clz); }
-#line 4239 "src/prebuilt/wast-lexer-gen.cc"
-yy685:
- yych = *++cursor_;
- if (yych == 's') goto yy910;
- goto yy11;
-yy686:
+#line 4921 "src/prebuilt/wast-lexer-gen.cc"
+yy767:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 's') goto yy997;
+ goto yy87;
+yy768:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 314 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I32Ctz); }
-#line 4251 "src/prebuilt/wast-lexer-gen.cc"
-yy688:
- yych = *++cursor_;
- if (yych == '_') goto yy911;
- goto yy11;
-yy689:
+#line 4933 "src/prebuilt/wast-lexer-gen.cc"
+yy770:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == '_') goto yy998;
+ goto yy87;
+yy771:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 310 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I32Eqz); }
-#line 4263 "src/prebuilt/wast-lexer-gen.cc"
-yy691:
- yych = *++cursor_;
- if (yych == 'e') goto yy912;
- goto yy11;
-yy692:
+#line 4945 "src/prebuilt/wast-lexer-gen.cc"
+yy773:
yych = *++cursor_;
- if (yych == 's') goto yy913;
- if (yych == 'u') goto yy915;
- goto yy11;
-yy693:
+ if (yych == 'e') goto yy999;
+ goto yy87;
+yy774:
yych = *++cursor_;
- if (yych == 's') goto yy917;
- if (yych == 'u') goto yy919;
- goto yy11;
-yy694:
+ if (yych == 's') goto yy1000;
+ if (yych == 'u') goto yy1002;
+ goto yy87;
+yy775:
yych = *++cursor_;
- if (yych == 's') goto yy921;
- if (yych == 'u') goto yy923;
- goto yy11;
-yy695:
+ if (yych == 's') goto yy1004;
+ if (yych == 'u') goto yy1006;
+ goto yy87;
+yy776:
yych = *++cursor_;
- if (yych == 'd') goto yy925;
- goto yy11;
-yy696:
+ if (yych == 's') goto yy1008;
+ if (yych == 'u') goto yy1010;
+ goto yy87;
+yy777:
yych = *++cursor_;
- if (yych == 's') goto yy927;
- if (yych == 'u') goto yy929;
- goto yy11;
-yy697:
+ if (yych == 'd') goto yy1012;
+ goto yy87;
+yy778:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 's') goto yy1014;
+ if (yych == 'u') goto yy1016;
+ goto yy87;
+yy779:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 341 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32Mul); }
-#line 4299 "src/prebuilt/wast-lexer-gen.cc"
-yy699:
- yych = *++cursor_;
- if (yych == 'c') goto yy931;
- goto yy11;
-yy700:
+#line 4981 "src/prebuilt/wast-lexer-gen.cc"
+yy781:
yych = *++cursor_;
- if (yych == 'n') goto yy932;
- goto yy11;
-yy701:
+ if (yych == 'c') goto yy1018;
+ goto yy87;
+yy782:
yych = *++cursor_;
- if (yych == '_') goto yy933;
- goto yy11;
-yy702:
+ if (yych == 'n') goto yy1019;
+ goto yy87;
+yy783:
yych = *++cursor_;
- if (yych == 'l') goto yy934;
- if (yych == 'r') goto yy936;
- goto yy11;
-yy703:
+ if (yych == '_') goto yy1020;
+ goto yy87;
+yy784:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'l') goto yy1021;
+ if (yych == 'r') goto yy1023;
+ goto yy87;
+yy785:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 357 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32Shl); }
-#line 4324 "src/prebuilt/wast-lexer-gen.cc"
-yy705:
- yych = *++cursor_;
- if (yych == '_') goto yy938;
- goto yy11;
-yy706:
+#line 5006 "src/prebuilt/wast-lexer-gen.cc"
+yy787:
yych = *++cursor_;
- if (yych == 'r') goto yy939;
- goto yy11;
-yy707:
+ if (yych == '_') goto yy1025;
+ goto yy87;
+yy788:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'r') goto yy1026;
+ goto yy87;
+yy789:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 339 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32Sub); }
-#line 4340 "src/prebuilt/wast-lexer-gen.cc"
-yy709:
- yych = *++cursor_;
- if (yych == 'n') goto yy940;
- goto yy11;
-yy710:
+#line 5022 "src/prebuilt/wast-lexer-gen.cc"
+yy791:
yych = *++cursor_;
- if (yych == 'p') goto yy941;
- goto yy11;
-yy711:
+ if (yych == 'n') goto yy1027;
+ goto yy87;
+yy792:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'p') goto yy1028;
+ goto yy87;
+yy793:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 355 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32Xor); }
-#line 4356 "src/prebuilt/wast-lexer-gen.cc"
-yy713:
+#line 5038 "src/prebuilt/wast-lexer-gen.cc"
+yy795:
yych = *++cursor_;
if (yych <= 'k') {
- if (yych == 'd') goto yy942;
- goto yy11;
+ if (yych == 'd') goto yy1029;
+ goto yy87;
} else {
- if (yych <= 'l') goto yy943;
- if (yych == 'n') goto yy944;
- goto yy11;
+ if (yych <= 'l') goto yy1030;
+ if (yych == 'n') goto yy1031;
+ goto yy87;
}
-yy714:
+yy796:
yych = *++cursor_;
- if (yych == 'q') goto yy945;
- if (yych == 'x') goto yy947;
- goto yy11;
-yy715:
+ if (yych == 'q') goto yy1032;
+ if (yych == 'x') goto yy1034;
+ goto yy87;
+yy797:
yych = *++cursor_;
- if (yych == 'e') goto yy948;
- if (yych == 't') goto yy949;
- goto yy11;
-yy716:
+ if (yych == 'e') goto yy1035;
+ if (yych == 't') goto yy1036;
+ goto yy87;
+yy798:
yych = *++cursor_;
- if (yych == 'e') goto yy950;
- if (yych == 't') goto yy951;
- goto yy11;
-yy717:
+ if (yych == 'e') goto yy1037;
+ if (yych == 't') goto yy1038;
+ goto yy87;
+yy799:
yych = *++cursor_;
- if (yych == 'u') goto yy952;
- goto yy11;
-yy718:
+ if (yych == 'u') goto yy1039;
+ goto yy87;
+yy800:
yych = *++cursor_;
- if (yych == 'e') goto yy953;
- goto yy11;
-yy719:
+ if (yych == 'e') goto yy1040;
+ goto yy87;
+yy801:
yych = *++cursor_;
- if (yych == 'e') goto yy955;
- goto yy11;
-yy720:
+ if (yych == 'e') goto yy1042;
+ goto yy87;
+yy802:
yych = *++cursor_;
if (yych <= 'o') {
- if (yych == 'h') goto yy956;
- goto yy11;
+ if (yych == 'h') goto yy1043;
+ goto yy87;
} else {
- if (yych <= 'p') goto yy957;
- if (yych == 'u') goto yy958;
- goto yy11;
+ if (yych <= 'p') goto yy1044;
+ if (yych == 'u') goto yy1045;
+ goto yy87;
}
-yy721:
- yych = *++cursor_;
- if (yych == 'r') goto yy959;
- goto yy11;
-yy722:
+yy803:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'r') goto yy1046;
+ goto yy87;
+yy804:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 338 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64Add); }
-#line 4415 "src/prebuilt/wast-lexer-gen.cc"
-yy724:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 5097 "src/prebuilt/wast-lexer-gen.cc"
+yy806:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 352 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64And); }
-#line 4423 "src/prebuilt/wast-lexer-gen.cc"
-yy726:
- yych = *++cursor_;
- if (yych == 'm') goto yy960;
- goto yy11;
-yy727:
+#line 5105 "src/prebuilt/wast-lexer-gen.cc"
+yy808:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'm') goto yy1047;
+ goto yy87;
+yy809:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 313 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64Clz); }
-#line 4435 "src/prebuilt/wast-lexer-gen.cc"
-yy729:
- yych = *++cursor_;
- if (yych == 's') goto yy961;
- goto yy11;
-yy730:
+#line 5117 "src/prebuilt/wast-lexer-gen.cc"
+yy811:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 's') goto yy1048;
+ goto yy87;
+yy812:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 315 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64Ctz); }
-#line 4447 "src/prebuilt/wast-lexer-gen.cc"
-yy732:
- yych = *++cursor_;
- if (yych == '_') goto yy962;
- goto yy11;
-yy733:
+#line 5129 "src/prebuilt/wast-lexer-gen.cc"
+yy814:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == '_') goto yy1049;
+ goto yy87;
+yy815:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 311 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I64Eqz); }
-#line 4459 "src/prebuilt/wast-lexer-gen.cc"
-yy735:
- yych = *++cursor_;
- if (yych == 'e') goto yy963;
- goto yy11;
-yy736:
+#line 5141 "src/prebuilt/wast-lexer-gen.cc"
+yy817:
yych = *++cursor_;
- if (yych == 's') goto yy964;
- if (yych == 'u') goto yy966;
- goto yy11;
-yy737:
+ if (yych == 'e') goto yy1050;
+ goto yy87;
+yy818:
yych = *++cursor_;
- if (yych == 's') goto yy968;
- if (yych == 'u') goto yy970;
- goto yy11;
-yy738:
+ if (yych == 's') goto yy1051;
+ if (yych == 'u') goto yy1053;
+ goto yy87;
+yy819:
yych = *++cursor_;
- if (yych == 's') goto yy972;
- if (yych == 'u') goto yy974;
- goto yy11;
-yy739:
+ if (yych == 's') goto yy1055;
+ if (yych == 'u') goto yy1057;
+ goto yy87;
+yy820:
yych = *++cursor_;
- if (yych == 'd') goto yy976;
- goto yy11;
-yy740:
+ if (yych == 's') goto yy1059;
+ if (yych == 'u') goto yy1061;
+ goto yy87;
+yy821:
yych = *++cursor_;
- if (yych == 's') goto yy978;
- if (yych == 'u') goto yy980;
- goto yy11;
-yy741:
+ if (yych == 'd') goto yy1063;
+ goto yy87;
+yy822:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 's') goto yy1065;
+ if (yych == 'u') goto yy1067;
+ goto yy87;
+yy823:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 342 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64Mul); }
-#line 4495 "src/prebuilt/wast-lexer-gen.cc"
-yy743:
- yych = *++cursor_;
- if (yych == 'c') goto yy982;
- goto yy11;
-yy744:
+#line 5177 "src/prebuilt/wast-lexer-gen.cc"
+yy825:
yych = *++cursor_;
- if (yych == 'n') goto yy983;
- goto yy11;
-yy745:
+ if (yych == 'c') goto yy1069;
+ goto yy87;
+yy826:
yych = *++cursor_;
- if (yych == '_') goto yy984;
- goto yy11;
-yy746:
+ if (yych == 'n') goto yy1070;
+ goto yy87;
+yy827:
yych = *++cursor_;
- if (yych == 'l') goto yy985;
- if (yych == 'r') goto yy987;
- goto yy11;
-yy747:
+ if (yych == '_') goto yy1071;
+ goto yy87;
+yy828:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'l') goto yy1072;
+ if (yych == 'r') goto yy1074;
+ goto yy87;
+yy829:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 358 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64Shl); }
-#line 4520 "src/prebuilt/wast-lexer-gen.cc"
-yy749:
- yych = *++cursor_;
- if (yych == '_') goto yy989;
- goto yy11;
-yy750:
+#line 5202 "src/prebuilt/wast-lexer-gen.cc"
+yy831:
yych = *++cursor_;
- if (yych == 'r') goto yy990;
- goto yy11;
-yy751:
+ if (yych == '_') goto yy1076;
+ goto yy87;
+yy832:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'r') goto yy1077;
+ goto yy87;
+yy833:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 340 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64Sub); }
-#line 4536 "src/prebuilt/wast-lexer-gen.cc"
-yy753:
- yych = *++cursor_;
- if (yych == 'n') goto yy991;
- goto yy11;
-yy754:
+#line 5218 "src/prebuilt/wast-lexer-gen.cc"
+yy835:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'n') goto yy1078;
+ goto yy87;
+yy836:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 356 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64Xor); }
-#line 4548 "src/prebuilt/wast-lexer-gen.cc"
-yy756:
+#line 5230 "src/prebuilt/wast-lexer-gen.cc"
+yy838:
yych = *++cursor_;
if (yych <= 'k') {
- if (yych == 'd') goto yy992;
- goto yy11;
+ if (yych == 'd') goto yy1079;
+ goto yy87;
} else {
- if (yych <= 'l') goto yy993;
- if (yych == 'n') goto yy994;
- goto yy11;
+ if (yych <= 'l') goto yy1080;
+ if (yych == 'n') goto yy1081;
+ goto yy87;
}
-yy757:
+yy839:
yych = *++cursor_;
- if (yych == 'x') goto yy995;
- goto yy11;
-yy758:
+ if (yych == 'x') goto yy1082;
+ goto yy87;
+yy840:
yych = *++cursor_;
- if (yych == 'e') goto yy996;
- goto yy11;
-yy759:
+ if (yych == 'e') goto yy1083;
+ goto yy87;
+yy841:
yych = *++cursor_;
- if (yych == 'e') goto yy997;
- goto yy11;
-yy760:
+ if (yych == 'e') goto yy1084;
+ goto yy87;
+yy842:
yych = *++cursor_;
if (yych <= 'o') {
- if (yych == 'h') goto yy998;
- goto yy11;
+ if (yych == 'h') goto yy1085;
+ goto yy87;
} else {
- if (yych <= 'p') goto yy999;
- if (yych == 'u') goto yy1000;
- goto yy11;
+ if (yych <= 'p') goto yy1086;
+ if (yych == 'u') goto yy1087;
+ goto yy87;
}
-yy761:
+yy843:
yych = *++cursor_;
- if (yych == 'r') goto yy1001;
- goto yy11;
-yy762:
+ if (yych == 'r') goto yy1088;
+ goto yy87;
+yy844:
yych = *++cursor_;
if (yych <= 'k') {
- if (yych == 'd') goto yy1002;
- goto yy11;
+ if (yych == 'd') goto yy1089;
+ goto yy87;
} else {
- if (yych <= 'l') goto yy1003;
- if (yych == 'n') goto yy1004;
- goto yy11;
+ if (yych <= 'l') goto yy1090;
+ if (yych == 'n') goto yy1091;
+ goto yy87;
}
-yy763:
+yy845:
yych = *++cursor_;
- if (yych == 'q') goto yy1005;
- if (yych == 'x') goto yy1007;
- goto yy11;
-yy764:
+ if (yych == 'q') goto yy1092;
+ if (yych == 'x') goto yy1094;
+ goto yy87;
+yy846:
yych = *++cursor_;
- if (yych == 'e') goto yy1008;
- if (yych == 't') goto yy1009;
- goto yy11;
-yy765:
+ if (yych == 'e') goto yy1095;
+ if (yych == 't') goto yy1096;
+ goto yy87;
+yy847:
yych = *++cursor_;
- if (yych == 'e') goto yy1010;
- if (yych == 't') goto yy1011;
- goto yy11;
-yy766:
+ if (yych == 'e') goto yy1097;
+ if (yych == 't') goto yy1098;
+ goto yy87;
+yy848:
yych = *++cursor_;
- if (yych == 'u') goto yy1012;
- goto yy11;
-yy767:
+ if (yych == 'u') goto yy1099;
+ goto yy87;
+yy849:
yych = *++cursor_;
- if (yych == 'e') goto yy1013;
- goto yy11;
-yy768:
+ if (yych == 'e') goto yy1100;
+ goto yy87;
+yy850:
yych = *++cursor_;
- if (yych == 'e') goto yy1015;
- goto yy11;
-yy769:
+ if (yych == 'e') goto yy1102;
+ goto yy87;
+yy851:
yych = *++cursor_;
if (yych <= 'o') {
- if (yych == 'h') goto yy1016;
- goto yy11;
+ if (yych == 'h') goto yy1103;
+ goto yy87;
} else {
- if (yych <= 'p') goto yy1017;
- if (yych == 'u') goto yy1018;
- goto yy11;
+ if (yych <= 'p') goto yy1104;
+ if (yych == 'u') goto yy1105;
+ goto yy87;
}
-yy770:
+yy852:
yych = *++cursor_;
- if (yych == 'p') goto yy1019;
- goto yy11;
-yy771:
+ if (yych == 'p') goto yy1106;
+ goto yy87;
+yy853:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1107;
+ goto yy87;
+yy854:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1108;
+ goto yy87;
+yy855:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1109;
+ goto yy87;
+yy856:
yych = *++cursor_;
switch (yych) {
- case 'c': goto yy1020;
- case 'd': goto yy1021;
- case 'f': goto yy1022;
- case 'g': goto yy1023;
- case 'i': goto yy1024;
- case 's': goto yy1025;
- default: goto yy11;
- }
-yy772:
+ case 'c': goto yy1110;
+ case 'd': goto yy1111;
+ case 'f': goto yy1112;
+ case 'g': goto yy1113;
+ case 'i': goto yy1114;
+ case 's': goto yy1115;
+ default: goto yy87;
+ }
+yy857:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= ':') {
if (yych <= '\'') {
- if (yych == '!') goto yy10;
- if (yych <= '"') goto yy191;
- goto yy10;
+ if (yych == '!') goto yy86;
+ if (yych <= '"') goto yy267;
+ goto yy86;
} else {
- if (yych <= ')') goto yy191;
- if (yych <= '/') goto yy10;
- if (yych <= '9') goto yy772;
- goto yy10;
+ if (yych <= ')') goto yy267;
+ if (yych <= '/') goto yy86;
+ if (yych <= '9') goto yy857;
+ goto yy86;
}
} else {
if (yych <= '^') {
- if (yych <= ';') goto yy191;
- if (yych <= '@') goto yy10;
- if (yych <= 'F') goto yy772;
- goto yy10;
+ if (yych <= ';') goto yy267;
+ if (yych <= '@') goto yy86;
+ if (yych <= 'F') goto yy857;
+ goto yy86;
} else {
if (yych <= '`') {
- if (yych <= '_') goto yy554;
- goto yy10;
+ if (yych <= '_') goto yy633;
+ goto yy86;
} else {
- if (yych <= 'f') goto yy772;
- if (yych <= '~') goto yy10;
- goto yy191;
+ if (yych <= 'f') goto yy857;
+ if (yych <= '~') goto yy86;
+ goto yy267;
}
}
}
-yy774:
- yych = *++cursor_;
- if (yych <= '/') goto yy11;
- if (yych <= '0') goto yy1026;
- if (yych <= '9') goto yy1028;
- goto yy11;
-yy775:
+yy859:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych <= '/') goto yy87;
+ if (yych <= '0') goto yy1116;
+ if (yych <= '9') goto yy1118;
+ goto yy87;
+yy860:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 687 "src/wast-lexer.cc"
+#line 728 "src/wast-lexer.cc"
{ RETURN(Passive); }
-#line 4692 "src/prebuilt/wast-lexer-gen.cc"
-yy777:
- yych = *++cursor_;
- if (yych == 'r') goto yy1030;
- goto yy11;
-yy778:
+#line 5386 "src/prebuilt/wast-lexer-gen.cc"
+yy862:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'r') goto yy1120;
+ goto yy87;
+yy863:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 702 "src/wast-lexer.cc"
+#line 743 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Rethrow); }
-#line 4704 "src/prebuilt/wast-lexer-gen.cc"
-yy780:
- yych = *++cursor_;
- if (yych == 'c') goto yy1032;
- goto yy11;
-yy781:
+#line 5398 "src/prebuilt/wast-lexer-gen.cc"
+yy865:
yych = *++cursor_;
- if (yych == 'b') goto yy1033;
- goto yy11;
-yy782:
+ if (yych == 'c') goto yy1122;
+ goto yy87;
+yy866:
yych = *++cursor_;
- if (yych == 'a') goto yy1034;
- goto yy11;
-yy783:
+ if (yych == 'b') goto yy1123;
+ goto yy87;
+yy867:
yych = *++cursor_;
- if (yych == 'o') goto yy1035;
- goto yy11;
-yy784:
+ if (yych == 'a') goto yy1124;
+ goto yy87;
+yy868:
yych = *++cursor_;
- if (yych == 'r') goto yy1036;
- goto yy11;
-yy785:
+ if (yych == 'o') goto yy1125;
+ goto yy87;
+yy869:
yych = *++cursor_;
- if (yych == 'n') goto yy1037;
- goto yy11;
-yy786:
+ if (yych == 'r') goto yy1126;
+ goto yy87;
+yy870:
yych = *++cursor_;
- if (yych == 'a') goto yy1038;
- goto yy11;
-yy787:
+ if (yych == 'n') goto yy1127;
+ goto yy87;
+yy871:
yych = *++cursor_;
- if (yych == 'a') goto yy1039;
- goto yy11;
-yy788:
+ if (yych == 'a') goto yy1128;
+ goto yy87;
+yy872:
yych = *++cursor_;
- if (yych == 'd') goto yy1040;
- goto yy11;
-yy789:
+ if (yych == 'a') goto yy1129;
+ goto yy87;
+yy873:
yych = *++cursor_;
- if (yych == 't') goto yy1042;
- goto yy11;
-yy790:
+ if (yych == 'd') goto yy1130;
+ goto yy87;
+yy874:
yych = *++cursor_;
- if (yych == 'n') goto yy1043;
- goto yy11;
-yy791:
+ if (yych == 't') goto yy1132;
+ goto yy87;
+yy875:
yych = *++cursor_;
- if (yych == 'a') goto yy1044;
- goto yy11;
-yy792:
+ if (yych == 'n') goto yy1133;
+ goto yy87;
+yy876:
yych = *++cursor_;
- if (yych == 't') goto yy1045;
- goto yy11;
-yy793:
+ if (yych == 'a') goto yy1134;
+ goto yy87;
+yy877:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 't') goto yy1135;
+ goto yy87;
+yy878:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 586 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, V128Or); }
-#line 4764 "src/prebuilt/wast-lexer-gen.cc"
-yy795:
+#line 5458 "src/prebuilt/wast-lexer-gen.cc"
+yy880:
yych = *++cursor_;
- if (yych == 'o') goto yy1047;
- goto yy11;
-yy796:
+ if (yych == 'o') goto yy1137;
+ goto yy87;
+yy881:
yych = *++cursor_;
- if (yych == 'r') goto yy1048;
- goto yy11;
-yy797:
+ if (yych == 'r') goto yy1138;
+ goto yy87;
+yy882:
yych = *++cursor_;
- if (yych == 'h') goto yy1050;
- goto yy11;
-yy798:
+ if (yych == 'h') goto yy1140;
+ goto yy87;
+yy883:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= ')') {
if (yych <= '!') {
- if (yych <= ' ') goto yy12;
- goto yy10;
+ if (yych <= ' ') goto yy88;
+ goto yy86;
} else {
- if (yych <= '"') goto yy12;
- if (yych <= '\'') goto yy10;
- goto yy12;
+ if (yych <= '"') goto yy88;
+ if (yych <= '\'') goto yy86;
+ goto yy88;
}
} else {
if (yych <= ':') {
- if (yych <= '/') goto yy10;
- if (yych <= '9') goto yy584;
- goto yy10;
+ if (yych <= '/') goto yy86;
+ if (yych <= '9') goto yy663;
+ goto yy86;
} else {
- if (yych <= ';') goto yy12;
- if (yych <= '~') goto yy10;
- goto yy12;
+ if (yych <= ';') goto yy88;
+ if (yych <= '~') goto yy86;
+ goto yy88;
}
}
-yy799:
+yy884:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= '9') {
if (yych <= '"') {
- if (yych == '!') goto yy10;
- goto yy12;
+ if (yych == '!') goto yy86;
+ goto yy88;
} else {
- if (yych <= '\'') goto yy10;
- if (yych <= ')') goto yy12;
- if (yych <= '/') goto yy10;
- goto yy1051;
+ if (yych <= '\'') goto yy86;
+ if (yych <= ')') goto yy88;
+ if (yych <= '/') goto yy86;
+ goto yy1141;
}
} else {
if (yych <= 'F') {
- if (yych == ';') goto yy12;
- if (yych <= '@') goto yy10;
- goto yy1051;
+ if (yych == ';') goto yy88;
+ if (yych <= '@') goto yy86;
+ goto yy1141;
} else {
- if (yych <= '`') goto yy10;
- if (yych <= 'f') goto yy1051;
- if (yych <= '~') goto yy10;
- goto yy12;
+ if (yych <= '`') goto yy86;
+ if (yych <= 'f') goto yy1141;
+ if (yych <= '~') goto yy86;
+ goto yy88;
}
}
-yy800:
- yych = *++cursor_;
- if (yych == 'x') goto yy1053;
- goto yy11;
-yy801:
+yy885:
yych = *++cursor_;
- if (yych == 'n') goto yy1054;
- goto yy11;
-yy802:
+ if (yych == 'x') goto yy1143;
+ goto yy87;
+yy886:
yych = *++cursor_;
- if (yych == 'a') goto yy1055;
- goto yy11;
-yy803:
+ if (yych == 'n') goto yy1144;
+ goto yy87;
+yy887:
yych = *++cursor_;
- if (yych == 'e') goto yy1056;
- goto yy11;
-yy804:
+ if (yych == 'a') goto yy1145;
+ goto yy87;
+yy888:
yych = *++cursor_;
- if (yych == 'r') goto yy1057;
- goto yy11;
-yy805:
+ if (yych == 'e') goto yy1146;
+ goto yy87;
+yy889:
yych = *++cursor_;
- if (yych == 'n') goto yy1058;
- goto yy11;
-yy806:
+ if (yych == 'r') goto yy1147;
+ goto yy87;
+yy890:
yych = *++cursor_;
- if (yych == 'a') goto yy1059;
- goto yy11;
-yy807:
+ if (yych == 'n') goto yy1148;
+ goto yy87;
+yy891:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'o') goto yy1149;
+ goto yy87;
+yy892:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 270 "src/wast-lexer.cc"
{ RETURN_OPCODE0(BrTable); }
-#line 4862 "src/prebuilt/wast-lexer-gen.cc"
-yy809:
- yych = *++cursor_;
- if (yych == 'i') goto yy1060;
- goto yy11;
-yy810:
+#line 5556 "src/prebuilt/wast-lexer-gen.cc"
+yy894:
yych = *++cursor_;
- if (yych == 'm') goto yy1061;
- goto yy11;
-yy811:
+ if (yych == 'i') goto yy1150;
+ goto yy87;
+yy895:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'm') goto yy1151;
+ goto yy87;
+yy896:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 324 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32Ceil); }
-#line 4878 "src/prebuilt/wast-lexer-gen.cc"
-yy813:
- yych = *++cursor_;
- if (yych == 't') goto yy1062;
- goto yy11;
-yy814:
+#line 5572 "src/prebuilt/wast-lexer-gen.cc"
+yy898:
yych = *++cursor_;
- if (yych == 'e') goto yy1064;
- goto yy11;
-yy815:
+ if (yych == 't') goto yy1152;
+ goto yy87;
+yy899:
yych = *++cursor_;
- if (yych == 's') goto yy1065;
- goto yy11;
-yy816:
+ if (yych == 'e') goto yy1154;
+ goto yy87;
+yy900:
yych = *++cursor_;
- if (yych == 't') goto yy1066;
- goto yy11;
-yy817:
+ if (yych == 's') goto yy1155;
+ goto yy87;
+yy901:
yych = *++cursor_;
- if (yych == 'r') goto yy1067;
- goto yy11;
-yy818:
+ if (yych == 't') goto yy1156;
+ goto yy87;
+yy902:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'r') goto yy1157;
+ goto yy87;
+yy903:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 283 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, F32Load); }
-#line 4906 "src/prebuilt/wast-lexer-gen.cc"
-yy820:
- yych = *++cursor_;
- if (yych == 'e') goto yy1069;
- goto yy11;
-yy821:
+#line 5600 "src/prebuilt/wast-lexer-gen.cc"
+yy905:
yych = *++cursor_;
- if (yych == 't') goto yy1070;
- goto yy11;
-yy822:
+ if (yych == 'e') goto yy1159;
+ goto yy87;
+yy906:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 't') goto yy1160;
+ goto yy87;
+yy907:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 322 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32Sqrt); }
-#line 4922 "src/prebuilt/wast-lexer-gen.cc"
-yy824:
- yych = *++cursor_;
- if (yych == 'e') goto yy1071;
- goto yy11;
-yy825:
+#line 5616 "src/prebuilt/wast-lexer-gen.cc"
+yy909:
yych = *++cursor_;
- if (yych == 'c') goto yy1073;
- goto yy11;
-yy826:
+ if (yych == 'e') goto yy1161;
+ goto yy87;
+yy910:
yych = *++cursor_;
- if (yych == 's') goto yy1075;
- goto yy11;
-yy827:
+ if (yych == 'c') goto yy1163;
+ goto yy87;
+yy911:
yych = *++cursor_;
- if (yych == 'd') goto yy1077;
- goto yy11;
-yy828:
+ if (yych == 's') goto yy1165;
+ goto yy87;
+yy912:
yych = *++cursor_;
- if (yych == 'n') goto yy1079;
- goto yy11;
-yy829:
+ if (yych == 'd') goto yy1167;
+ goto yy87;
+yy913:
yych = *++cursor_;
- if (yych == 'v') goto yy1080;
- goto yy11;
-yy830:
+ if (yych == 'n') goto yy1169;
+ goto yy87;
+yy914:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'v') goto yy1170;
+ goto yy87;
+yy915:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 601 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32X4Eq); }
-#line 4954 "src/prebuilt/wast-lexer-gen.cc"
-yy832:
- yych = *++cursor_;
- if (yych == 't') goto yy1082;
- goto yy11;
-yy833:
+#line 5648 "src/prebuilt/wast-lexer-gen.cc"
+yy917:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 't') goto yy1172;
+ goto yy87;
+yy918:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 638 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32X4Ge); }
-#line 4966 "src/prebuilt/wast-lexer-gen.cc"
-yy835:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 5660 "src/prebuilt/wast-lexer-gen.cc"
+yy920:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 630 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32X4Gt); }
-#line 4974 "src/prebuilt/wast-lexer-gen.cc"
-yy837:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 5668 "src/prebuilt/wast-lexer-gen.cc"
+yy922:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 622 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32X4Le); }
-#line 4982 "src/prebuilt/wast-lexer-gen.cc"
-yy839:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 5676 "src/prebuilt/wast-lexer-gen.cc"
+yy924:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 614 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32X4Lt); }
-#line 4990 "src/prebuilt/wast-lexer-gen.cc"
-yy841:
- yych = *++cursor_;
- if (yych == 'x') goto yy1083;
- goto yy11;
-yy842:
+#line 5684 "src/prebuilt/wast-lexer-gen.cc"
+yy926:
yych = *++cursor_;
- if (yych == 'n') goto yy1085;
- goto yy11;
-yy843:
+ if (yych == 'x') goto yy1173;
+ goto yy87;
+yy927:
yych = *++cursor_;
- if (yych == 'l') goto yy1087;
- goto yy11;
-yy844:
+ if (yych == 'n') goto yy1175;
+ goto yy87;
+yy928:
yych = *++cursor_;
- if (yych <= ')') {
+ if (yych == 'l') goto yy1177;
+ goto yy87;
+yy929:
+ ++cursor_;
+ if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy10;
+ if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy845;
- if (yych <= '\'') goto yy10;
+ if (yych <= '"') goto yy930;
+ if (yych <= '\'') goto yy86;
}
} else {
if (yych <= 'f') {
- if (yych != ';') goto yy10;
+ if (yych != ';') goto yy86;
} else {
- if (yych <= 'g') goto yy1089;
- if (yych <= '~') goto yy10;
+ if (yych <= 'g') goto yy1179;
+ if (yych <= '~') goto yy86;
}
}
-yy845:
+yy930:
#line 606 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32X4Ne); }
-#line 5023 "src/prebuilt/wast-lexer-gen.cc"
-yy846:
- yych = *++cursor_;
- if (yych == 'p') goto yy1091;
- goto yy11;
-yy847:
+#line 5717 "src/prebuilt/wast-lexer-gen.cc"
+yy931:
yych = *++cursor_;
- if (yych == 'l') goto yy1092;
- goto yy11;
-yy848:
+ if (yych == 'p') goto yy1181;
+ goto yy87;
+yy932:
yych = *++cursor_;
- if (yych == 'r') goto yy1093;
- goto yy11;
-yy849:
+ if (yych == 'l') goto yy1182;
+ goto yy87;
+yy933:
yych = *++cursor_;
- if (yych == 'b') goto yy1094;
- goto yy11;
-yy850:
+ if (yych == 'r') goto yy1183;
+ goto yy87;
+yy934:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'b') goto yy1184;
+ goto yy87;
+yy935:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 325 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64Ceil); }
-#line 5047 "src/prebuilt/wast-lexer-gen.cc"
-yy852:
+#line 5741 "src/prebuilt/wast-lexer-gen.cc"
+yy937:
yych = *++cursor_;
- if (yych == 't') goto yy1096;
- goto yy11;
-yy853:
- yych = *++cursor_;
- if (yych == 'e') goto yy1098;
- goto yy11;
-yy854:
+ if (yych == 't') goto yy1186;
+ goto yy87;
+yy938:
yych = *++cursor_;
- if (yych == 's') goto yy1099;
- goto yy11;
-yy855:
+ if (yych == 'e') goto yy1188;
+ goto yy87;
+yy939:
yych = *++cursor_;
- if (yych == 'r') goto yy1100;
- goto yy11;
-yy856:
+ if (yych == 's') goto yy1189;
+ goto yy87;
+yy940:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'r') goto yy1190;
+ goto yy87;
+yy941:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 284 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, F64Load); }
-#line 5071 "src/prebuilt/wast-lexer-gen.cc"
-yy858:
- yych = *++cursor_;
- if (yych == 'e') goto yy1102;
- goto yy11;
-yy859:
+#line 5765 "src/prebuilt/wast-lexer-gen.cc"
+yy943:
yych = *++cursor_;
- if (yych == 'o') goto yy1103;
- goto yy11;
-yy860:
+ if (yych == 'e') goto yy1192;
+ goto yy87;
+yy944:
yych = *++cursor_;
- if (yych == 't') goto yy1104;
- goto yy11;
-yy861:
+ if (yych == 'o') goto yy1193;
+ goto yy87;
+yy945:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 't') goto yy1194;
+ goto yy87;
+yy946:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 323 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64Sqrt); }
-#line 5091 "src/prebuilt/wast-lexer-gen.cc"
-yy863:
- yych = *++cursor_;
- if (yych == 'e') goto yy1105;
- goto yy11;
-yy864:
+#line 5785 "src/prebuilt/wast-lexer-gen.cc"
+yy948:
yych = *++cursor_;
- if (yych == 'c') goto yy1107;
- goto yy11;
-yy865:
+ if (yych == 'e') goto yy1195;
+ goto yy87;
+yy949:
yych = *++cursor_;
- if (yych == 's') goto yy1109;
- goto yy11;
-yy866:
+ if (yych == 'c') goto yy1197;
+ goto yy87;
+yy950:
yych = *++cursor_;
- if (yych == 'd') goto yy1111;
- goto yy11;
-yy867:
+ if (yych == 's') goto yy1199;
+ goto yy87;
+yy951:
yych = *++cursor_;
- if (yych == 'n') goto yy1113;
- goto yy11;
-yy868:
+ if (yych == 'd') goto yy1201;
+ goto yy87;
+yy952:
yych = *++cursor_;
- if (yych == 'v') goto yy1114;
- goto yy11;
-yy869:
+ if (yych == 'n') goto yy1203;
+ goto yy87;
+yy953:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'v') goto yy1204;
+ goto yy87;
+yy954:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 602 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64X2Eq); }
-#line 5123 "src/prebuilt/wast-lexer-gen.cc"
-yy871:
- yych = *++cursor_;
- if (yych == 't') goto yy1116;
- goto yy11;
-yy872:
+#line 5817 "src/prebuilt/wast-lexer-gen.cc"
+yy956:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 't') goto yy1206;
+ goto yy87;
+yy957:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 639 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64X2Ge); }
-#line 5135 "src/prebuilt/wast-lexer-gen.cc"
-yy874:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 5829 "src/prebuilt/wast-lexer-gen.cc"
+yy959:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 631 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64X2Gt); }
-#line 5143 "src/prebuilt/wast-lexer-gen.cc"
-yy876:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 5837 "src/prebuilt/wast-lexer-gen.cc"
+yy961:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 623 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64X2Le); }
-#line 5151 "src/prebuilt/wast-lexer-gen.cc"
-yy878:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 5845 "src/prebuilt/wast-lexer-gen.cc"
+yy963:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 615 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64X2Lt); }
-#line 5159 "src/prebuilt/wast-lexer-gen.cc"
-yy880:
+#line 5853 "src/prebuilt/wast-lexer-gen.cc"
+yy965:
yych = *++cursor_;
- if (yych == 'x') goto yy1117;
- goto yy11;
-yy881:
- yych = *++cursor_;
- if (yych == 'n') goto yy1119;
- goto yy11;
-yy882:
+ if (yych == 'x') goto yy1207;
+ goto yy87;
+yy966:
yych = *++cursor_;
- if (yych == 'l') goto yy1121;
- goto yy11;
-yy883:
+ if (yych == 'n') goto yy1209;
+ goto yy87;
+yy967:
yych = *++cursor_;
- if (yych <= ')') {
+ if (yych == 'l') goto yy1211;
+ goto yy87;
+yy968:
+ ++cursor_;
+ if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy10;
+ if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy884;
- if (yych <= '\'') goto yy10;
+ if (yych <= '"') goto yy969;
+ if (yych <= '\'') goto yy86;
}
} else {
if (yych <= 'f') {
- if (yych != ';') goto yy10;
+ if (yych != ';') goto yy86;
} else {
- if (yych <= 'g') goto yy1123;
- if (yych <= '~') goto yy10;
+ if (yych <= 'g') goto yy1213;
+ if (yych <= '~') goto yy86;
}
}
-yy884:
+yy969:
#line 607 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64X2Ne); }
-#line 5192 "src/prebuilt/wast-lexer-gen.cc"
-yy885:
+#line 5886 "src/prebuilt/wast-lexer-gen.cc"
+yy970:
yych = *++cursor_;
- if (yych == 'p') goto yy1125;
- goto yy11;
-yy886:
+ if (yych == 'p') goto yy1215;
+ goto yy87;
+yy971:
yych = *++cursor_;
- if (yych == 'l') goto yy1126;
- goto yy11;
-yy887:
+ if (yych == 'l') goto yy1216;
+ goto yy87;
+yy972:
yych = *++cursor_;
- if (yych == 'r') goto yy1127;
- goto yy11;
-yy888:
+ if (yych == 'r') goto yy1217;
+ goto yy87;
+yy973:
yych = *++cursor_;
- if (yych == 'b') goto yy1128;
- goto yy11;
-yy889:
+ if (yych == 'b') goto yy1218;
+ goto yy87;
+yy974:
yych = *++cursor_;
- if (yych == 'a') goto yy1130;
- goto yy11;
-yy890:
+ if (yych == 'a') goto yy1220;
+ goto yy87;
+yy975:
yych = *++cursor_;
- if (yych == 'l') goto yy1131;
- goto yy11;
-yy891:
+ if (yych == 'l') goto yy1221;
+ goto yy87;
+yy976:
yych = *++cursor_;
- if (yych == 'o') goto yy1133;
- goto yy11;
-yy892:
+ if (yych == 'e') goto yy1223;
+ goto yy87;
+yy977:
yych = *++cursor_;
- if (yych == 'd') goto yy1134;
- goto yy11;
-yy893:
+ if (yych == 'e') goto yy1224;
+ goto yy87;
+yy978:
yych = *++cursor_;
- if (yych == 'l') goto yy1136;
- goto yy11;
-yy894:
+ if (yych == 'o') goto yy1225;
+ goto yy87;
+yy979:
yych = *++cursor_;
- if (yych == 'y') goto yy1137;
- goto yy11;
-yy895:
+ if (yych == 'd') goto yy1226;
+ goto yy87;
+yy980:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'l') goto yy1228;
+ goto yy87;
+yy981:
+ yych = *++cursor_;
+ if (yych == 'y') goto yy1229;
+ goto yy87;
+yy982:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 599 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I16X8Eq); }
-#line 5240 "src/prebuilt/wast-lexer-gen.cc"
-yy897:
- yych = *++cursor_;
- if (yych == 't') goto yy1138;
- goto yy11;
-yy898:
+#line 5942 "src/prebuilt/wast-lexer-gen.cc"
+yy984:
yych = *++cursor_;
- if (yych == '_') goto yy1139;
- goto yy11;
-yy899:
+ if (yych == 't') goto yy1230;
+ goto yy87;
+yy985:
yych = *++cursor_;
- if (yych == '_') goto yy1140;
- goto yy11;
-yy900:
+ if (yych == '_') goto yy1231;
+ goto yy87;
+yy986:
yych = *++cursor_;
- if (yych == '_') goto yy1141;
- goto yy11;
-yy901:
+ if (yych == '_') goto yy1232;
+ goto yy87;
+yy987:
yych = *++cursor_;
- if (yych == '_') goto yy1142;
- goto yy11;
-yy902:
+ if (yych == '_') goto yy1233;
+ goto yy87;
+yy988:
yych = *++cursor_;
- if (yych == 'l') goto yy1143;
- goto yy11;
-yy903:
+ if (yych == '_') goto yy1234;
+ goto yy87;
+yy989:
yych = *++cursor_;
- if (yych <= ')') {
+ if (yych == 'l') goto yy1235;
+ goto yy87;
+yy990:
+ ++cursor_;
+ if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy10;
+ if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy904;
- if (yych <= '\'') goto yy10;
+ if (yych <= '"') goto yy991;
+ if (yych <= '\'') goto yy86;
}
} else {
if (yych <= 'f') {
- if (yych != ';') goto yy10;
+ if (yych != ';') goto yy86;
} else {
- if (yych <= 'g') goto yy1145;
- if (yych <= '~') goto yy10;
+ if (yych <= 'g') goto yy1237;
+ if (yych <= '~') goto yy86;
}
}
-yy904:
+yy991:
#line 604 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I16X8Ne); }
-#line 5285 "src/prebuilt/wast-lexer-gen.cc"
-yy905:
- yych = *++cursor_;
- if (yych == 'p') goto yy1147;
- goto yy11;
-yy906:
+#line 5987 "src/prebuilt/wast-lexer-gen.cc"
+yy992:
yych = *++cursor_;
- if (yych == 'l') goto yy1148;
- if (yych == 'r') goto yy1150;
- goto yy11;
-yy907:
+ if (yych == 'p') goto yy1239;
+ goto yy87;
+yy993:
yych = *++cursor_;
- if (yych == 'l') goto yy1151;
- goto yy11;
-yy908:
+ if (yych == 'l') goto yy1240;
+ if (yych == 'r') goto yy1242;
+ goto yy87;
+yy994:
yych = *++cursor_;
- if (yych == 'b') goto yy1152;
- goto yy11;
-yy909:
+ if (yych == 'l') goto yy1243;
+ goto yy87;
+yy995:
yych = *++cursor_;
- if (yych == 'i') goto yy1154;
- goto yy11;
-yy910:
+ if (yych == 'b') goto yy1244;
+ goto yy87;
+yy996:
yych = *++cursor_;
- if (yych == 't') goto yy1155;
- goto yy11;
-yy911:
+ if (yych == 'i') goto yy1246;
+ goto yy87;
+yy997:
yych = *++cursor_;
- if (yych == 's') goto yy1157;
- if (yych == 'u') goto yy1159;
- goto yy11;
-yy912:
+ if (yych == 't') goto yy1247;
+ goto yy87;
+yy998:
yych = *++cursor_;
- if (yych == 'n') goto yy1161;
- goto yy11;
-yy913:
+ if (yych == 's') goto yy1249;
+ if (yych == 'u') goto yy1251;
+ goto yy87;
+yy999:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'n') goto yy1253;
+ goto yy87;
+yy1000:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 397 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32GeS); }
-#line 5327 "src/prebuilt/wast-lexer-gen.cc"
-yy915:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6029 "src/prebuilt/wast-lexer-gen.cc"
+yy1002:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 399 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32GeU); }
-#line 5335 "src/prebuilt/wast-lexer-gen.cc"
-yy917:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6037 "src/prebuilt/wast-lexer-gen.cc"
+yy1004:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 393 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32GtS); }
-#line 5343 "src/prebuilt/wast-lexer-gen.cc"
-yy919:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6045 "src/prebuilt/wast-lexer-gen.cc"
+yy1006:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 395 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32GtU); }
-#line 5351 "src/prebuilt/wast-lexer-gen.cc"
-yy921:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6053 "src/prebuilt/wast-lexer-gen.cc"
+yy1008:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 389 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32LeS); }
-#line 5359 "src/prebuilt/wast-lexer-gen.cc"
-yy923:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6061 "src/prebuilt/wast-lexer-gen.cc"
+yy1010:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 391 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32LeU); }
-#line 5367 "src/prebuilt/wast-lexer-gen.cc"
-yy925:
- yych = *++cursor_;
- if (yych <= '0') {
+#line 6069 "src/prebuilt/wast-lexer-gen.cc"
+yy1012:
+ ++cursor_;
+ if ((yych = *cursor_) <= '0') {
if (yych <= '"') {
- if (yych == '!') goto yy10;
+ if (yych == '!') goto yy86;
} else {
- if (yych <= '\'') goto yy10;
- if (yych >= '*') goto yy10;
+ if (yych <= '\'') goto yy86;
+ if (yych >= '*') goto yy86;
}
} else {
if (yych <= '8') {
- if (yych <= '1') goto yy1162;
- if (yych <= '7') goto yy10;
- goto yy1163;
+ if (yych <= '1') goto yy1254;
+ if (yych <= '7') goto yy86;
+ goto yy1255;
} else {
- if (yych == ';') goto yy926;
- if (yych <= '~') goto yy10;
+ if (yych == ';') goto yy1013;
+ if (yych <= '~') goto yy86;
}
}
-yy926:
+yy1013:
#line 281 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I32Load); }
-#line 5390 "src/prebuilt/wast-lexer-gen.cc"
-yy927:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6092 "src/prebuilt/wast-lexer-gen.cc"
+yy1014:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 385 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32LtS); }
-#line 5398 "src/prebuilt/wast-lexer-gen.cc"
-yy929:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6100 "src/prebuilt/wast-lexer-gen.cc"
+yy1016:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 387 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32LtU); }
-#line 5406 "src/prebuilt/wast-lexer-gen.cc"
-yy931:
- yych = *++cursor_;
- if (yych == 'n') goto yy1164;
- goto yy11;
-yy932:
+#line 6108 "src/prebuilt/wast-lexer-gen.cc"
+yy1018:
yych = *++cursor_;
- if (yych == 't') goto yy1165;
- goto yy11;
-yy933:
+ if (yych == 'n') goto yy1256;
+ goto yy87;
+yy1019:
yych = *++cursor_;
- if (yych == 's') goto yy1166;
- if (yych == 'u') goto yy1168;
- goto yy11;
-yy934:
+ if (yych == 't') goto yy1257;
+ goto yy87;
+yy1020:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 's') goto yy1258;
+ if (yych == 'u') goto yy1260;
+ goto yy87;
+yy1021:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 363 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32Rotl); }
-#line 5427 "src/prebuilt/wast-lexer-gen.cc"
-yy936:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6129 "src/prebuilt/wast-lexer-gen.cc"
+yy1023:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 365 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32Rotr); }
-#line 5435 "src/prebuilt/wast-lexer-gen.cc"
-yy938:
+#line 6137 "src/prebuilt/wast-lexer-gen.cc"
+yy1025:
yych = *++cursor_;
- if (yych == 's') goto yy1170;
- if (yych == 'u') goto yy1172;
- goto yy11;
-yy939:
+ if (yych == 's') goto yy1262;
+ if (yych == 'u') goto yy1264;
+ goto yy87;
+yy1026:
yych = *++cursor_;
- if (yych == 'e') goto yy1174;
- goto yy11;
-yy940:
+ if (yych == 'e') goto yy1266;
+ goto yy87;
+yy1027:
yych = *++cursor_;
- if (yych == 'c') goto yy1176;
- goto yy11;
-yy941:
+ if (yych == 'c') goto yy1268;
+ goto yy87;
+yy1028:
yych = *++cursor_;
- if (yych == '/') goto yy1177;
- goto yy11;
-yy942:
+ if (yych == '/') goto yy1269;
+ if (yych == '_') goto yy1270;
+ goto yy87;
+yy1029:
yych = *++cursor_;
- if (yych == 'd') goto yy1178;
- goto yy11;
-yy943:
+ if (yych == 'd') goto yy1271;
+ goto yy87;
+yy1030:
yych = *++cursor_;
- if (yych == 'l') goto yy1180;
- goto yy11;
-yy944:
+ if (yych == 'l') goto yy1273;
+ goto yy87;
+yy1031:
yych = *++cursor_;
- if (yych == 'y') goto yy1181;
- goto yy11;
-yy945:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'y') goto yy1274;
+ goto yy87;
+yy1032:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 600 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32X4Eq); }
-#line 5472 "src/prebuilt/wast-lexer-gen.cc"
-yy947:
- yych = *++cursor_;
- if (yych == 't') goto yy1182;
- goto yy11;
-yy948:
+#line 6175 "src/prebuilt/wast-lexer-gen.cc"
+yy1034:
yych = *++cursor_;
- if (yych == '_') goto yy1183;
- goto yy11;
-yy949:
+ if (yych == 't') goto yy1275;
+ goto yy87;
+yy1035:
yych = *++cursor_;
- if (yych == '_') goto yy1184;
- goto yy11;
-yy950:
+ if (yych == '_') goto yy1276;
+ goto yy87;
+yy1036:
yych = *++cursor_;
- if (yych == '_') goto yy1185;
- goto yy11;
-yy951:
+ if (yych == '_') goto yy1277;
+ goto yy87;
+yy1037:
yych = *++cursor_;
- if (yych == '_') goto yy1186;
- goto yy11;
-yy952:
+ if (yych == '_') goto yy1278;
+ goto yy87;
+yy1038:
yych = *++cursor_;
- if (yych == 'l') goto yy1187;
- goto yy11;
-yy953:
+ if (yych == '_') goto yy1279;
+ goto yy87;
+yy1039:
yych = *++cursor_;
- if (yych <= ')') {
+ if (yych == 'l') goto yy1280;
+ goto yy87;
+yy1040:
+ ++cursor_;
+ if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy10;
+ if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy954;
- if (yych <= '\'') goto yy10;
+ if (yych <= '"') goto yy1041;
+ if (yych <= '\'') goto yy86;
}
} else {
if (yych <= 'f') {
- if (yych != ';') goto yy10;
+ if (yych != ';') goto yy86;
} else {
- if (yych <= 'g') goto yy1189;
- if (yych <= '~') goto yy10;
+ if (yych <= 'g') goto yy1282;
+ if (yych <= '~') goto yy86;
}
}
-yy954:
+yy1041:
#line 605 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32X4Ne); }
-#line 5517 "src/prebuilt/wast-lexer-gen.cc"
-yy955:
- yych = *++cursor_;
- if (yych == 'p') goto yy1191;
- goto yy11;
-yy956:
+#line 6220 "src/prebuilt/wast-lexer-gen.cc"
+yy1042:
yych = *++cursor_;
- if (yych == 'l') goto yy1192;
- if (yych == 'r') goto yy1194;
- goto yy11;
-yy957:
+ if (yych == 'p') goto yy1284;
+ goto yy87;
+yy1043:
yych = *++cursor_;
- if (yych == 'l') goto yy1195;
- goto yy11;
-yy958:
+ if (yych == 'l') goto yy1285;
+ if (yych == 'r') goto yy1287;
+ goto yy87;
+yy1044:
yych = *++cursor_;
- if (yych == 'b') goto yy1196;
- goto yy11;
-yy959:
+ if (yych == 'l') goto yy1288;
+ goto yy87;
+yy1045:
yych = *++cursor_;
- if (yych == 'u') goto yy1198;
- goto yy11;
-yy960:
+ if (yych == 'b') goto yy1289;
+ goto yy87;
+yy1046:
yych = *++cursor_;
- if (yych == 'i') goto yy1199;
- goto yy11;
-yy961:
+ if (yych == 'u') goto yy1291;
+ goto yy87;
+yy1047:
yych = *++cursor_;
- if (yych == 't') goto yy1200;
- goto yy11;
-yy962:
+ if (yych == 'i') goto yy1292;
+ goto yy87;
+yy1048:
yych = *++cursor_;
- if (yych == 's') goto yy1202;
- if (yych == 'u') goto yy1204;
- goto yy11;
-yy963:
+ if (yych == 't') goto yy1293;
+ goto yy87;
+yy1049:
yych = *++cursor_;
- if (yych == 'n') goto yy1206;
- goto yy11;
-yy964:
+ if (yych == 's') goto yy1295;
+ if (yych == 'u') goto yy1297;
+ goto yy87;
+yy1050:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'n') goto yy1299;
+ goto yy87;
+yy1051:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 398 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64GeS); }
-#line 5563 "src/prebuilt/wast-lexer-gen.cc"
-yy966:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6266 "src/prebuilt/wast-lexer-gen.cc"
+yy1053:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 400 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64GeU); }
-#line 5571 "src/prebuilt/wast-lexer-gen.cc"
-yy968:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6274 "src/prebuilt/wast-lexer-gen.cc"
+yy1055:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 394 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64GtS); }
-#line 5579 "src/prebuilt/wast-lexer-gen.cc"
-yy970:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6282 "src/prebuilt/wast-lexer-gen.cc"
+yy1057:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 396 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64GtU); }
-#line 5587 "src/prebuilt/wast-lexer-gen.cc"
-yy972:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6290 "src/prebuilt/wast-lexer-gen.cc"
+yy1059:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 390 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64LeS); }
-#line 5595 "src/prebuilt/wast-lexer-gen.cc"
-yy974:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6298 "src/prebuilt/wast-lexer-gen.cc"
+yy1061:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 392 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64LeU); }
-#line 5603 "src/prebuilt/wast-lexer-gen.cc"
-yy976:
- yych = *++cursor_;
- if (yych <= '1') {
+#line 6306 "src/prebuilt/wast-lexer-gen.cc"
+yy1063:
+ ++cursor_;
+ if ((yych = *cursor_) <= '1') {
if (yych <= '"') {
- if (yych == '!') goto yy10;
+ if (yych == '!') goto yy86;
} else {
- if (yych <= '\'') goto yy10;
- if (yych <= ')') goto yy977;
- if (yych <= '0') goto yy10;
- goto yy1207;
+ if (yych <= '\'') goto yy86;
+ if (yych <= ')') goto yy1064;
+ if (yych <= '0') goto yy86;
+ goto yy1300;
}
} else {
if (yych <= '8') {
- if (yych == '3') goto yy1208;
- if (yych <= '7') goto yy10;
- goto yy1209;
+ if (yych == '3') goto yy1301;
+ if (yych <= '7') goto yy86;
+ goto yy1302;
} else {
- if (yych == ';') goto yy977;
- if (yych <= '~') goto yy10;
+ if (yych == ';') goto yy1064;
+ if (yych <= '~') goto yy86;
}
}
-yy977:
+yy1064:
#line 282 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I64Load); }
-#line 5628 "src/prebuilt/wast-lexer-gen.cc"
-yy978:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6331 "src/prebuilt/wast-lexer-gen.cc"
+yy1065:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 386 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64LtS); }
-#line 5636 "src/prebuilt/wast-lexer-gen.cc"
-yy980:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6339 "src/prebuilt/wast-lexer-gen.cc"
+yy1067:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 388 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64LtU); }
-#line 5644 "src/prebuilt/wast-lexer-gen.cc"
-yy982:
- yych = *++cursor_;
- if (yych == 'n') goto yy1210;
- goto yy11;
-yy983:
+#line 6347 "src/prebuilt/wast-lexer-gen.cc"
+yy1069:
yych = *++cursor_;
- if (yych == 't') goto yy1211;
- goto yy11;
-yy984:
+ if (yych == 'n') goto yy1303;
+ goto yy87;
+yy1070:
yych = *++cursor_;
- if (yych == 's') goto yy1212;
- if (yych == 'u') goto yy1214;
- goto yy11;
-yy985:
+ if (yych == 't') goto yy1304;
+ goto yy87;
+yy1071:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 's') goto yy1305;
+ if (yych == 'u') goto yy1307;
+ goto yy87;
+yy1072:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 364 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64Rotl); }
-#line 5665 "src/prebuilt/wast-lexer-gen.cc"
-yy987:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6368 "src/prebuilt/wast-lexer-gen.cc"
+yy1074:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 366 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64Rotr); }
-#line 5673 "src/prebuilt/wast-lexer-gen.cc"
-yy989:
- yych = *++cursor_;
- if (yych == 's') goto yy1216;
- if (yych == 'u') goto yy1218;
- goto yy11;
-yy990:
+#line 6376 "src/prebuilt/wast-lexer-gen.cc"
+yy1076:
yych = *++cursor_;
- if (yych == 'e') goto yy1220;
- goto yy11;
-yy991:
+ if (yych == 's') goto yy1309;
+ if (yych == 'u') goto yy1311;
+ goto yy87;
+yy1077:
yych = *++cursor_;
- if (yych == 'c') goto yy1222;
- goto yy11;
-yy992:
+ if (yych == 'e') goto yy1313;
+ goto yy87;
+yy1078:
yych = *++cursor_;
- if (yych == 'd') goto yy1223;
- goto yy11;
-yy993:
+ if (yych == 'c') goto yy1315;
+ goto yy87;
+yy1079:
yych = *++cursor_;
- if (yych == 'l') goto yy1225;
- goto yy11;
-yy994:
+ if (yych == 'd') goto yy1316;
+ goto yy87;
+yy1080:
yych = *++cursor_;
- if (yych == 'y') goto yy1226;
- goto yy11;
-yy995:
+ if (yych == 'l') goto yy1318;
+ goto yy87;
+yy1081:
yych = *++cursor_;
- if (yych == 't') goto yy1227;
- goto yy11;
-yy996:
+ if (yych == 'y') goto yy1319;
+ goto yy87;
+yy1082:
yych = *++cursor_;
- if (yych == 'g') goto yy1228;
- goto yy11;
-yy997:
+ if (yych == 't') goto yy1320;
+ goto yy87;
+yy1083:
yych = *++cursor_;
- if (yych == 'p') goto yy1230;
- goto yy11;
-yy998:
+ if (yych == 'g') goto yy1321;
+ goto yy87;
+yy1084:
yych = *++cursor_;
- if (yych == 'l') goto yy1231;
- if (yych == 'r') goto yy1233;
- goto yy11;
-yy999:
+ if (yych == 'p') goto yy1323;
+ goto yy87;
+yy1085:
yych = *++cursor_;
- if (yych == 'l') goto yy1234;
- goto yy11;
-yy1000:
+ if (yych == 'l') goto yy1324;
+ if (yych == 'r') goto yy1326;
+ goto yy87;
+yy1086:
yych = *++cursor_;
- if (yych == 'b') goto yy1235;
- goto yy11;
-yy1001:
+ if (yych == 'l') goto yy1327;
+ goto yy87;
+yy1087:
yych = *++cursor_;
- if (yych == 'u') goto yy1237;
- goto yy11;
-yy1002:
+ if (yych == 'b') goto yy1328;
+ goto yy87;
+yy1088:
yych = *++cursor_;
- if (yych == 'd') goto yy1238;
- goto yy11;
-yy1003:
+ if (yych == 'u') goto yy1330;
+ goto yy87;
+yy1089:
yych = *++cursor_;
- if (yych == 'l') goto yy1240;
- goto yy11;
-yy1004:
+ if (yych == 'd') goto yy1331;
+ goto yy87;
+yy1090:
yych = *++cursor_;
- if (yych == 'y') goto yy1241;
- goto yy11;
-yy1005:
+ if (yych == 'l') goto yy1333;
+ goto yy87;
+yy1091:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'y') goto yy1334;
+ goto yy87;
+yy1092:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 598 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16Eq); }
-#line 5747 "src/prebuilt/wast-lexer-gen.cc"
-yy1007:
- yych = *++cursor_;
- if (yych == 't') goto yy1242;
- goto yy11;
-yy1008:
+#line 6450 "src/prebuilt/wast-lexer-gen.cc"
+yy1094:
yych = *++cursor_;
- if (yych == '_') goto yy1243;
- goto yy11;
-yy1009:
+ if (yych == 't') goto yy1335;
+ goto yy87;
+yy1095:
yych = *++cursor_;
- if (yych == '_') goto yy1244;
- goto yy11;
-yy1010:
+ if (yych == '_') goto yy1336;
+ goto yy87;
+yy1096:
yych = *++cursor_;
- if (yych == '_') goto yy1245;
- goto yy11;
-yy1011:
+ if (yych == '_') goto yy1337;
+ goto yy87;
+yy1097:
yych = *++cursor_;
- if (yych == '_') goto yy1246;
- goto yy11;
-yy1012:
+ if (yych == '_') goto yy1338;
+ goto yy87;
+yy1098:
yych = *++cursor_;
- if (yych == 'l') goto yy1247;
- goto yy11;
-yy1013:
+ if (yych == '_') goto yy1339;
+ goto yy87;
+yy1099:
yych = *++cursor_;
- if (yych <= ')') {
+ if (yych == 'l') goto yy1340;
+ goto yy87;
+yy1100:
+ ++cursor_;
+ if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy10;
+ if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy1014;
- if (yych <= '\'') goto yy10;
+ if (yych <= '"') goto yy1101;
+ if (yych <= '\'') goto yy86;
}
} else {
if (yych <= 'f') {
- if (yych != ';') goto yy10;
+ if (yych != ';') goto yy86;
} else {
- if (yych <= 'g') goto yy1249;
- if (yych <= '~') goto yy10;
+ if (yych <= 'g') goto yy1342;
+ if (yych <= '~') goto yy86;
}
}
-yy1014:
+yy1101:
#line 603 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16Ne); }
-#line 5792 "src/prebuilt/wast-lexer-gen.cc"
-yy1015:
+#line 6495 "src/prebuilt/wast-lexer-gen.cc"
+yy1102:
yych = *++cursor_;
- if (yych == 'p') goto yy1251;
- goto yy11;
-yy1016:
+ if (yych == 'p') goto yy1344;
+ goto yy87;
+yy1103:
yych = *++cursor_;
- if (yych == 'l') goto yy1252;
- if (yych == 'r') goto yy1254;
- goto yy11;
-yy1017:
+ if (yych == 'l') goto yy1345;
+ if (yych == 'r') goto yy1347;
+ goto yy87;
+yy1104:
yych = *++cursor_;
- if (yych == 'l') goto yy1255;
- goto yy11;
-yy1018:
+ if (yych == 'l') goto yy1348;
+ goto yy87;
+yy1105:
yych = *++cursor_;
- if (yych == 'b') goto yy1256;
- goto yy11;
-yy1019:
+ if (yych == 'b') goto yy1349;
+ goto yy87;
+yy1106:
yych = *++cursor_;
- if (yych == 't') goto yy1258;
- goto yy11;
-yy1020:
+ if (yych == 't') goto yy1351;
+ goto yy87;
+yy1107:
yych = *++cursor_;
- if (yych == 'o') goto yy1260;
- goto yy11;
-yy1021:
+ if (yych == 't') goto yy1353;
+ goto yy87;
+yy1108:
yych = *++cursor_;
- if (yych == 'r') goto yy1261;
- goto yy11;
-yy1022:
+ if (yych == 't') goto yy1355;
+ goto yy87;
+yy1109:
yych = *++cursor_;
- if (yych == 'i') goto yy1262;
- goto yy11;
-yy1023:
+ if (yych == 'e') goto yy1357;
+ goto yy87;
+yy1110:
yych = *++cursor_;
- if (yych == 'r') goto yy1263;
- goto yy11;
-yy1024:
+ if (yych == 'o') goto yy1359;
+ goto yy87;
+yy1111:
yych = *++cursor_;
- if (yych == 'n') goto yy1264;
- goto yy11;
-yy1025:
+ if (yych == 'r') goto yy1360;
+ goto yy87;
+yy1112:
yych = *++cursor_;
- if (yych == 'i') goto yy1265;
- goto yy11;
-yy1026:
+ if (yych == 'i') goto yy1361;
+ goto yy87;
+yy1113:
yych = *++cursor_;
- if (yych == 'x') goto yy1267;
- goto yy1029;
-yy1027:
+ if (yych == 'r') goto yy1362;
+ goto yy87;
+yy1114:
+ yych = *++cursor_;
+ if (yych == 'n') goto yy1363;
+ goto yy87;
+yy1115:
+ yych = *++cursor_;
+ if (yych == 'i') goto yy1364;
+ goto yy87;
+yy1116:
+ ++cursor_;
+ if ((yych = *cursor_) <= '9') {
+ if (yych <= '"') {
+ if (yych == '!') goto yy86;
+ } else {
+ if (yych <= '\'') goto yy86;
+ if (yych <= ')') goto yy1117;
+ if (yych <= '/') goto yy86;
+ goto yy1118;
+ }
+ } else {
+ if (yych <= '_') {
+ if (yych == ';') goto yy1117;
+ if (yych <= '^') goto yy86;
+ goto yy1365;
+ } else {
+ if (yych == 'x') goto yy1366;
+ if (yych <= '~') goto yy86;
+ }
+ }
+yy1117:
#line 304 "src/wast-lexer.cc"
{ RETURN_TEXT_AT(OffsetEqNat, 7); }
-#line 5845 "src/prebuilt/wast-lexer-gen.cc"
-yy1028:
+#line 6577 "src/prebuilt/wast-lexer-gen.cc"
+yy1118:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
-yy1029:
if (yych <= '/') {
if (yych <= '"') {
- if (yych == '!') goto yy10;
- goto yy1027;
+ if (yych == '!') goto yy86;
+ goto yy1117;
} else {
- if (yych <= '\'') goto yy10;
- if (yych <= ')') goto yy1027;
- goto yy10;
+ if (yych <= '\'') goto yy86;
+ if (yych <= ')') goto yy1117;
+ goto yy86;
}
} else {
if (yych <= ';') {
- if (yych <= '9') goto yy1028;
- if (yych <= ':') goto yy10;
- goto yy1027;
+ if (yych <= '9') goto yy1118;
+ if (yych <= ':') goto yy86;
+ goto yy1117;
} else {
- if (yych == '_') goto yy1266;
- if (yych <= '~') goto yy10;
- goto yy1027;
+ if (yych == '_') goto yy1365;
+ if (yych <= '~') goto yy86;
+ goto yy1117;
}
}
-yy1030:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+yy1120:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 688 "src/wast-lexer.cc"
+#line 729 "src/wast-lexer.cc"
{ RETURN(Register); }
-#line 5878 "src/prebuilt/wast-lexer-gen.cc"
-yy1032:
- yych = *++cursor_;
- if (yych == 'a') goto yy1268;
- goto yy11;
-yy1033:
+#line 6609 "src/prebuilt/wast-lexer-gen.cc"
+yy1122:
yych = *++cursor_;
- if (yych == 'a') goto yy1269;
- goto yy11;
-yy1034:
+ if (yych == 'a') goto yy1367;
+ goto yy87;
+yy1123:
yych = *++cursor_;
- if (yych == 'l') goto yy1270;
- goto yy11;
-yy1035:
+ if (yych == 'a') goto yy1368;
+ goto yy87;
+yy1124:
yych = *++cursor_;
- if (yych == 'p') goto yy1272;
- goto yy11;
-yy1036:
+ if (yych == 'l') goto yy1369;
+ goto yy87;
+yy1125:
yych = *++cursor_;
- if (yych == 'o') goto yy1273;
- goto yy11;
-yy1037:
+ if (yych == 'p') goto yy1371;
+ goto yy87;
+yy1126:
yych = *++cursor_;
- if (yych == 'i') goto yy1274;
- goto yy11;
-yy1038:
+ if (yych == 'o') goto yy1372;
+ goto yy87;
+yy1127:
yych = *++cursor_;
- if (yych == 'l') goto yy1275;
- goto yy11;
-yy1039:
+ if (yych == 'i') goto yy1373;
+ goto yy87;
+yy1128:
yych = *++cursor_;
- if (yych == 'b') goto yy1277;
- goto yy11;
-yy1040:
+ if (yych == 'l') goto yy1374;
+ goto yy87;
+yy1129:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'b') goto yy1376;
+ goto yy87;
+yy1130:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 585 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, V128And); }
-#line 5918 "src/prebuilt/wast-lexer-gen.cc"
-yy1042:
- yych = *++cursor_;
- if (yych == 's') goto yy1278;
- goto yy11;
-yy1043:
+#line 6649 "src/prebuilt/wast-lexer-gen.cc"
+yy1132:
yych = *++cursor_;
- if (yych == 's') goto yy1279;
- goto yy11;
-yy1044:
+ if (yych == 's') goto yy1377;
+ goto yy87;
+yy1133:
yych = *++cursor_;
- if (yych == 'd') goto yy1280;
- goto yy11;
-yy1045:
+ if (yych == 's') goto yy1378;
+ goto yy87;
+yy1134:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'd') goto yy1379;
+ goto yy87;
+yy1135:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 588 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, V128Not); }
-#line 5938 "src/prebuilt/wast-lexer-gen.cc"
-yy1047:
- yych = *++cursor_;
- if (yych == 'r') goto yy1282;
- goto yy11;
-yy1048:
+#line 6669 "src/prebuilt/wast-lexer-gen.cc"
+yy1137:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'r') goto yy1381;
+ goto yy87;
+yy1138:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 587 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, V128Xor); }
-#line 5950 "src/prebuilt/wast-lexer-gen.cc"
-yy1050:
+#line 6681 "src/prebuilt/wast-lexer-gen.cc"
+yy1140:
yych = *++cursor_;
- if (yych == 'u') goto yy1283;
- goto yy11;
-yy1051:
+ if (yych == 'u') goto yy1382;
+ goto yy87;
+yy1141:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= ':') {
if (yych <= '\'') {
- if (yych == '!') goto yy10;
- if (yych <= '"') goto yy583;
- goto yy10;
+ if (yych == '!') goto yy86;
+ if (yych <= '"') goto yy662;
+ goto yy86;
} else {
- if (yych <= ')') goto yy583;
- if (yych <= '/') goto yy10;
- if (yych <= '9') goto yy1051;
- goto yy10;
+ if (yych <= ')') goto yy662;
+ if (yych <= '/') goto yy86;
+ if (yych <= '9') goto yy1141;
+ goto yy86;
}
} else {
if (yych <= '^') {
- if (yych <= ';') goto yy583;
- if (yych <= '@') goto yy10;
- if (yych <= 'F') goto yy1051;
- goto yy10;
+ if (yych <= ';') goto yy662;
+ if (yych <= '@') goto yy86;
+ if (yych <= 'F') goto yy1141;
+ goto yy86;
} else {
if (yych <= '`') {
- if (yych <= '_') goto yy799;
- goto yy10;
+ if (yych <= '_') goto yy884;
+ goto yy86;
} else {
- if (yych <= 'f') goto yy1051;
- if (yych <= '~') goto yy10;
- goto yy583;
+ if (yych <= 'f') goto yy1141;
+ if (yych <= '~') goto yy86;
+ goto yy662;
}
}
}
-yy1053:
- yych = *++cursor_;
- if (yych == 'h') goto yy1284;
- goto yy11;
-yy1054:
+yy1143:
yych = *++cursor_;
- if (yych == 'v') goto yy1285;
- goto yy11;
-yy1055:
+ if (yych == 'h') goto yy1383;
+ goto yy87;
+yy1144:
yych = *++cursor_;
- if (yych == 'l') goto yy1286;
- goto yy11;
-yy1056:
+ if (yych == 'v') goto yy1384;
+ goto yy87;
+yy1145:
yych = *++cursor_;
- if (yych == 't') goto yy1287;
- goto yy11;
-yy1057:
+ if (yych == 'l') goto yy1385;
+ goto yy87;
+yy1146:
yych = *++cursor_;
- if (yych == 'a') goto yy1288;
- goto yy11;
-yy1058:
+ if (yych == 't') goto yy1386;
+ goto yy87;
+yy1147:
yych = *++cursor_;
- if (yych == 'l') goto yy1289;
- goto yy11;
-yy1059:
+ if (yych == 'a') goto yy1387;
+ goto yy87;
+yy1148:
yych = *++cursor_;
- if (yych == 'k') goto yy1290;
- goto yy11;
-yy1060:
+ if (yych == 'l') goto yy1388;
+ goto yy87;
+yy1149:
yych = *++cursor_;
- if (yych == 'r') goto yy1291;
- goto yy11;
-yy1061:
+ if (yych == 't') goto yy1389;
+ goto yy87;
+yy1150:
yych = *++cursor_;
- if (yych == 'e') goto yy1292;
- goto yy11;
-yy1062:
+ if (yych == 'r') goto yy1390;
+ goto yy87;
+yy1151:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'e') goto yy1391;
+ goto yy87;
+yy1152:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 308 "src/wast-lexer.cc"
{ RETURN_OPCODE(Const, F32Const); }
-#line 6030 "src/prebuilt/wast-lexer-gen.cc"
-yy1064:
- yych = *++cursor_;
- if (yych == 'r') goto yy1293;
- goto yy11;
-yy1065:
+#line 6761 "src/prebuilt/wast-lexer-gen.cc"
+yy1154:
yych = *++cursor_;
- if (yych == 'i') goto yy1294;
- goto yy11;
-yy1066:
+ if (yych == 'r') goto yy1392;
+ goto yy87;
+yy1155:
yych = *++cursor_;
- if (yych == 'e') goto yy1295;
- goto yy11;
-yy1067:
+ if (yych == 'i') goto yy1393;
+ goto yy87;
+yy1156:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'e') goto yy1394;
+ goto yy87;
+yy1157:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 326 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32Floor); }
-#line 6050 "src/prebuilt/wast-lexer-gen.cc"
-yy1069:
- yych = *++cursor_;
- if (yych == 's') goto yy1296;
- goto yy11;
-yy1070:
+#line 6781 "src/prebuilt/wast-lexer-gen.cc"
+yy1159:
yych = *++cursor_;
- if (yych == 'e') goto yy1297;
- goto yy11;
-yy1071:
+ if (yych == 's') goto yy1395;
+ goto yy87;
+yy1160:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'e') goto yy1396;
+ goto yy87;
+yy1161:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 287 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, F32Store); }
-#line 6066 "src/prebuilt/wast-lexer-gen.cc"
-yy1073:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6797 "src/prebuilt/wast-lexer-gen.cc"
+yy1163:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 328 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32Trunc); }
-#line 6074 "src/prebuilt/wast-lexer-gen.cc"
-yy1075:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6805 "src/prebuilt/wast-lexer-gen.cc"
+yy1165:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 642 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32X4Abs); }
-#line 6082 "src/prebuilt/wast-lexer-gen.cc"
-yy1077:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6813 "src/prebuilt/wast-lexer-gen.cc"
+yy1167:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 648 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32X4Add); }
-#line 6090 "src/prebuilt/wast-lexer-gen.cc"
-yy1079:
+#line 6821 "src/prebuilt/wast-lexer-gen.cc"
+yy1169:
yych = *++cursor_;
- if (yych == 'v') goto yy1298;
- goto yy11;
-yy1080:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'v') goto yy1397;
+ goto yy87;
+yy1170:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 652 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32X4Div); }
-#line 6102 "src/prebuilt/wast-lexer-gen.cc"
-yy1082:
- yych = *++cursor_;
- if (yych == 'r') goto yy1299;
- goto yy11;
-yy1083:
+#line 6833 "src/prebuilt/wast-lexer-gen.cc"
+yy1172:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'r') goto yy1398;
+ goto yy87;
+yy1173:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 646 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32X4Max); }
-#line 6114 "src/prebuilt/wast-lexer-gen.cc"
-yy1085:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6845 "src/prebuilt/wast-lexer-gen.cc"
+yy1175:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 644 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32X4Min); }
-#line 6122 "src/prebuilt/wast-lexer-gen.cc"
-yy1087:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6853 "src/prebuilt/wast-lexer-gen.cc"
+yy1177:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 654 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32X4Mul); }
-#line 6130 "src/prebuilt/wast-lexer-gen.cc"
-yy1089:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6861 "src/prebuilt/wast-lexer-gen.cc"
+yy1179:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 640 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32X4Neg); }
-#line 6138 "src/prebuilt/wast-lexer-gen.cc"
-yy1091:
- yych = *++cursor_;
- if (yych == 'l') goto yy1300;
- goto yy11;
-yy1092:
+#line 6869 "src/prebuilt/wast-lexer-gen.cc"
+yy1181:
yych = *++cursor_;
- if (yych == 'a') goto yy1301;
- goto yy11;
-yy1093:
+ if (yych == 'l') goto yy1399;
+ goto yy87;
+yy1182:
yych = *++cursor_;
- if (yych == 't') goto yy1302;
- goto yy11;
-yy1094:
+ if (yych == 'a') goto yy1400;
+ goto yy87;
+yy1183:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 't') goto yy1401;
+ goto yy87;
+yy1184:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 650 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32X4Sub); }
-#line 6158 "src/prebuilt/wast-lexer-gen.cc"
-yy1096:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6889 "src/prebuilt/wast-lexer-gen.cc"
+yy1186:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 309 "src/wast-lexer.cc"
{ RETURN_OPCODE(Const, F64Const); }
-#line 6166 "src/prebuilt/wast-lexer-gen.cc"
-yy1098:
- yych = *++cursor_;
- if (yych == 'r') goto yy1304;
- goto yy11;
-yy1099:
+#line 6897 "src/prebuilt/wast-lexer-gen.cc"
+yy1188:
yych = *++cursor_;
- if (yych == 'i') goto yy1305;
- goto yy11;
-yy1100:
+ if (yych == 'r') goto yy1403;
+ goto yy87;
+yy1189:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'i') goto yy1404;
+ goto yy87;
+yy1190:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 327 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64Floor); }
-#line 6182 "src/prebuilt/wast-lexer-gen.cc"
-yy1102:
- yych = *++cursor_;
- if (yych == 's') goto yy1306;
- goto yy11;
-yy1103:
+#line 6913 "src/prebuilt/wast-lexer-gen.cc"
+yy1192:
yych = *++cursor_;
- if (yych == 't') goto yy1307;
- goto yy11;
-yy1104:
+ if (yych == 's') goto yy1405;
+ goto yy87;
+yy1193:
yych = *++cursor_;
- if (yych == 'e') goto yy1308;
- goto yy11;
-yy1105:
+ if (yych == 't') goto yy1406;
+ goto yy87;
+yy1194:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'e') goto yy1407;
+ goto yy87;
+yy1195:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 288 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, F64Store); }
-#line 6202 "src/prebuilt/wast-lexer-gen.cc"
-yy1107:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6933 "src/prebuilt/wast-lexer-gen.cc"
+yy1197:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 329 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64Trunc); }
-#line 6210 "src/prebuilt/wast-lexer-gen.cc"
-yy1109:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6941 "src/prebuilt/wast-lexer-gen.cc"
+yy1199:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 643 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64X2Abs); }
-#line 6218 "src/prebuilt/wast-lexer-gen.cc"
-yy1111:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6949 "src/prebuilt/wast-lexer-gen.cc"
+yy1201:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 649 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64X2Add); }
-#line 6226 "src/prebuilt/wast-lexer-gen.cc"
-yy1113:
+#line 6957 "src/prebuilt/wast-lexer-gen.cc"
+yy1203:
yych = *++cursor_;
- if (yych == 'v') goto yy1309;
- goto yy11;
-yy1114:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'v') goto yy1408;
+ goto yy87;
+yy1204:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 653 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64X2Div); }
-#line 6238 "src/prebuilt/wast-lexer-gen.cc"
-yy1116:
- yych = *++cursor_;
- if (yych == 'r') goto yy1310;
- goto yy11;
-yy1117:
+#line 6969 "src/prebuilt/wast-lexer-gen.cc"
+yy1206:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'r') goto yy1409;
+ goto yy87;
+yy1207:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 647 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64X2Max); }
-#line 6250 "src/prebuilt/wast-lexer-gen.cc"
-yy1119:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6981 "src/prebuilt/wast-lexer-gen.cc"
+yy1209:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 645 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64X2Min); }
-#line 6258 "src/prebuilt/wast-lexer-gen.cc"
-yy1121:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6989 "src/prebuilt/wast-lexer-gen.cc"
+yy1211:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 655 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64X2Mul); }
-#line 6266 "src/prebuilt/wast-lexer-gen.cc"
-yy1123:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 6997 "src/prebuilt/wast-lexer-gen.cc"
+yy1213:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 641 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64X2Neg); }
-#line 6274 "src/prebuilt/wast-lexer-gen.cc"
-yy1125:
- yych = *++cursor_;
- if (yych == 'l') goto yy1311;
- goto yy11;
-yy1126:
+#line 7005 "src/prebuilt/wast-lexer-gen.cc"
+yy1215:
yych = *++cursor_;
- if (yych == 'a') goto yy1312;
- goto yy11;
-yy1127:
+ if (yych == 'l') goto yy1410;
+ goto yy87;
+yy1216:
yych = *++cursor_;
- if (yych == 't') goto yy1313;
- goto yy11;
-yy1128:
+ if (yych == 'a') goto yy1411;
+ goto yy87;
+yy1217:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 't') goto yy1412;
+ goto yy87;
+yy1218:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 651 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64X2Sub); }
-#line 6294 "src/prebuilt/wast-lexer-gen.cc"
-yy1130:
- yych = *++cursor_;
- if (yych == 'l') goto yy1315;
- goto yy11;
-yy1131:
+#line 7025 "src/prebuilt/wast-lexer-gen.cc"
+yy1220:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'l') goto yy1414;
+ goto yy87;
+yy1221:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 276 "src/wast-lexer.cc"
- { RETURN_OPCODE0(GetLocal); }
-#line 6306 "src/prebuilt/wast-lexer-gen.cc"
-yy1133:
+#line 671 "src/wast-lexer.cc"
+ { RETURN_OPCODE0(LocalGet); }
+#line 7037 "src/prebuilt/wast-lexer-gen.cc"
+yy1223:
yych = *++cursor_;
- if (yych == 'r') goto yy1317;
- goto yy11;
-yy1134:
+ if (yych == 't') goto yy1416;
+ goto yy87;
+yy1224:
yych = *++cursor_;
- if (yych <= ')') {
+ if (yych == 't') goto yy1418;
+ goto yy87;
+yy1225:
+ yych = *++cursor_;
+ if (yych == 'r') goto yy1420;
+ goto yy87;
+yy1226:
+ ++cursor_;
+ if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy10;
+ if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy1135;
- if (yych <= '\'') goto yy10;
+ if (yych <= '"') goto yy1227;
+ if (yych <= '\'') goto yy86;
}
} else {
if (yych <= '^') {
- if (yych != ';') goto yy10;
+ if (yych != ';') goto yy86;
} else {
- if (yych <= '_') goto yy1318;
- if (yych <= '~') goto yy10;
+ if (yych <= '_') goto yy1421;
+ if (yych <= '~') goto yy86;
}
}
-yy1135:
+yy1227:
#line 551 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8Add); }
-#line 6331 "src/prebuilt/wast-lexer-gen.cc"
-yy1136:
- yych = *++cursor_;
- if (yych == '_') goto yy1319;
- goto yy11;
-yy1137:
+#line 7070 "src/prebuilt/wast-lexer-gen.cc"
+yy1228:
yych = *++cursor_;
- if (yych == '_') goto yy1320;
- goto yy11;
-yy1138:
+ if (yych == '_') goto yy1422;
+ goto yy87;
+yy1229:
yych = *++cursor_;
- if (yych == 'r') goto yy1321;
- goto yy11;
-yy1139:
+ if (yych == '_') goto yy1423;
+ goto yy87;
+yy1230:
yych = *++cursor_;
- if (yych == 's') goto yy1322;
- if (yych == 'u') goto yy1324;
- goto yy11;
-yy1140:
+ if (yych == 'r') goto yy1424;
+ goto yy87;
+yy1231:
yych = *++cursor_;
- if (yych == 's') goto yy1326;
- if (yych == 'u') goto yy1328;
- goto yy11;
-yy1141:
+ if (yych == 's') goto yy1425;
+ if (yych == 'u') goto yy1427;
+ goto yy87;
+yy1232:
yych = *++cursor_;
- if (yych == 's') goto yy1330;
- if (yych == 'u') goto yy1332;
- goto yy11;
-yy1142:
+ if (yych == 's') goto yy1429;
+ if (yych == 'u') goto yy1431;
+ goto yy87;
+yy1233:
yych = *++cursor_;
- if (yych == 's') goto yy1334;
- if (yych == 'u') goto yy1336;
- goto yy11;
-yy1143:
+ if (yych == 's') goto yy1433;
+ if (yych == 'u') goto yy1435;
+ goto yy87;
+yy1234:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 's') goto yy1437;
+ if (yych == 'u') goto yy1439;
+ goto yy87;
+yy1235:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 559 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8Mul); }
-#line 6371 "src/prebuilt/wast-lexer-gen.cc"
-yy1145:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 7110 "src/prebuilt/wast-lexer-gen.cc"
+yy1237:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 562 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I16X8Neg); }
-#line 6379 "src/prebuilt/wast-lexer-gen.cc"
-yy1147:
- yych = *++cursor_;
- if (yych == 'l') goto yy1338;
- goto yy11;
-yy1148:
+#line 7118 "src/prebuilt/wast-lexer-gen.cc"
+yy1239:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'l') goto yy1441;
+ goto yy87;
+yy1240:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 574 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8Shl); }
-#line 6391 "src/prebuilt/wast-lexer-gen.cc"
-yy1150:
- yych = *++cursor_;
- if (yych == '_') goto yy1339;
- goto yy11;
-yy1151:
+#line 7130 "src/prebuilt/wast-lexer-gen.cc"
+yy1242:
yych = *++cursor_;
- if (yych == 'a') goto yy1340;
- goto yy11;
-yy1152:
+ if (yych == '_') goto yy1442;
+ goto yy87;
+yy1243:
yych = *++cursor_;
- if (yych <= ')') {
+ if (yych == 'a') goto yy1443;
+ goto yy87;
+yy1244:
+ ++cursor_;
+ if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy10;
+ if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy1153;
- if (yych <= '\'') goto yy10;
+ if (yych <= '"') goto yy1245;
+ if (yych <= '\'') goto yy86;
}
} else {
if (yych <= '^') {
- if (yych != ';') goto yy10;
+ if (yych != ';') goto yy86;
} else {
- if (yych <= '_') goto yy1341;
- if (yych <= '~') goto yy10;
+ if (yych <= '_') goto yy1444;
+ if (yych <= '~') goto yy86;
}
}
-yy1153:
+yy1245:
#line 555 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8Sub); }
-#line 6420 "src/prebuilt/wast-lexer-gen.cc"
-yy1154:
- yych = *++cursor_;
- if (yych == 'c') goto yy1342;
- goto yy11;
-yy1155:
+#line 7159 "src/prebuilt/wast-lexer-gen.cc"
+yy1246:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'c') goto yy1445;
+ goto yy87;
+yy1247:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 306 "src/wast-lexer.cc"
{ RETURN_OPCODE(Const, I32Const); }
-#line 6432 "src/prebuilt/wast-lexer-gen.cc"
-yy1157:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 7171 "src/prebuilt/wast-lexer-gen.cc"
+yy1249:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 343 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32DivS); }
-#line 6440 "src/prebuilt/wast-lexer-gen.cc"
-yy1159:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 7179 "src/prebuilt/wast-lexer-gen.cc"
+yy1251:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 345 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32DivU); }
-#line 6448 "src/prebuilt/wast-lexer-gen.cc"
-yy1161:
- yych = *++cursor_;
- if (yych == 'd') goto yy1343;
- goto yy11;
-yy1162:
+#line 7187 "src/prebuilt/wast-lexer-gen.cc"
+yy1253:
yych = *++cursor_;
- if (yych == '6') goto yy1344;
- goto yy11;
-yy1163:
+ if (yych == 'd') goto yy1446;
+ goto yy87;
+yy1254:
yych = *++cursor_;
- if (yych == '_') goto yy1345;
- goto yy11;
-yy1164:
+ if (yych == '6') goto yy1447;
+ goto yy87;
+yy1255:
yych = *++cursor_;
- if (yych == 't') goto yy1346;
- goto yy11;
-yy1165:
+ if (yych == '_') goto yy1448;
+ goto yy87;
+yy1256:
yych = *++cursor_;
- if (yych == 'e') goto yy1348;
- goto yy11;
-yy1166:
+ if (yych == 't') goto yy1449;
+ goto yy87;
+yy1257:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'e') goto yy1451;
+ goto yy87;
+yy1258:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 347 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32RemS); }
-#line 6476 "src/prebuilt/wast-lexer-gen.cc"
-yy1168:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 7215 "src/prebuilt/wast-lexer-gen.cc"
+yy1260:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 349 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32RemU); }
-#line 6484 "src/prebuilt/wast-lexer-gen.cc"
-yy1170:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 7223 "src/prebuilt/wast-lexer-gen.cc"
+yy1262:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 359 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32ShrS); }
-#line 6492 "src/prebuilt/wast-lexer-gen.cc"
-yy1172:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 7231 "src/prebuilt/wast-lexer-gen.cc"
+yy1264:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 361 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32ShrU); }
-#line 6500 "src/prebuilt/wast-lexer-gen.cc"
-yy1174:
- yych = *++cursor_;
- if (yych <= '0') {
+#line 7239 "src/prebuilt/wast-lexer-gen.cc"
+yy1266:
+ ++cursor_;
+ if ((yych = *cursor_) <= '0') {
if (yych <= '"') {
- if (yych == '!') goto yy10;
+ if (yych == '!') goto yy86;
} else {
- if (yych <= '\'') goto yy10;
- if (yych >= '*') goto yy10;
+ if (yych <= '\'') goto yy86;
+ if (yych >= '*') goto yy86;
}
} else {
if (yych <= '8') {
- if (yych <= '1') goto yy1349;
- if (yych <= '7') goto yy10;
- goto yy1350;
+ if (yych <= '1') goto yy1452;
+ if (yych <= '7') goto yy86;
+ goto yy1453;
} else {
- if (yych == ';') goto yy1175;
- if (yych <= '~') goto yy10;
+ if (yych == ';') goto yy1267;
+ if (yych <= '~') goto yy86;
}
}
-yy1175:
+yy1267:
#line 285 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, I32Store); }
-#line 6523 "src/prebuilt/wast-lexer-gen.cc"
-yy1176:
+#line 7262 "src/prebuilt/wast-lexer-gen.cc"
+yy1268:
yych = *++cursor_;
- if (yych == '_') goto yy1352;
- goto yy11;
-yy1177:
+ if (yych == '_') goto yy1455;
+ goto yy87;
+yy1269:
yych = *++cursor_;
- if (yych == 'i') goto yy1353;
- goto yy11;
-yy1178:
+ if (yych == 'i') goto yy1456;
+ goto yy87;
+yy1270:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'i') goto yy1457;
+ goto yy87;
+yy1271:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 552 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32X4Add); }
-#line 6539 "src/prebuilt/wast-lexer-gen.cc"
-yy1180:
- yych = *++cursor_;
- if (yych == '_') goto yy1354;
- goto yy11;
-yy1181:
+#line 7282 "src/prebuilt/wast-lexer-gen.cc"
+yy1273:
yych = *++cursor_;
- if (yych == '_') goto yy1355;
- goto yy11;
-yy1182:
+ if (yych == '_') goto yy1458;
+ goto yy87;
+yy1274:
yych = *++cursor_;
- if (yych == 'r') goto yy1356;
- goto yy11;
-yy1183:
+ if (yych == '_') goto yy1459;
+ goto yy87;
+yy1275:
yych = *++cursor_;
- if (yych == 's') goto yy1357;
- if (yych == 'u') goto yy1359;
- goto yy11;
-yy1184:
+ if (yych == 'r') goto yy1460;
+ goto yy87;
+yy1276:
yych = *++cursor_;
- if (yych == 's') goto yy1361;
- if (yych == 'u') goto yy1363;
- goto yy11;
-yy1185:
+ if (yych == 's') goto yy1461;
+ if (yych == 'u') goto yy1463;
+ goto yy87;
+yy1277:
yych = *++cursor_;
- if (yych == 's') goto yy1365;
- if (yych == 'u') goto yy1367;
- goto yy11;
-yy1186:
+ if (yych == 's') goto yy1465;
+ if (yych == 'u') goto yy1467;
+ goto yy87;
+yy1278:
yych = *++cursor_;
- if (yych == 's') goto yy1369;
- if (yych == 'u') goto yy1371;
- goto yy11;
-yy1187:
+ if (yych == 's') goto yy1469;
+ if (yych == 'u') goto yy1471;
+ goto yy87;
+yy1279:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 's') goto yy1473;
+ if (yych == 'u') goto yy1475;
+ goto yy87;
+yy1280:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 560 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32X4Mul); }
-#line 6579 "src/prebuilt/wast-lexer-gen.cc"
-yy1189:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 7322 "src/prebuilt/wast-lexer-gen.cc"
+yy1282:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 563 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I32X4Neg); }
-#line 6587 "src/prebuilt/wast-lexer-gen.cc"
-yy1191:
- yych = *++cursor_;
- if (yych == 'l') goto yy1373;
- goto yy11;
-yy1192:
+#line 7330 "src/prebuilt/wast-lexer-gen.cc"
+yy1284:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'l') goto yy1477;
+ goto yy87;
+yy1285:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 575 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32X4Shl); }
-#line 6599 "src/prebuilt/wast-lexer-gen.cc"
-yy1194:
- yych = *++cursor_;
- if (yych == '_') goto yy1374;
- goto yy11;
-yy1195:
+#line 7342 "src/prebuilt/wast-lexer-gen.cc"
+yy1287:
yych = *++cursor_;
- if (yych == 'a') goto yy1375;
- goto yy11;
-yy1196:
+ if (yych == '_') goto yy1478;
+ goto yy87;
+yy1288:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'a') goto yy1479;
+ goto yy87;
+yy1289:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 556 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32X4Sub); }
-#line 6615 "src/prebuilt/wast-lexer-gen.cc"
-yy1198:
- yych = *++cursor_;
- if (yych == 'n') goto yy1376;
- goto yy11;
-yy1199:
+#line 7358 "src/prebuilt/wast-lexer-gen.cc"
+yy1291:
yych = *++cursor_;
- if (yych == 'c') goto yy1377;
- goto yy11;
-yy1200:
+ if (yych == 'n') goto yy1480;
+ goto yy87;
+yy1292:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'c') goto yy1481;
+ goto yy87;
+yy1293:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 307 "src/wast-lexer.cc"
{ RETURN_OPCODE(Const, I64Const); }
-#line 6631 "src/prebuilt/wast-lexer-gen.cc"
-yy1202:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 7374 "src/prebuilt/wast-lexer-gen.cc"
+yy1295:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 344 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64DivS); }
-#line 6639 "src/prebuilt/wast-lexer-gen.cc"
-yy1204:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 7382 "src/prebuilt/wast-lexer-gen.cc"
+yy1297:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 346 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64DivU); }
-#line 6647 "src/prebuilt/wast-lexer-gen.cc"
-yy1206:
- yych = *++cursor_;
- if (yych == 'd') goto yy1378;
- goto yy11;
-yy1207:
+#line 7390 "src/prebuilt/wast-lexer-gen.cc"
+yy1299:
yych = *++cursor_;
- if (yych == '6') goto yy1379;
- goto yy11;
-yy1208:
+ if (yych == 'd') goto yy1482;
+ goto yy87;
+yy1300:
yych = *++cursor_;
- if (yych == '2') goto yy1380;
- goto yy11;
-yy1209:
+ if (yych == '6') goto yy1483;
+ goto yy87;
+yy1301:
yych = *++cursor_;
- if (yych == '_') goto yy1381;
- goto yy11;
-yy1210:
+ if (yych == '2') goto yy1484;
+ goto yy87;
+yy1302:
yych = *++cursor_;
- if (yych == 't') goto yy1382;
- goto yy11;
-yy1211:
+ if (yych == '_') goto yy1485;
+ goto yy87;
+yy1303:
yych = *++cursor_;
- if (yych == 'e') goto yy1384;
- goto yy11;
-yy1212:
+ if (yych == 't') goto yy1486;
+ goto yy87;
+yy1304:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'e') goto yy1488;
+ goto yy87;
+yy1305:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 348 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64RemS); }
-#line 6679 "src/prebuilt/wast-lexer-gen.cc"
-yy1214:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 7422 "src/prebuilt/wast-lexer-gen.cc"
+yy1307:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 350 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64RemU); }
-#line 6687 "src/prebuilt/wast-lexer-gen.cc"
-yy1216:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 7430 "src/prebuilt/wast-lexer-gen.cc"
+yy1309:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 360 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64ShrS); }
-#line 6695 "src/prebuilt/wast-lexer-gen.cc"
-yy1218:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 7438 "src/prebuilt/wast-lexer-gen.cc"
+yy1311:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 362 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64ShrU); }
-#line 6703 "src/prebuilt/wast-lexer-gen.cc"
-yy1220:
- yych = *++cursor_;
- if (yych <= '1') {
+#line 7446 "src/prebuilt/wast-lexer-gen.cc"
+yy1313:
+ ++cursor_;
+ if ((yych = *cursor_) <= '1') {
if (yych <= '"') {
- if (yych == '!') goto yy10;
+ if (yych == '!') goto yy86;
} else {
- if (yych <= '\'') goto yy10;
- if (yych <= ')') goto yy1221;
- if (yych <= '0') goto yy10;
- goto yy1385;
+ if (yych <= '\'') goto yy86;
+ if (yych <= ')') goto yy1314;
+ if (yych <= '0') goto yy86;
+ goto yy1489;
}
} else {
if (yych <= '8') {
- if (yych == '3') goto yy1386;
- if (yych <= '7') goto yy10;
- goto yy1387;
+ if (yych == '3') goto yy1490;
+ if (yych <= '7') goto yy86;
+ goto yy1491;
} else {
- if (yych == ';') goto yy1221;
- if (yych <= '~') goto yy10;
+ if (yych == ';') goto yy1314;
+ if (yych <= '~') goto yy86;
}
}
-yy1221:
+yy1314:
#line 286 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, I64Store); }
-#line 6728 "src/prebuilt/wast-lexer-gen.cc"
-yy1222:
- yych = *++cursor_;
- if (yych == '_') goto yy1389;
- goto yy11;
-yy1223:
+#line 7471 "src/prebuilt/wast-lexer-gen.cc"
+yy1315:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == '_') goto yy1493;
+ goto yy87;
+yy1316:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 553 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64X2Add); }
-#line 6740 "src/prebuilt/wast-lexer-gen.cc"
-yy1225:
- yych = *++cursor_;
- if (yych == '_') goto yy1390;
- goto yy11;
-yy1226:
+#line 7483 "src/prebuilt/wast-lexer-gen.cc"
+yy1318:
yych = *++cursor_;
- if (yych == '_') goto yy1391;
- goto yy11;
-yy1227:
+ if (yych == '_') goto yy1494;
+ goto yy87;
+yy1319:
yych = *++cursor_;
- if (yych == 'r') goto yy1392;
- goto yy11;
-yy1228:
+ if (yych == '_') goto yy1495;
+ goto yy87;
+yy1320:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'r') goto yy1496;
+ goto yy87;
+yy1321:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 564 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64X2Neg); }
-#line 6760 "src/prebuilt/wast-lexer-gen.cc"
-yy1230:
+#line 7503 "src/prebuilt/wast-lexer-gen.cc"
+yy1323:
yych = *++cursor_;
- if (yych == 'l') goto yy1393;
- goto yy11;
-yy1231:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'l') goto yy1497;
+ goto yy87;
+yy1324:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 576 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64X2Shl); }
-#line 6772 "src/prebuilt/wast-lexer-gen.cc"
-yy1233:
+#line 7515 "src/prebuilt/wast-lexer-gen.cc"
+yy1326:
yych = *++cursor_;
- if (yych == '_') goto yy1394;
- goto yy11;
-yy1234:
+ if (yych == '_') goto yy1498;
+ goto yy87;
+yy1327:
yych = *++cursor_;
- if (yych == 'a') goto yy1395;
- goto yy11;
-yy1235:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'a') goto yy1499;
+ goto yy87;
+yy1328:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 557 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64X2Sub); }
-#line 6788 "src/prebuilt/wast-lexer-gen.cc"
-yy1237:
- yych = *++cursor_;
- if (yych == 'n') goto yy1396;
- goto yy11;
-yy1238:
+#line 7531 "src/prebuilt/wast-lexer-gen.cc"
+yy1330:
yych = *++cursor_;
- if (yych <= ')') {
+ if (yych == 'n') goto yy1500;
+ goto yy87;
+yy1331:
+ ++cursor_;
+ if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy10;
+ if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy1239;
- if (yych <= '\'') goto yy10;
+ if (yych <= '"') goto yy1332;
+ if (yych <= '\'') goto yy86;
}
} else {
if (yych <= '^') {
- if (yych != ';') goto yy10;
+ if (yych != ';') goto yy86;
} else {
- if (yych <= '_') goto yy1397;
- if (yych <= '~') goto yy10;
+ if (yych <= '_') goto yy1501;
+ if (yych <= '~') goto yy86;
}
}
-yy1239:
+yy1332:
#line 550 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16Add); }
-#line 6813 "src/prebuilt/wast-lexer-gen.cc"
-yy1240:
+#line 7556 "src/prebuilt/wast-lexer-gen.cc"
+yy1333:
yych = *++cursor_;
- if (yych == '_') goto yy1398;
- goto yy11;
-yy1241:
+ if (yych == '_') goto yy1502;
+ goto yy87;
+yy1334:
yych = *++cursor_;
- if (yych == '_') goto yy1399;
- goto yy11;
-yy1242:
+ if (yych == '_') goto yy1503;
+ goto yy87;
+yy1335:
yych = *++cursor_;
- if (yych == 'r') goto yy1400;
- goto yy11;
-yy1243:
+ if (yych == 'r') goto yy1504;
+ goto yy87;
+yy1336:
yych = *++cursor_;
- if (yych == 's') goto yy1401;
- if (yych == 'u') goto yy1403;
- goto yy11;
-yy1244:
+ if (yych == 's') goto yy1505;
+ if (yych == 'u') goto yy1507;
+ goto yy87;
+yy1337:
yych = *++cursor_;
- if (yych == 's') goto yy1405;
- if (yych == 'u') goto yy1407;
- goto yy11;
-yy1245:
- yych = *++cursor_;
- if (yych == 's') goto yy1409;
- if (yych == 'u') goto yy1411;
- goto yy11;
-yy1246:
+ if (yych == 's') goto yy1509;
+ if (yych == 'u') goto yy1511;
+ goto yy87;
+yy1338:
yych = *++cursor_;
- if (yych == 's') goto yy1413;
- if (yych == 'u') goto yy1415;
- goto yy11;
-yy1247:
+ if (yych == 's') goto yy1513;
+ if (yych == 'u') goto yy1515;
+ goto yy87;
+yy1339:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 's') goto yy1517;
+ if (yych == 'u') goto yy1519;
+ goto yy87;
+yy1340:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 558 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16Mul); }
-#line 6853 "src/prebuilt/wast-lexer-gen.cc"
-yy1249:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 7596 "src/prebuilt/wast-lexer-gen.cc"
+yy1342:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 561 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I8X16Neg); }
-#line 6861 "src/prebuilt/wast-lexer-gen.cc"
-yy1251:
- yych = *++cursor_;
- if (yych == 'l') goto yy1417;
- goto yy11;
-yy1252:
+#line 7604 "src/prebuilt/wast-lexer-gen.cc"
+yy1344:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'l') goto yy1521;
+ goto yy87;
+yy1345:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 573 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16Shl); }
-#line 6873 "src/prebuilt/wast-lexer-gen.cc"
-yy1254:
- yych = *++cursor_;
- if (yych == '_') goto yy1418;
- goto yy11;
-yy1255:
+#line 7616 "src/prebuilt/wast-lexer-gen.cc"
+yy1347:
yych = *++cursor_;
- if (yych == 'a') goto yy1419;
- goto yy11;
-yy1256:
+ if (yych == '_') goto yy1522;
+ goto yy87;
+yy1348:
yych = *++cursor_;
- if (yych <= ')') {
+ if (yych == 'a') goto yy1523;
+ goto yy87;
+yy1349:
+ ++cursor_;
+ if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy10;
+ if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy1257;
- if (yych <= '\'') goto yy10;
+ if (yych <= '"') goto yy1350;
+ if (yych <= '\'') goto yy86;
}
} else {
if (yych <= '^') {
- if (yych != ';') goto yy10;
+ if (yych != ';') goto yy86;
} else {
- if (yych <= '_') goto yy1420;
- if (yych <= '~') goto yy10;
+ if (yych <= '_') goto yy1524;
+ if (yych <= '~') goto yy86;
}
}
-yy1257:
+yy1350:
#line 554 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16Sub); }
-#line 6902 "src/prebuilt/wast-lexer-gen.cc"
-yy1258:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 7645 "src/prebuilt/wast-lexer-gen.cc"
+yy1351:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 703 "src/wast-lexer.cc"
+#line 744 "src/wast-lexer.cc"
{ RETURN_OPCODE0(IfExcept); }
-#line 6910 "src/prebuilt/wast-lexer-gen.cc"
-yy1260:
+#line 7653 "src/prebuilt/wast-lexer-gen.cc"
+yy1353:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 276 "src/wast-lexer.cc"
+ { RETURN_OPCODE0(LocalGet); }
+#line 7661 "src/prebuilt/wast-lexer-gen.cc"
+yy1355:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 277 "src/wast-lexer.cc"
+ { RETURN_OPCODE0(LocalSet); }
+#line 7669 "src/prebuilt/wast-lexer-gen.cc"
+yy1357:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 278 "src/wast-lexer.cc"
+ { RETURN_OPCODE0(LocalTee); }
+#line 7677 "src/prebuilt/wast-lexer-gen.cc"
+yy1359:
yych = *++cursor_;
- if (yych == 'p') goto yy1421;
- goto yy11;
-yy1261:
+ if (yych == 'p') goto yy1525;
+ goto yy87;
+yy1360:
yych = *++cursor_;
- if (yych == 'o') goto yy1422;
- goto yy11;
-yy1262:
+ if (yych == 'o') goto yy1526;
+ goto yy87;
+yy1361:
yych = *++cursor_;
- if (yych == 'l') goto yy1423;
- goto yy11;
-yy1263:
+ if (yych == 'l') goto yy1527;
+ goto yy87;
+yy1362:
yych = *++cursor_;
- if (yych == 'o') goto yy1424;
- goto yy11;
-yy1264:
+ if (yych == 'o') goto yy1528;
+ goto yy87;
+yy1363:
yych = *++cursor_;
- if (yych == 'i') goto yy1425;
- goto yy11;
-yy1265:
+ if (yych == 'i') goto yy1529;
+ goto yy87;
+yy1364:
yych = *++cursor_;
- if (yych == 'z') goto yy1426;
- goto yy11;
-yy1266:
+ if (yych == 'z') goto yy1530;
+ goto yy87;
+yy1365:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= ')') {
if (yych <= '!') {
- if (yych <= ' ') goto yy12;
- goto yy10;
+ if (yych <= ' ') goto yy88;
+ goto yy86;
} else {
- if (yych <= '"') goto yy12;
- if (yych <= '\'') goto yy10;
- goto yy12;
+ if (yych <= '"') goto yy88;
+ if (yych <= '\'') goto yy86;
+ goto yy88;
}
} else {
if (yych <= ':') {
- if (yych <= '/') goto yy10;
- if (yych <= '9') goto yy1028;
- goto yy10;
+ if (yych <= '/') goto yy86;
+ if (yych <= '9') goto yy1118;
+ goto yy86;
} else {
- if (yych <= ';') goto yy12;
- if (yych <= '~') goto yy10;
- goto yy12;
+ if (yych <= ';') goto yy88;
+ if (yych <= '~') goto yy86;
+ goto yy88;
}
}
-yy1267:
+yy1366:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= '9') {
if (yych <= '"') {
- if (yych == '!') goto yy10;
- goto yy12;
+ if (yych == '!') goto yy86;
+ goto yy88;
} else {
- if (yych <= '\'') goto yy10;
- if (yych <= ')') goto yy12;
- if (yych <= '/') goto yy10;
- goto yy1427;
+ if (yych <= '\'') goto yy86;
+ if (yych <= ')') goto yy88;
+ if (yych <= '/') goto yy86;
+ goto yy1531;
}
} else {
if (yych <= 'F') {
- if (yych == ';') goto yy12;
- if (yych <= '@') goto yy10;
- goto yy1427;
+ if (yych == ';') goto yy88;
+ if (yych <= '@') goto yy86;
+ goto yy1531;
} else {
- if (yych <= '`') goto yy10;
- if (yych <= 'f') goto yy1427;
- if (yych <= '~') goto yy10;
- goto yy12;
+ if (yych <= '`') goto yy86;
+ if (yych <= 'f') goto yy1531;
+ if (yych <= '~') goto yy86;
+ goto yy88;
}
}
-yy1268:
- yych = *++cursor_;
- if (yych == 'l') goto yy1429;
- goto yy11;
-yy1269:
+yy1367:
yych = *++cursor_;
- if (yych == 'l') goto yy1430;
- goto yy11;
-yy1270:
+ if (yych == 'l') goto yy1533;
+ goto yy87;
+yy1368:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'l') goto yy1534;
+ goto yy87;
+yy1369:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 277 "src/wast-lexer.cc"
- { RETURN_OPCODE0(SetLocal); }
-#line 7000 "src/prebuilt/wast-lexer-gen.cc"
-yy1272:
- yych = *++cursor_;
- if (yych == 'y') goto yy1432;
- goto yy11;
-yy1273:
+#line 672 "src/wast-lexer.cc"
+ { RETURN_OPCODE0(LocalSet); }
+#line 7767 "src/prebuilt/wast-lexer-gen.cc"
+yy1371:
yych = *++cursor_;
- if (yych == 'p') goto yy1434;
- goto yy11;
-yy1274:
+ if (yych == 'y') goto yy1536;
+ goto yy87;
+yy1372:
yych = *++cursor_;
- if (yych == 't') goto yy1436;
- goto yy11;
-yy1275:
+ if (yych == 'p') goto yy1538;
+ goto yy87;
+yy1373:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 't') goto yy1540;
+ goto yy87;
+yy1374:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 278 "src/wast-lexer.cc"
- { RETURN_OPCODE0(TeeLocal); }
-#line 7020 "src/prebuilt/wast-lexer-gen.cc"
-yy1277:
- yych = *++cursor_;
- if (yych == 'l') goto yy1438;
- goto yy11;
-yy1278:
+#line 673 "src/wast-lexer.cc"
+ { RETURN_OPCODE0(LocalTee); }
+#line 7787 "src/prebuilt/wast-lexer-gen.cc"
+yy1376:
yych = *++cursor_;
- if (yych == 'e') goto yy1439;
- goto yy11;
-yy1279:
+ if (yych == 'l') goto yy1542;
+ goto yy87;
+yy1377:
yych = *++cursor_;
- if (yych == 't') goto yy1440;
- goto yy11;
-yy1280:
+ if (yych == 'e') goto yy1543;
+ goto yy87;
+yy1378:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 't') goto yy1544;
+ goto yy87;
+yy1379:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 527 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, V128Load); }
-#line 7040 "src/prebuilt/wast-lexer-gen.cc"
-yy1282:
- yych = *++cursor_;
- if (yych == 'e') goto yy1442;
- goto yy11;
-yy1283:
+#line 7807 "src/prebuilt/wast-lexer-gen.cc"
+yy1381:
yych = *++cursor_;
- if (yych == 'f') goto yy1444;
- goto yy11;
-yy1284:
+ if (yych == 'e') goto yy1546;
+ goto yy87;
+yy1382:
yych = *++cursor_;
- if (yych == 'a') goto yy1445;
- goto yy11;
-yy1285:
+ if (yych == 'f') goto yy1548;
+ goto yy87;
+yy1383:
yych = *++cursor_;
- if (yych == 'a') goto yy1446;
- goto yy11;
-yy1286:
+ if (yych == 'a') goto yy1549;
+ goto yy87;
+yy1384:
yych = *++cursor_;
- if (yych == 'f') goto yy1447;
- goto yy11;
-yy1287:
+ if (yych == 'a') goto yy1550;
+ goto yy87;
+yy1385:
yych = *++cursor_;
- if (yych == 'u') goto yy1448;
- goto yy11;
-yy1288:
+ if (yych == 'f') goto yy1551;
+ goto yy87;
+yy1386:
yych = *++cursor_;
- if (yych == 'p') goto yy1449;
- goto yy11;
-yy1289:
+ if (yych == 'u') goto yy1552;
+ goto yy87;
+yy1387:
yych = *++cursor_;
- if (yych == 'i') goto yy1451;
- goto yy11;
-yy1290:
+ if (yych == 'p') goto yy1553;
+ goto yy87;
+yy1388:
yych = *++cursor_;
- if (yych == 'e') goto yy1452;
- goto yy11;
-yy1291:
+ if (yych == 'i') goto yy1555;
+ goto yy87;
+yy1389:
yych = *++cursor_;
- if (yych == 'e') goto yy1454;
- goto yy11;
-yy1292:
+ if (yych == 'i') goto yy1556;
+ goto yy87;
+yy1390:
yych = *++cursor_;
- if (yych == 'm') goto yy1455;
- goto yy11;
-yy1293:
+ if (yych == 'e') goto yy1557;
+ goto yy87;
+yy1391:
yych = *++cursor_;
- if (yych == 't') goto yy1456;
- goto yy11;
-yy1294:
+ if (yych == 'm') goto yy1558;
+ goto yy87;
+yy1392:
yych = *++cursor_;
- if (yych == 'g') goto yy1457;
- goto yy11;
-yy1295:
+ if (yych == 't') goto yy1559;
+ goto yy87;
+yy1393:
yych = *++cursor_;
- if (yych == '/') goto yy1458;
- goto yy11;
-yy1296:
+ if (yych == 'g') goto yy1560;
+ goto yy87;
+yy1394:
yych = *++cursor_;
- if (yych == 't') goto yy1459;
- goto yy11;
-yy1297:
+ if (yych == '/') goto yy1561;
+ if (yych == '_') goto yy1562;
+ goto yy87;
+yy1395:
yych = *++cursor_;
- if (yych == 'r') goto yy1461;
- goto yy11;
-yy1298:
+ if (yych == 't') goto yy1563;
+ goto yy87;
+yy1396:
yych = *++cursor_;
- if (yych == 'e') goto yy1462;
- goto yy11;
-yy1299:
+ if (yych == 'r') goto yy1565;
+ goto yy87;
+yy1397:
yych = *++cursor_;
- if (yych == 'a') goto yy1463;
- goto yy11;
-yy1300:
+ if (yych == 'e') goto yy1566;
+ goto yy87;
+yy1398:
yych = *++cursor_;
- if (yych == 'a') goto yy1464;
- goto yy11;
-yy1301:
+ if (yych == 'a') goto yy1567;
+ goto yy87;
+yy1399:
yych = *++cursor_;
- if (yych == 't') goto yy1465;
- goto yy11;
-yy1302:
+ if (yych == 'a') goto yy1568;
+ goto yy87;
+yy1400:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 't') goto yy1569;
+ goto yy87;
+yy1401:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 656 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32X4Sqrt); }
-#line 7128 "src/prebuilt/wast-lexer-gen.cc"
-yy1304:
- yych = *++cursor_;
- if (yych == 't') goto yy1467;
- goto yy11;
-yy1305:
+#line 7896 "src/prebuilt/wast-lexer-gen.cc"
+yy1403:
yych = *++cursor_;
- if (yych == 'g') goto yy1468;
- goto yy11;
-yy1306:
+ if (yych == 't') goto yy1571;
+ goto yy87;
+yy1404:
yych = *++cursor_;
- if (yych == 't') goto yy1469;
- goto yy11;
-yy1307:
+ if (yych == 'g') goto yy1572;
+ goto yy87;
+yy1405:
yych = *++cursor_;
- if (yych == 'e') goto yy1471;
- goto yy11;
-yy1308:
+ if (yych == 't') goto yy1573;
+ goto yy87;
+yy1406:
yych = *++cursor_;
- if (yych == 'r') goto yy1472;
- goto yy11;
-yy1309:
+ if (yych == 'e') goto yy1575;
+ goto yy87;
+yy1407:
yych = *++cursor_;
- if (yych == 'e') goto yy1473;
- goto yy11;
-yy1310:
+ if (yych == 'r') goto yy1576;
+ goto yy87;
+yy1408:
yych = *++cursor_;
- if (yych == 'a') goto yy1474;
- goto yy11;
-yy1311:
+ if (yych == 'e') goto yy1577;
+ goto yy87;
+yy1409:
yych = *++cursor_;
- if (yych == 'a') goto yy1475;
- goto yy11;
-yy1312:
+ if (yych == 'a') goto yy1578;
+ goto yy87;
+yy1410:
yych = *++cursor_;
- if (yych == 't') goto yy1476;
- goto yy11;
-yy1313:
+ if (yych == 'a') goto yy1579;
+ goto yy87;
+yy1411:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 't') goto yy1580;
+ goto yy87;
+yy1412:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 657 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64X2Sqrt); }
-#line 7172 "src/prebuilt/wast-lexer-gen.cc"
-yy1315:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 7940 "src/prebuilt/wast-lexer-gen.cc"
+yy1414:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 674 "src/wast-lexer.cc"
+ { RETURN_OPCODE0(GlobalGet); }
+#line 7948 "src/prebuilt/wast-lexer-gen.cc"
+yy1416:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 279 "src/wast-lexer.cc"
- { RETURN_OPCODE0(GetGlobal); }
-#line 7180 "src/prebuilt/wast-lexer-gen.cc"
-yy1317:
- yych = *++cursor_;
- if (yych == 'y') goto yy1478;
- goto yy11;
-yy1318:
+ { RETURN_OPCODE0(GlobalGet); }
+#line 7956 "src/prebuilt/wast-lexer-gen.cc"
+yy1418:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 280 "src/wast-lexer.cc"
+ { RETURN_OPCODE0(GlobalSet); }
+#line 7964 "src/prebuilt/wast-lexer-gen.cc"
+yy1420:
yych = *++cursor_;
- if (yych == 's') goto yy1480;
- goto yy11;
-yy1319:
+ if (yych == 'y') goto yy1582;
+ goto yy87;
+yy1421:
yych = *++cursor_;
- if (yych == 't') goto yy1481;
- goto yy11;
-yy1320:
+ if (yych == 's') goto yy1584;
+ goto yy87;
+yy1422:
yych = *++cursor_;
- if (yych == 't') goto yy1482;
- goto yy11;
-yy1321:
+ if (yych == 't') goto yy1585;
+ goto yy87;
+yy1423:
yych = *++cursor_;
- if (yych == 'a') goto yy1483;
- goto yy11;
-yy1322:
+ if (yych == 't') goto yy1586;
+ goto yy87;
+yy1424:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'a') goto yy1587;
+ goto yy87;
+yy1425:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 634 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I16X8GeS); }
-#line 7208 "src/prebuilt/wast-lexer-gen.cc"
-yy1324:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 7992 "src/prebuilt/wast-lexer-gen.cc"
+yy1427:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 635 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I16X8GeU); }
-#line 7216 "src/prebuilt/wast-lexer-gen.cc"
-yy1326:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8000 "src/prebuilt/wast-lexer-gen.cc"
+yy1429:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 626 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I16X8GtS); }
-#line 7224 "src/prebuilt/wast-lexer-gen.cc"
-yy1328:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8008 "src/prebuilt/wast-lexer-gen.cc"
+yy1431:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 627 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I16X8GtU); }
-#line 7232 "src/prebuilt/wast-lexer-gen.cc"
-yy1330:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8016 "src/prebuilt/wast-lexer-gen.cc"
+yy1433:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 618 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I16X8LeS); }
-#line 7240 "src/prebuilt/wast-lexer-gen.cc"
-yy1332:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8024 "src/prebuilt/wast-lexer-gen.cc"
+yy1435:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 619 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I16X8LeU); }
-#line 7248 "src/prebuilt/wast-lexer-gen.cc"
-yy1334:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8032 "src/prebuilt/wast-lexer-gen.cc"
+yy1437:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 610 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I16X8LtS); }
-#line 7256 "src/prebuilt/wast-lexer-gen.cc"
-yy1336:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8040 "src/prebuilt/wast-lexer-gen.cc"
+yy1439:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 611 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I16X8LtU); }
-#line 7264 "src/prebuilt/wast-lexer-gen.cc"
-yy1338:
- yych = *++cursor_;
- if (yych == 'a') goto yy1484;
- goto yy11;
-yy1339:
+#line 8048 "src/prebuilt/wast-lexer-gen.cc"
+yy1441:
yych = *++cursor_;
- if (yych == 's') goto yy1485;
- if (yych == 'u') goto yy1487;
- goto yy11;
-yy1340:
+ if (yych == 'a') goto yy1588;
+ goto yy87;
+yy1442:
yych = *++cursor_;
- if (yych == 't') goto yy1489;
- goto yy11;
-yy1341:
+ if (yych == 's') goto yy1589;
+ if (yych == 'u') goto yy1591;
+ goto yy87;
+yy1443:
yych = *++cursor_;
- if (yych == 's') goto yy1491;
- goto yy11;
-yy1342:
+ if (yych == 't') goto yy1593;
+ goto yy87;
+yy1444:
yych = *++cursor_;
- if (yych == '.') goto yy1492;
- goto yy11;
-yy1343:
+ if (yych == 's') goto yy1595;
+ goto yy87;
+yy1445:
yych = *++cursor_;
- if (yych == '1') goto yy1493;
- if (yych == '8') goto yy1494;
- goto yy11;
-yy1344:
+ if (yych == '.') goto yy1596;
+ goto yy87;
+yy1446:
yych = *++cursor_;
- if (yych == '_') goto yy1495;
- goto yy11;
-yy1345:
+ if (yych == '1') goto yy1597;
+ if (yych == '8') goto yy1598;
+ goto yy87;
+yy1447:
yych = *++cursor_;
- if (yych == 's') goto yy1496;
- if (yych == 'u') goto yy1498;
- goto yy11;
-yy1346:
+ if (yych == '_') goto yy1599;
+ goto yy87;
+yy1448:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 's') goto yy1600;
+ if (yych == 'u') goto yy1602;
+ goto yy87;
+yy1449:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 316 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I32Popcnt); }
-#line 7307 "src/prebuilt/wast-lexer-gen.cc"
-yy1348:
- yych = *++cursor_;
- if (yych == 'r') goto yy1500;
- goto yy11;
-yy1349:
+#line 8091 "src/prebuilt/wast-lexer-gen.cc"
+yy1451:
yych = *++cursor_;
- if (yych == '6') goto yy1501;
- goto yy11;
-yy1350:
+ if (yych == 'r') goto yy1604;
+ goto yy87;
+yy1452:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == '6') goto yy1605;
+ goto yy87;
+yy1453:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 299 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, I32Store8); }
-#line 7323 "src/prebuilt/wast-lexer-gen.cc"
-yy1352:
+#line 8107 "src/prebuilt/wast-lexer-gen.cc"
+yy1455:
yych = *++cursor_;
- if (yych == 's') goto yy1503;
- if (yych == 'u') goto yy1504;
- goto yy11;
-yy1353:
+ if (yych <= 'r') {
+ if (yych == 'f') goto yy1607;
+ goto yy87;
+ } else {
+ if (yych <= 's') goto yy1608;
+ if (yych == 'u') goto yy1609;
+ goto yy87;
+ }
+yy1456:
yych = *++cursor_;
- if (yych == '6') goto yy1505;
- goto yy11;
-yy1354:
+ if (yych == '6') goto yy1610;
+ goto yy87;
+yy1457:
yych = *++cursor_;
- if (yych == 't') goto yy1506;
- goto yy11;
-yy1355:
+ if (yych == '6') goto yy1611;
+ goto yy87;
+yy1458:
yych = *++cursor_;
- if (yych == 't') goto yy1507;
- goto yy11;
-yy1356:
+ if (yych == 't') goto yy1612;
+ goto yy87;
+yy1459:
yych = *++cursor_;
- if (yych == 'a') goto yy1508;
- goto yy11;
-yy1357:
+ if (yych == 't') goto yy1613;
+ goto yy87;
+yy1460:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'a') goto yy1614;
+ goto yy87;
+yy1461:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 636 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32X4GeS); }
-#line 7352 "src/prebuilt/wast-lexer-gen.cc"
-yy1359:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8145 "src/prebuilt/wast-lexer-gen.cc"
+yy1463:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 637 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32X4GeU); }
-#line 7360 "src/prebuilt/wast-lexer-gen.cc"
-yy1361:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8153 "src/prebuilt/wast-lexer-gen.cc"
+yy1465:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 628 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32X4GtS); }
-#line 7368 "src/prebuilt/wast-lexer-gen.cc"
-yy1363:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8161 "src/prebuilt/wast-lexer-gen.cc"
+yy1467:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 629 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32X4GtU); }
-#line 7376 "src/prebuilt/wast-lexer-gen.cc"
-yy1365:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8169 "src/prebuilt/wast-lexer-gen.cc"
+yy1469:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 620 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32X4LeS); }
-#line 7384 "src/prebuilt/wast-lexer-gen.cc"
-yy1367:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8177 "src/prebuilt/wast-lexer-gen.cc"
+yy1471:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 621 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32X4LeU); }
-#line 7392 "src/prebuilt/wast-lexer-gen.cc"
-yy1369:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8185 "src/prebuilt/wast-lexer-gen.cc"
+yy1473:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 612 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32X4LtS); }
-#line 7400 "src/prebuilt/wast-lexer-gen.cc"
-yy1371:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8193 "src/prebuilt/wast-lexer-gen.cc"
+yy1475:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 613 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32X4LtU); }
-#line 7408 "src/prebuilt/wast-lexer-gen.cc"
-yy1373:
+#line 8201 "src/prebuilt/wast-lexer-gen.cc"
+yy1477:
yych = *++cursor_;
- if (yych == 'a') goto yy1509;
- goto yy11;
-yy1374:
+ if (yych == 'a') goto yy1615;
+ goto yy87;
+yy1478:
yych = *++cursor_;
- if (yych == 's') goto yy1510;
- if (yych == 'u') goto yy1512;
- goto yy11;
-yy1375:
+ if (yych == 's') goto yy1616;
+ if (yych == 'u') goto yy1618;
+ goto yy87;
+yy1479:
yych = *++cursor_;
- if (yych == 't') goto yy1514;
- goto yy11;
-yy1376:
+ if (yych == 't') goto yy1620;
+ goto yy87;
+yy1480:
yych = *++cursor_;
- if (yych == 'c') goto yy1516;
- goto yy11;
-yy1377:
+ if (yych == 'c') goto yy1622;
+ goto yy87;
+yy1481:
yych = *++cursor_;
- if (yych == '.') goto yy1517;
- goto yy11;
-yy1378:
+ if (yych == '.') goto yy1623;
+ goto yy87;
+yy1482:
yych = *++cursor_;
if (yych <= '3') {
- if (yych == '1') goto yy1518;
- if (yych <= '2') goto yy11;
- goto yy1519;
+ if (yych == '1') goto yy1624;
+ if (yych <= '2') goto yy87;
+ goto yy1625;
} else {
if (yych <= '8') {
- if (yych <= '7') goto yy11;
- goto yy1520;
+ if (yych <= '7') goto yy87;
+ goto yy1626;
} else {
- if (yych == '_') goto yy1521;
- goto yy11;
+ if (yych == '_') goto yy1627;
+ goto yy87;
}
}
-yy1379:
- yych = *++cursor_;
- if (yych == '_') goto yy1522;
- goto yy11;
-yy1380:
+yy1483:
yych = *++cursor_;
- if (yych == '_') goto yy1523;
- goto yy11;
-yy1381:
+ if (yych == '_') goto yy1628;
+ goto yy87;
+yy1484:
yych = *++cursor_;
- if (yych == 's') goto yy1524;
- if (yych == 'u') goto yy1526;
- goto yy11;
-yy1382:
+ if (yych == '_') goto yy1629;
+ goto yy87;
+yy1485:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 's') goto yy1630;
+ if (yych == 'u') goto yy1632;
+ goto yy87;
+yy1486:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 317 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64Popcnt); }
-#line 7465 "src/prebuilt/wast-lexer-gen.cc"
-yy1384:
- yych = *++cursor_;
- if (yych == 'r') goto yy1528;
- goto yy11;
-yy1385:
+#line 8258 "src/prebuilt/wast-lexer-gen.cc"
+yy1488:
yych = *++cursor_;
- if (yych == '6') goto yy1529;
- goto yy11;
-yy1386:
+ if (yych == 'r') goto yy1634;
+ goto yy87;
+yy1489:
yych = *++cursor_;
- if (yych == '2') goto yy1531;
- goto yy11;
-yy1387:
+ if (yych == '6') goto yy1635;
+ goto yy87;
+yy1490:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == '2') goto yy1637;
+ goto yy87;
+yy1491:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 300 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, I64Store8); }
-#line 7485 "src/prebuilt/wast-lexer-gen.cc"
-yy1389:
- yych = *++cursor_;
- if (yych == 's') goto yy1533;
- if (yych == 'u') goto yy1534;
- goto yy11;
-yy1390:
+#line 8278 "src/prebuilt/wast-lexer-gen.cc"
+yy1493:
yych = *++cursor_;
- if (yych == 't') goto yy1535;
- goto yy11;
-yy1391:
+ if (yych <= 'r') {
+ if (yych == 'f') goto yy1639;
+ goto yy87;
+ } else {
+ if (yych <= 's') goto yy1640;
+ if (yych == 'u') goto yy1641;
+ goto yy87;
+ }
+yy1494:
yych = *++cursor_;
- if (yych == 't') goto yy1536;
- goto yy11;
-yy1392:
+ if (yych == 't') goto yy1642;
+ goto yy87;
+yy1495:
yych = *++cursor_;
- if (yych == 'a') goto yy1537;
- goto yy11;
-yy1393:
+ if (yych == 't') goto yy1643;
+ goto yy87;
+yy1496:
yych = *++cursor_;
- if (yych == 'a') goto yy1538;
- goto yy11;
-yy1394:
+ if (yych == 'a') goto yy1644;
+ goto yy87;
+yy1497:
yych = *++cursor_;
- if (yych == 's') goto yy1539;
- if (yych == 'u') goto yy1541;
- goto yy11;
-yy1395:
+ if (yych == 'a') goto yy1645;
+ goto yy87;
+yy1498:
yych = *++cursor_;
- if (yych == 't') goto yy1543;
- goto yy11;
-yy1396:
+ if (yych == 's') goto yy1646;
+ if (yych == 'u') goto yy1648;
+ goto yy87;
+yy1499:
yych = *++cursor_;
- if (yych == 'c') goto yy1545;
- goto yy11;
-yy1397:
+ if (yych == 't') goto yy1650;
+ goto yy87;
+yy1500:
yych = *++cursor_;
- if (yych == 's') goto yy1546;
- goto yy11;
-yy1398:
+ if (yych == 'c') goto yy1652;
+ goto yy87;
+yy1501:
yych = *++cursor_;
- if (yych == 't') goto yy1547;
- goto yy11;
-yy1399:
+ if (yych == 's') goto yy1653;
+ goto yy87;
+yy1502:
yych = *++cursor_;
- if (yych == 't') goto yy1548;
- goto yy11;
-yy1400:
+ if (yych == 't') goto yy1654;
+ goto yy87;
+yy1503:
yych = *++cursor_;
- if (yych == 'a') goto yy1549;
- goto yy11;
-yy1401:
+ if (yych == 't') goto yy1655;
+ goto yy87;
+yy1504:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'a') goto yy1656;
+ goto yy87;
+yy1505:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 632 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16GeS); }
-#line 7543 "src/prebuilt/wast-lexer-gen.cc"
-yy1403:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8341 "src/prebuilt/wast-lexer-gen.cc"
+yy1507:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 633 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16GeU); }
-#line 7551 "src/prebuilt/wast-lexer-gen.cc"
-yy1405:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8349 "src/prebuilt/wast-lexer-gen.cc"
+yy1509:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 624 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16GtS); }
-#line 7559 "src/prebuilt/wast-lexer-gen.cc"
-yy1407:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8357 "src/prebuilt/wast-lexer-gen.cc"
+yy1511:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 625 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16GtU); }
-#line 7567 "src/prebuilt/wast-lexer-gen.cc"
-yy1409:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8365 "src/prebuilt/wast-lexer-gen.cc"
+yy1513:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 616 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16LeS); }
-#line 7575 "src/prebuilt/wast-lexer-gen.cc"
-yy1411:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8373 "src/prebuilt/wast-lexer-gen.cc"
+yy1515:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 617 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16LeU); }
-#line 7583 "src/prebuilt/wast-lexer-gen.cc"
-yy1413:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8381 "src/prebuilt/wast-lexer-gen.cc"
+yy1517:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 608 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16LtS); }
-#line 7591 "src/prebuilt/wast-lexer-gen.cc"
-yy1415:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8389 "src/prebuilt/wast-lexer-gen.cc"
+yy1519:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 609 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16LtU); }
-#line 7599 "src/prebuilt/wast-lexer-gen.cc"
-yy1417:
+#line 8397 "src/prebuilt/wast-lexer-gen.cc"
+yy1521:
yych = *++cursor_;
- if (yych == 'a') goto yy1550;
- goto yy11;
-yy1418:
+ if (yych == 'a') goto yy1657;
+ goto yy87;
+yy1522:
yych = *++cursor_;
- if (yych == 's') goto yy1551;
- if (yych == 'u') goto yy1553;
- goto yy11;
-yy1419:
+ if (yych == 's') goto yy1658;
+ if (yych == 'u') goto yy1660;
+ goto yy87;
+yy1523:
yych = *++cursor_;
- if (yych == 't') goto yy1555;
- goto yy11;
-yy1420:
+ if (yych == 't') goto yy1662;
+ goto yy87;
+yy1524:
yych = *++cursor_;
- if (yych == 's') goto yy1557;
- goto yy11;
-yy1421:
+ if (yych == 's') goto yy1664;
+ goto yy87;
+yy1525:
yych = *++cursor_;
- if (yych == 'y') goto yy1558;
- goto yy11;
-yy1422:
+ if (yych == 'y') goto yy1665;
+ goto yy87;
+yy1526:
yych = *++cursor_;
- if (yych == 'p') goto yy1560;
- goto yy11;
-yy1423:
+ if (yych == 'p') goto yy1667;
+ goto yy87;
+yy1527:
yych = *++cursor_;
- if (yych == 'l') goto yy1562;
- goto yy11;
-yy1424:
+ if (yych == 'l') goto yy1669;
+ goto yy87;
+yy1528:
yych = *++cursor_;
- if (yych == 'w') goto yy1564;
- goto yy11;
-yy1425:
+ if (yych == 'w') goto yy1671;
+ goto yy87;
+yy1529:
yych = *++cursor_;
- if (yych == 't') goto yy1566;
- goto yy11;
-yy1426:
+ if (yych == 't') goto yy1673;
+ goto yy87;
+yy1530:
yych = *++cursor_;
- if (yych == 'e') goto yy1568;
- goto yy11;
-yy1427:
+ if (yych == 'e') goto yy1675;
+ goto yy87;
+yy1531:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= ':') {
if (yych <= '\'') {
- if (yych == '!') goto yy10;
- if (yych <= '"') goto yy1027;
- goto yy10;
+ if (yych == '!') goto yy86;
+ if (yych <= '"') goto yy1117;
+ goto yy86;
} else {
- if (yych <= ')') goto yy1027;
- if (yych <= '/') goto yy10;
- if (yych <= '9') goto yy1427;
- goto yy10;
+ if (yych <= ')') goto yy1117;
+ if (yych <= '/') goto yy86;
+ if (yych <= '9') goto yy1531;
+ goto yy86;
}
} else {
if (yych <= '^') {
- if (yych <= ';') goto yy1027;
- if (yych <= '@') goto yy10;
- if (yych <= 'F') goto yy1427;
- goto yy10;
+ if (yych <= ';') goto yy1117;
+ if (yych <= '@') goto yy86;
+ if (yych <= 'F') goto yy1531;
+ goto yy86;
} else {
if (yych <= '`') {
- if (yych <= '_') goto yy1267;
- goto yy10;
+ if (yych <= '_') goto yy1366;
+ goto yy86;
} else {
- if (yych <= 'f') goto yy1427;
- if (yych <= '~') goto yy10;
- goto yy1027;
+ if (yych <= 'f') goto yy1531;
+ if (yych <= '~') goto yy86;
+ goto yy1117;
}
}
}
-yy1429:
- yych = *++cursor_;
- if (yych == 'l') goto yy1570;
- goto yy11;
-yy1430:
+yy1533:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'l') goto yy1677;
+ goto yy87;
+yy1534:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 280 "src/wast-lexer.cc"
- { RETURN_OPCODE0(SetGlobal); }
-#line 7684 "src/prebuilt/wast-lexer-gen.cc"
-yy1432:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 675 "src/wast-lexer.cc"
+ { RETURN_OPCODE0(GlobalSet); }
+#line 8482 "src/prebuilt/wast-lexer-gen.cc"
+yy1536:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 458 "src/wast-lexer.cc"
{ RETURN_OPCODE0(TableCopy); }
-#line 7692 "src/prebuilt/wast-lexer-gen.cc"
-yy1434:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8490 "src/prebuilt/wast-lexer-gen.cc"
+yy1538:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 457 "src/wast-lexer.cc"
{ RETURN_OPCODE0(TableDrop); }
-#line 7700 "src/prebuilt/wast-lexer-gen.cc"
-yy1436:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8498 "src/prebuilt/wast-lexer-gen.cc"
+yy1540:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 456 "src/wast-lexer.cc"
{ RETURN_OPCODE0(TableInit); }
-#line 7708 "src/prebuilt/wast-lexer-gen.cc"
-yy1438:
- yych = *++cursor_;
- if (yych == 'e') goto yy1572;
- goto yy11;
-yy1439:
+#line 8506 "src/prebuilt/wast-lexer-gen.cc"
+yy1542:
yych = *++cursor_;
- if (yych == 'l') goto yy1574;
- goto yy11;
-yy1440:
+ if (yych == 'e') goto yy1679;
+ goto yy87;
+yy1543:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'l') goto yy1681;
+ goto yy87;
+yy1544:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 526 "src/wast-lexer.cc"
{ RETURN_OPCODE(Const, V128Const); }
-#line 7724 "src/prebuilt/wast-lexer-gen.cc"
-yy1442:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8522 "src/prebuilt/wast-lexer-gen.cc"
+yy1546:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 528 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, V128Store); }
-#line 7732 "src/prebuilt/wast-lexer-gen.cc"
-yy1444:
- yych = *++cursor_;
- if (yych == 'f') goto yy1575;
- goto yy11;
-yy1445:
+#line 8530 "src/prebuilt/wast-lexer-gen.cc"
+yy1548:
yych = *++cursor_;
- if (yych == 'u') goto yy1576;
- goto yy11;
-yy1446:
+ if (yych == 'f') goto yy1682;
+ goto yy87;
+yy1549:
yych = *++cursor_;
- if (yych == 'l') goto yy1577;
- goto yy11;
-yy1447:
+ if (yych == 'u') goto yy1683;
+ goto yy87;
+yy1550:
yych = *++cursor_;
- if (yych == 'o') goto yy1578;
- goto yy11;
-yy1448:
+ if (yych == 'l') goto yy1684;
+ goto yy87;
+yy1551:
yych = *++cursor_;
- if (yych == 'r') goto yy1579;
- goto yy11;
-yy1449:
+ if (yych == 'o') goto yy1685;
+ goto yy87;
+yy1552:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'r') goto yy1686;
+ goto yy87;
+yy1553:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 697 "src/wast-lexer.cc"
+#line 738 "src/wast-lexer.cc"
{ RETURN(AssertTrap); }
-#line 7760 "src/prebuilt/wast-lexer-gen.cc"
-yy1451:
+#line 8558 "src/prebuilt/wast-lexer-gen.cc"
+yy1555:
yych = *++cursor_;
- if (yych == 'n') goto yy1580;
- goto yy11;
-yy1452:
+ if (yych == 'n') goto yy1687;
+ goto yy87;
+yy1556:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 462 "src/wast-lexer.cc"
- { RETURN_OPCODE0(AtomicWake); }
-#line 7772 "src/prebuilt/wast-lexer-gen.cc"
-yy1454:
+ if (yych == 'f') goto yy1688;
+ goto yy87;
+yy1557:
yych = *++cursor_;
- if (yych == 'c') goto yy1581;
- goto yy11;
-yy1455:
+ if (yych == 'c') goto yy1689;
+ goto yy87;
+yy1558:
yych = *++cursor_;
- if (yych == 'o') goto yy1582;
- goto yy11;
-yy1456:
+ if (yych == 'o') goto yy1690;
+ goto yy87;
+yy1559:
yych = *++cursor_;
- if (yych == '_') goto yy1583;
- goto yy11;
-yy1457:
+ if (yych == '_') goto yy1691;
+ goto yy87;
+yy1560:
yych = *++cursor_;
- if (yych == 'n') goto yy1584;
- goto yy11;
-yy1458:
+ if (yych == 'n') goto yy1692;
+ goto yy87;
+yy1561:
yych = *++cursor_;
- if (yych == 'f') goto yy1586;
- goto yy11;
-yy1459:
+ if (yych == 'f') goto yy1694;
+ goto yy87;
+yy1562:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'f') goto yy1695;
+ goto yy87;
+yy1563:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 330 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32Nearest); }
-#line 7800 "src/prebuilt/wast-lexer-gen.cc"
-yy1461:
+#line 8598 "src/prebuilt/wast-lexer-gen.cc"
+yy1565:
yych = *++cursor_;
- if (yych == 'p') goto yy1587;
- goto yy11;
-yy1462:
- yych = *++cursor_;
- if (yych == 'r') goto yy1588;
- goto yy11;
-yy1463:
+ if (yych == 'p') goto yy1696;
+ goto yy87;
+yy1566:
yych = *++cursor_;
- if (yych == 'c') goto yy1589;
- goto yy11;
-yy1464:
+ if (yych == 'r') goto yy1697;
+ goto yy87;
+yy1567:
yych = *++cursor_;
- if (yych == 'c') goto yy1590;
- goto yy11;
-yy1465:
+ if (yych == 'c') goto yy1698;
+ goto yy87;
+yy1568:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'c') goto yy1699;
+ goto yy87;
+yy1569:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 533 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32X4Splat); }
-#line 7824 "src/prebuilt/wast-lexer-gen.cc"
-yy1467:
- yych = *++cursor_;
- if (yych == '_') goto yy1591;
- goto yy11;
-yy1468:
+#line 8622 "src/prebuilt/wast-lexer-gen.cc"
+yy1571:
yych = *++cursor_;
- if (yych == 'n') goto yy1592;
- goto yy11;
-yy1469:
+ if (yych == '_') goto yy1700;
+ goto yy87;
+yy1572:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'n') goto yy1701;
+ goto yy87;
+yy1573:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 331 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64Nearest); }
-#line 7840 "src/prebuilt/wast-lexer-gen.cc"
-yy1471:
- yych = *++cursor_;
- if (yych == '/') goto yy1594;
- goto yy11;
-yy1472:
+#line 8638 "src/prebuilt/wast-lexer-gen.cc"
+yy1575:
yych = *++cursor_;
- if (yych == 'p') goto yy1595;
- goto yy11;
-yy1473:
+ if (yych == '/') goto yy1703;
+ if (yych == '_') goto yy1704;
+ goto yy87;
+yy1576:
yych = *++cursor_;
- if (yych == 'r') goto yy1596;
- goto yy11;
-yy1474:
+ if (yych == 'p') goto yy1705;
+ goto yy87;
+yy1577:
yych = *++cursor_;
- if (yych == 'c') goto yy1597;
- goto yy11;
-yy1475:
+ if (yych == 'r') goto yy1706;
+ goto yy87;
+yy1578:
yych = *++cursor_;
- if (yych == 'c') goto yy1598;
- goto yy11;
-yy1476:
+ if (yych == 'c') goto yy1707;
+ goto yy87;
+yy1579:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'c') goto yy1708;
+ goto yy87;
+yy1580:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 534 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64X2Splat); }
-#line 7868 "src/prebuilt/wast-lexer-gen.cc"
-yy1478:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8667 "src/prebuilt/wast-lexer-gen.cc"
+yy1582:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 455 "src/wast-lexer.cc"
{ RETURN_OPCODE0(MemoryGrow); }
-#line 7876 "src/prebuilt/wast-lexer-gen.cc"
-yy1480:
- yych = *++cursor_;
- if (yych == 'a') goto yy1599;
- goto yy11;
-yy1481:
+#line 8675 "src/prebuilt/wast-lexer-gen.cc"
+yy1584:
yych = *++cursor_;
- if (yych == 'r') goto yy1600;
- goto yy11;
-yy1482:
+ if (yych == 'a') goto yy1709;
+ goto yy87;
+yy1585:
yych = *++cursor_;
- if (yych == 'r') goto yy1601;
- goto yy11;
-yy1483:
+ if (yych == 'r') goto yy1710;
+ goto yy87;
+yy1586:
yych = *++cursor_;
- if (yych == 'c') goto yy1602;
- goto yy11;
-yy1484:
+ if (yych == 'r') goto yy1711;
+ goto yy87;
+yy1587:
yych = *++cursor_;
- if (yych == 'c') goto yy1603;
- goto yy11;
-yy1485:
+ if (yych == 'c') goto yy1712;
+ goto yy87;
+yy1588:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'c') goto yy1713;
+ goto yy87;
+yy1589:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 579 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8ShrS); }
-#line 7904 "src/prebuilt/wast-lexer-gen.cc"
-yy1487:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8703 "src/prebuilt/wast-lexer-gen.cc"
+yy1591:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 580 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8ShrU); }
-#line 7912 "src/prebuilt/wast-lexer-gen.cc"
-yy1489:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8711 "src/prebuilt/wast-lexer-gen.cc"
+yy1593:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 530 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I16X8Splat); }
-#line 7920 "src/prebuilt/wast-lexer-gen.cc"
-yy1491:
+#line 8719 "src/prebuilt/wast-lexer-gen.cc"
+yy1595:
yych = *++cursor_;
- if (yych == 'a') goto yy1604;
- goto yy11;
-yy1492:
+ if (yych == 'a') goto yy1714;
+ goto yy87;
+yy1596:
yych = *++cursor_;
if (yych <= 'r') {
- if (yych == 'l') goto yy1605;
- if (yych <= 'q') goto yy11;
- goto yy1606;
+ if (yych == 'l') goto yy1715;
+ if (yych <= 'q') goto yy87;
+ goto yy1716;
} else {
- if (yych <= 's') goto yy1607;
- if (yych == 'w') goto yy1608;
- goto yy11;
+ if (yych <= 's') goto yy1717;
+ if (yych == 'w') goto yy1718;
+ goto yy87;
}
-yy1493:
- yych = *++cursor_;
- if (yych == '6') goto yy1609;
- goto yy11;
-yy1494:
+yy1597:
yych = *++cursor_;
- if (yych == '_') goto yy1610;
- goto yy11;
-yy1495:
+ if (yych == '6') goto yy1719;
+ goto yy87;
+yy1598:
yych = *++cursor_;
- if (yych == 's') goto yy1611;
- if (yych == 'u') goto yy1613;
- goto yy11;
-yy1496:
+ if (yych == '_') goto yy1720;
+ goto yy87;
+yy1599:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 's') goto yy1721;
+ if (yych == 'u') goto yy1723;
+ goto yy87;
+yy1600:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 289 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I32Load8S); }
-#line 7956 "src/prebuilt/wast-lexer-gen.cc"
-yy1498:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8755 "src/prebuilt/wast-lexer-gen.cc"
+yy1602:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 291 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I32Load8U); }
-#line 7964 "src/prebuilt/wast-lexer-gen.cc"
-yy1500:
- yych = *++cursor_;
- if (yych == 'p') goto yy1615;
- goto yy11;
-yy1501:
+#line 8763 "src/prebuilt/wast-lexer-gen.cc"
+yy1604:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'p') goto yy1725;
+ goto yy87;
+yy1605:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 301 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, I32Store16); }
-#line 7976 "src/prebuilt/wast-lexer-gen.cc"
-yy1503:
+#line 8775 "src/prebuilt/wast-lexer-gen.cc"
+yy1607:
yych = *++cursor_;
- if (yych == '/') goto yy1616;
- if (yych == ':') goto yy1617;
- goto yy11;
-yy1504:
+ if (yych == '3') goto yy1726;
+ if (yych == '6') goto yy1727;
+ goto yy87;
+yy1608:
yych = *++cursor_;
- if (yych == '/') goto yy1618;
- if (yych == ':') goto yy1619;
- goto yy11;
-yy1505:
+ if (yych <= '9') {
+ if (yych == '/') goto yy1728;
+ goto yy87;
+ } else {
+ if (yych <= ':') goto yy1729;
+ if (yych == 'a') goto yy1730;
+ goto yy87;
+ }
+yy1609:
yych = *++cursor_;
- if (yych == '4') goto yy1620;
- goto yy11;
-yy1506:
+ if (yych == '/') goto yy1731;
+ if (yych == ':') goto yy1732;
+ goto yy87;
+yy1610:
yych = *++cursor_;
- if (yych == 'r') goto yy1622;
- goto yy11;
-yy1507:
+ if (yych == '4') goto yy1733;
+ goto yy87;
+yy1611:
yych = *++cursor_;
- if (yych == 'r') goto yy1623;
- goto yy11;
-yy1508:
+ if (yych == '4') goto yy1735;
+ goto yy87;
+yy1612:
yych = *++cursor_;
- if (yych == 'c') goto yy1624;
- goto yy11;
-yy1509:
+ if (yych == 'r') goto yy1737;
+ goto yy87;
+yy1613:
yych = *++cursor_;
- if (yych == 'c') goto yy1625;
- goto yy11;
-yy1510:
+ if (yych == 'r') goto yy1738;
+ goto yy87;
+yy1614:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'c') goto yy1739;
+ goto yy87;
+yy1615:
+ yych = *++cursor_;
+ if (yych == 'c') goto yy1740;
+ goto yy87;
+yy1616:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 581 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32X4ShrS); }
-#line 8014 "src/prebuilt/wast-lexer-gen.cc"
-yy1512:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8827 "src/prebuilt/wast-lexer-gen.cc"
+yy1618:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 582 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32X4ShrU); }
-#line 8022 "src/prebuilt/wast-lexer-gen.cc"
-yy1514:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8835 "src/prebuilt/wast-lexer-gen.cc"
+yy1620:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 531 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I32X4Splat); }
-#line 8030 "src/prebuilt/wast-lexer-gen.cc"
-yy1516:
+#line 8843 "src/prebuilt/wast-lexer-gen.cc"
+yy1622:
yych = *++cursor_;
- if (yych == '_') goto yy1626;
- goto yy11;
-yy1517:
+ if (yych == '_') goto yy1741;
+ goto yy87;
+yy1623:
yych = *++cursor_;
if (yych <= 'r') {
- if (yych == 'l') goto yy1627;
- if (yych <= 'q') goto yy11;
- goto yy1628;
+ if (yych == 'l') goto yy1742;
+ if (yych <= 'q') goto yy87;
+ goto yy1743;
} else {
- if (yych <= 's') goto yy1629;
- if (yych == 'w') goto yy1630;
- goto yy11;
+ if (yych <= 's') goto yy1744;
+ if (yych == 'w') goto yy1745;
+ goto yy87;
}
-yy1518:
- yych = *++cursor_;
- if (yych == '6') goto yy1631;
- goto yy11;
-yy1519:
+yy1624:
yych = *++cursor_;
- if (yych == '2') goto yy1632;
- goto yy11;
-yy1520:
+ if (yych == '6') goto yy1746;
+ goto yy87;
+yy1625:
yych = *++cursor_;
- if (yych == '_') goto yy1633;
- goto yy11;
-yy1521:
+ if (yych == '2') goto yy1747;
+ goto yy87;
+yy1626:
yych = *++cursor_;
- if (yych == 's') goto yy1634;
- if (yych == 'u') goto yy1635;
- goto yy11;
-yy1522:
+ if (yych == '_') goto yy1748;
+ goto yy87;
+yy1627:
yych = *++cursor_;
- if (yych == 's') goto yy1636;
- if (yych == 'u') goto yy1638;
- goto yy11;
-yy1523:
+ if (yych <= 'r') {
+ if (yych == 'i') goto yy1749;
+ goto yy87;
+ } else {
+ if (yych <= 's') goto yy1750;
+ if (yych == 'u') goto yy1751;
+ goto yy87;
+ }
+yy1628:
yych = *++cursor_;
- if (yych == 's') goto yy1640;
- if (yych == 'u') goto yy1642;
- goto yy11;
-yy1524:
+ if (yych == 's') goto yy1752;
+ if (yych == 'u') goto yy1754;
+ goto yy87;
+yy1629:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 's') goto yy1756;
+ if (yych == 'u') goto yy1758;
+ goto yy87;
+yy1630:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 290 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I64Load8S); }
-#line 8080 "src/prebuilt/wast-lexer-gen.cc"
-yy1526:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8898 "src/prebuilt/wast-lexer-gen.cc"
+yy1632:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 292 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I64Load8U); }
-#line 8088 "src/prebuilt/wast-lexer-gen.cc"
-yy1528:
- yych = *++cursor_;
- if (yych == 'p') goto yy1644;
- goto yy11;
-yy1529:
+#line 8906 "src/prebuilt/wast-lexer-gen.cc"
+yy1634:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'p') goto yy1760;
+ goto yy87;
+yy1635:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 302 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, I64Store16); }
-#line 8100 "src/prebuilt/wast-lexer-gen.cc"
-yy1531:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8918 "src/prebuilt/wast-lexer-gen.cc"
+yy1637:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 303 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, I64Store32); }
-#line 8108 "src/prebuilt/wast-lexer-gen.cc"
-yy1533:
+#line 8926 "src/prebuilt/wast-lexer-gen.cc"
+yy1639:
yych = *++cursor_;
- if (yych == '/') goto yy1645;
- if (yych == ':') goto yy1646;
- goto yy11;
-yy1534:
+ if (yych == '3') goto yy1761;
+ if (yych == '6') goto yy1762;
+ goto yy87;
+yy1640:
yych = *++cursor_;
- if (yych == '/') goto yy1647;
- if (yych == ':') goto yy1648;
- goto yy11;
-yy1535:
+ if (yych <= '9') {
+ if (yych == '/') goto yy1763;
+ goto yy87;
+ } else {
+ if (yych <= ':') goto yy1764;
+ if (yych == 'a') goto yy1765;
+ goto yy87;
+ }
+yy1641:
yych = *++cursor_;
- if (yych == 'r') goto yy1649;
- goto yy11;
-yy1536:
+ if (yych == '/') goto yy1766;
+ if (yych == ':') goto yy1767;
+ goto yy87;
+yy1642:
yych = *++cursor_;
- if (yych == 'r') goto yy1650;
- goto yy11;
-yy1537:
+ if (yych == 'r') goto yy1768;
+ goto yy87;
+yy1643:
yych = *++cursor_;
- if (yych == 'c') goto yy1651;
- goto yy11;
-yy1538:
+ if (yych == 'r') goto yy1769;
+ goto yy87;
+yy1644:
yych = *++cursor_;
- if (yych == 'c') goto yy1652;
- goto yy11;
-yy1539:
+ if (yych == 'c') goto yy1770;
+ goto yy87;
+yy1645:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'c') goto yy1771;
+ goto yy87;
+yy1646:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 583 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64X2ShrS); }
-#line 8142 "src/prebuilt/wast-lexer-gen.cc"
-yy1541:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8970 "src/prebuilt/wast-lexer-gen.cc"
+yy1648:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 584 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64X2ShrU); }
-#line 8150 "src/prebuilt/wast-lexer-gen.cc"
-yy1543:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 8978 "src/prebuilt/wast-lexer-gen.cc"
+yy1650:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 532 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64X2Splat); }
-#line 8158 "src/prebuilt/wast-lexer-gen.cc"
-yy1545:
- yych = *++cursor_;
- if (yych == '_') goto yy1653;
- goto yy11;
-yy1546:
+#line 8986 "src/prebuilt/wast-lexer-gen.cc"
+yy1652:
yych = *++cursor_;
- if (yych == 'a') goto yy1654;
- goto yy11;
-yy1547:
+ if (yych == '_') goto yy1772;
+ goto yy87;
+yy1653:
yych = *++cursor_;
- if (yych == 'r') goto yy1655;
- goto yy11;
-yy1548:
+ if (yych == 'a') goto yy1773;
+ goto yy87;
+yy1654:
yych = *++cursor_;
- if (yych == 'r') goto yy1656;
- goto yy11;
-yy1549:
+ if (yych == 'r') goto yy1774;
+ goto yy87;
+yy1655:
yych = *++cursor_;
- if (yych == 'c') goto yy1657;
- goto yy11;
-yy1550:
+ if (yych == 'r') goto yy1775;
+ goto yy87;
+yy1656:
yych = *++cursor_;
- if (yych == 'c') goto yy1658;
- goto yy11;
-yy1551:
+ if (yych == 'c') goto yy1776;
+ goto yy87;
+yy1657:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'c') goto yy1777;
+ goto yy87;
+yy1658:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 577 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16ShrS); }
-#line 8190 "src/prebuilt/wast-lexer-gen.cc"
-yy1553:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 9018 "src/prebuilt/wast-lexer-gen.cc"
+yy1660:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 578 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16ShrU); }
-#line 8198 "src/prebuilt/wast-lexer-gen.cc"
-yy1555:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 9026 "src/prebuilt/wast-lexer-gen.cc"
+yy1662:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 529 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I8X16Splat); }
-#line 8206 "src/prebuilt/wast-lexer-gen.cc"
-yy1557:
- yych = *++cursor_;
- if (yych == 'a') goto yy1659;
- goto yy11;
-yy1558:
+#line 9034 "src/prebuilt/wast-lexer-gen.cc"
+yy1664:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'a') goto yy1778;
+ goto yy87;
+yy1665:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 452 "src/wast-lexer.cc"
{ RETURN_OPCODE0(MemoryCopy); }
-#line 8218 "src/prebuilt/wast-lexer-gen.cc"
-yy1560:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 9046 "src/prebuilt/wast-lexer-gen.cc"
+yy1667:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 451 "src/wast-lexer.cc"
{ RETURN_OPCODE0(MemoryDrop); }
-#line 8226 "src/prebuilt/wast-lexer-gen.cc"
-yy1562:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 9054 "src/prebuilt/wast-lexer-gen.cc"
+yy1669:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 453 "src/wast-lexer.cc"
{ RETURN_OPCODE0(MemoryFill); }
-#line 8234 "src/prebuilt/wast-lexer-gen.cc"
-yy1564:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 9062 "src/prebuilt/wast-lexer-gen.cc"
+yy1671:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 449 "src/wast-lexer.cc"
{ RETURN_OPCODE0(MemoryGrow); }
-#line 8242 "src/prebuilt/wast-lexer-gen.cc"
-yy1566:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 9070 "src/prebuilt/wast-lexer-gen.cc"
+yy1673:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 450 "src/wast-lexer.cc"
{ RETURN_OPCODE0(MemoryInit); }
-#line 8250 "src/prebuilt/wast-lexer-gen.cc"
-yy1568:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 9078 "src/prebuilt/wast-lexer-gen.cc"
+yy1675:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 448 "src/wast-lexer.cc"
{ RETURN_OPCODE0(MemorySize); }
-#line 8258 "src/prebuilt/wast-lexer-gen.cc"
-yy1570:
- yych = *++cursor_;
- if (yych <= ')') {
+#line 9086 "src/prebuilt/wast-lexer-gen.cc"
+yy1677:
+ ++cursor_;
+ if ((yych = *cursor_) <= ')') {
if (yych <= '!') {
- if (yych >= '!') goto yy10;
+ if (yych >= '!') goto yy86;
} else {
- if (yych <= '"') goto yy1571;
- if (yych <= '\'') goto yy10;
+ if (yych <= '"') goto yy1678;
+ if (yych <= '\'') goto yy86;
}
} else {
if (yych <= '^') {
- if (yych != ';') goto yy10;
+ if (yych != ';') goto yy86;
} else {
- if (yych <= '_') goto yy1660;
- if (yych <= '~') goto yy10;
+ if (yych <= '_') goto yy1779;
+ if (yych <= '~') goto yy86;
}
}
-yy1571:
+yy1678:
#line 666 "src/wast-lexer.cc"
{ RETURN_OPCODE0(ReturnCall); }
-#line 8279 "src/prebuilt/wast-lexer-gen.cc"
-yy1572:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 9107 "src/prebuilt/wast-lexer-gen.cc"
+yy1679:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
#line 447 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Unreachable); }
-#line 8287 "src/prebuilt/wast-lexer-gen.cc"
-yy1574:
- yych = *++cursor_;
- if (yych == 'e') goto yy1661;
- goto yy11;
-yy1575:
- yych = *++cursor_;
- if (yych == 'l') goto yy1662;
- goto yy11;
-yy1576:
- yych = *++cursor_;
- if (yych == 's') goto yy1663;
- goto yy11;
-yy1577:
- yych = *++cursor_;
- if (yych == 'i') goto yy1664;
- goto yy11;
-yy1578:
- yych = *++cursor_;
- if (yych == 'r') goto yy1665;
- goto yy11;
-yy1579:
- yych = *++cursor_;
- if (yych == 'n') goto yy1666;
- goto yy11;
-yy1580:
- yych = *++cursor_;
- if (yych == 'k') goto yy1668;
- goto yy11;
-yy1581:
- yych = *++cursor_;
- if (yych == 't') goto yy1669;
- goto yy11;
-yy1582:
- yych = *++cursor_;
- if (yych == 'r') goto yy1671;
- goto yy11;
-yy1583:
- yych = *++cursor_;
- if (yych == 's') goto yy1672;
- if (yych == 'u') goto yy1673;
- goto yy11;
-yy1584:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 379 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, F32Copysign); }
-#line 8336 "src/prebuilt/wast-lexer-gen.cc"
-yy1586:
- yych = *++cursor_;
- if (yych == '6') goto yy1674;
- goto yy11;
-yy1587:
- yych = *++cursor_;
- if (yych == 'r') goto yy1675;
- goto yy11;
-yy1588:
- yych = *++cursor_;
- if (yych == 't') goto yy1676;
- goto yy11;
-yy1589:
- yych = *++cursor_;
- if (yych == 't') goto yy1677;
- goto yy11;
-yy1590:
- yych = *++cursor_;
- if (yych == 'e') goto yy1678;
- goto yy11;
-yy1591:
- yych = *++cursor_;
- if (yych == 's') goto yy1679;
- if (yych == 'u') goto yy1680;
- goto yy11;
-yy1592:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 380 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, F64Copysign); }
-#line 8369 "src/prebuilt/wast-lexer-gen.cc"
-yy1594:
- yych = *++cursor_;
- if (yych == 'f') goto yy1681;
- goto yy11;
-yy1595:
- yych = *++cursor_;
- if (yych == 'r') goto yy1682;
- goto yy11;
-yy1596:
- yych = *++cursor_;
- if (yych == 't') goto yy1683;
- goto yy11;
-yy1597:
- yych = *++cursor_;
- if (yych == 't') goto yy1684;
- goto yy11;
-yy1598:
- yych = *++cursor_;
- if (yych == 'e') goto yy1685;
- goto yy11;
-yy1599:
- yych = *++cursor_;
- if (yych == 't') goto yy1686;
- goto yy11;
-yy1600:
- yych = *++cursor_;
- if (yych == 'u') goto yy1687;
- goto yy11;
-yy1601:
- yych = *++cursor_;
- if (yych == 'u') goto yy1688;
- goto yy11;
-yy1602:
- yych = *++cursor_;
- if (yych == 't') goto yy1689;
- goto yy11;
-yy1603:
- yych = *++cursor_;
- if (yych == 'e') goto yy1690;
- goto yy11;
-yy1604:
- yych = *++cursor_;
- if (yych == 't') goto yy1691;
- goto yy11;
-yy1605:
- yych = *++cursor_;
- if (yych == 'o') goto yy1692;
- goto yy11;
-yy1606:
- yych = *++cursor_;
- if (yych == 'm') goto yy1693;
- goto yy11;
-yy1607:
- yych = *++cursor_;
- if (yych == 't') goto yy1694;
- goto yy11;
-yy1608:
- yych = *++cursor_;
- if (yych == 'a') goto yy1695;
- goto yy11;
-yy1609:
- yych = *++cursor_;
- if (yych == '_') goto yy1696;
- goto yy11;
-yy1610:
- yych = *++cursor_;
- if (yych == 's') goto yy1697;
- goto yy11;
-yy1611:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 293 "src/wast-lexer.cc"
- { RETURN_OPCODE(Load, I32Load16S); }
-#line 8445 "src/prebuilt/wast-lexer-gen.cc"
-yy1613:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 295 "src/wast-lexer.cc"
- { RETURN_OPCODE(Load, I32Load16U); }
-#line 8453 "src/prebuilt/wast-lexer-gen.cc"
-yy1615:
- yych = *++cursor_;
- if (yych == 'r') goto yy1699;
- goto yy11;
-yy1616:
- yych = *++cursor_;
- if (yych == 'f') goto yy1700;
- goto yy11;
-yy1617:
- yych = *++cursor_;
- if (yych == 's') goto yy1701;
- goto yy11;
-yy1618:
- yych = *++cursor_;
- if (yych == 'f') goto yy1702;
- goto yy11;
-yy1619:
- yych = *++cursor_;
- if (yych == 's') goto yy1703;
- goto yy11;
-yy1620:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 415 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32WrapI64); }
-#line 8481 "src/prebuilt/wast-lexer-gen.cc"
-yy1622:
- yych = *++cursor_;
- if (yych == 'u') goto yy1704;
- goto yy11;
-yy1623:
- yych = *++cursor_;
- if (yych == 'u') goto yy1705;
- goto yy11;
-yy1624:
- yych = *++cursor_;
- if (yych == 't') goto yy1706;
- goto yy11;
-yy1625:
- yych = *++cursor_;
- if (yych == 'e') goto yy1707;
- goto yy11;
-yy1626:
- yych = *++cursor_;
- if (yych == 's') goto yy1708;
- if (yych == 'u') goto yy1709;
- goto yy11;
-yy1627:
- yych = *++cursor_;
- if (yych == 'o') goto yy1710;
- goto yy11;
-yy1628:
- yych = *++cursor_;
- if (yych == 'm') goto yy1711;
- goto yy11;
-yy1629:
- yych = *++cursor_;
- if (yych == 't') goto yy1712;
- goto yy11;
-yy1630:
- yych = *++cursor_;
- if (yych == 'a') goto yy1713;
- goto yy11;
-yy1631:
- yych = *++cursor_;
- if (yych == '_') goto yy1714;
- goto yy11;
-yy1632:
- yych = *++cursor_;
- if (yych == '_') goto yy1715;
- goto yy11;
-yy1633:
- yych = *++cursor_;
- if (yych == 's') goto yy1716;
- goto yy11;
-yy1634:
- yych = *++cursor_;
- if (yych == '/') goto yy1718;
- goto yy11;
-yy1635:
- yych = *++cursor_;
- if (yych == '/') goto yy1719;
- goto yy11;
-yy1636:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 294 "src/wast-lexer.cc"
- { RETURN_OPCODE(Load, I64Load16S); }
-#line 8546 "src/prebuilt/wast-lexer-gen.cc"
-yy1638:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 296 "src/wast-lexer.cc"
- { RETURN_OPCODE(Load, I64Load16U); }
-#line 8554 "src/prebuilt/wast-lexer-gen.cc"
-yy1640:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 297 "src/wast-lexer.cc"
- { RETURN_OPCODE(Load, I64Load32S); }
-#line 8562 "src/prebuilt/wast-lexer-gen.cc"
-yy1642:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 298 "src/wast-lexer.cc"
- { RETURN_OPCODE(Load, I64Load32U); }
-#line 8570 "src/prebuilt/wast-lexer-gen.cc"
-yy1644:
- yych = *++cursor_;
- if (yych == 'r') goto yy1720;
- goto yy11;
-yy1645:
- yych = *++cursor_;
- if (yych == 'f') goto yy1721;
- goto yy11;
-yy1646:
- yych = *++cursor_;
- if (yych == 's') goto yy1722;
- goto yy11;
-yy1647:
- yych = *++cursor_;
- if (yych == 'f') goto yy1723;
- goto yy11;
-yy1648:
- yych = *++cursor_;
- if (yych == 's') goto yy1724;
- goto yy11;
-yy1649:
- yych = *++cursor_;
- if (yych == 'u') goto yy1725;
- goto yy11;
-yy1650:
- yych = *++cursor_;
- if (yych == 'u') goto yy1726;
- goto yy11;
-yy1651:
- yych = *++cursor_;
- if (yych == 't') goto yy1727;
- goto yy11;
-yy1652:
- yych = *++cursor_;
- if (yych == 'e') goto yy1728;
- goto yy11;
-yy1653:
- yych = *++cursor_;
- if (yych == 's') goto yy1729;
- if (yych == 'u') goto yy1730;
- goto yy11;
-yy1654:
- yych = *++cursor_;
- if (yych == 't') goto yy1731;
- goto yy11;
-yy1655:
- yych = *++cursor_;
- if (yych == 'u') goto yy1732;
- goto yy11;
-yy1656:
- yych = *++cursor_;
- if (yych == 'u') goto yy1733;
- goto yy11;
-yy1657:
- yych = *++cursor_;
- if (yych == 't') goto yy1734;
- goto yy11;
-yy1658:
- yych = *++cursor_;
- if (yych == 'e') goto yy1735;
- goto yy11;
-yy1659:
- yych = *++cursor_;
- if (yych == 't') goto yy1736;
- goto yy11;
-yy1660:
- yych = *++cursor_;
- if (yych == 'i') goto yy1737;
- goto yy11;
-yy1661:
- yych = *++cursor_;
- if (yych == 'c') goto yy1738;
- goto yy11;
-yy1662:
- yych = *++cursor_;
- if (yych == 'e') goto yy1739;
- goto yy11;
-yy1663:
- yych = *++cursor_;
- if (yych == 't') goto yy1741;
- goto yy11;
-yy1664:
- yych = *++cursor_;
- if (yych == 'd') goto yy1742;
- goto yy11;
-yy1665:
- yych = *++cursor_;
- if (yych == 'm') goto yy1744;
- goto yy11;
-yy1666:
- yych = *++cursor_;
- if (yych <= ')') {
- if (yych <= '!') {
- if (yych >= '!') goto yy10;
- } else {
- if (yych <= '"') goto yy1667;
- if (yych <= '\'') goto yy10;
- }
- } else {
- if (yych <= '^') {
- if (yych != ';') goto yy10;
- } else {
- if (yych <= '_') goto yy1745;
- if (yych <= '~') goto yy10;
- }
- }
-yy1667:
-#line 694 "src/wast-lexer.cc"
- { RETURN(AssertReturn); }
-#line 8680 "src/prebuilt/wast-lexer-gen.cc"
-yy1668:
- yych = *++cursor_;
- if (yych == 'a') goto yy1746;
- goto yy11;
-yy1669:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 272 "src/wast-lexer.cc"
- { RETURN_OPCODE0(CallIndirect); }
-#line 8692 "src/prebuilt/wast-lexer-gen.cc"
-yy1671:
- yych = *++cursor_;
- if (yych == 'y') goto yy1747;
- goto yy11;
-yy1672:
- yych = *++cursor_;
- if (yych == '/') goto yy1749;
- goto yy11;
-yy1673:
- yych = *++cursor_;
- if (yych == '/') goto yy1750;
- goto yy11;
-yy1674:
- yych = *++cursor_;
- if (yych == '4') goto yy1751;
- goto yy11;
-yy1675:
- yych = *++cursor_;
- if (yych == 'e') goto yy1753;
- goto yy11;
-yy1676:
- yych = *++cursor_;
- if (yych == '_') goto yy1754;
- goto yy11;
-yy1677:
- yych = *++cursor_;
- if (yych == '_') goto yy1755;
- goto yy11;
-yy1678:
- yych = *++cursor_;
- if (yych == '_') goto yy1756;
- goto yy11;
-yy1679:
- yych = *++cursor_;
- if (yych == '/') goto yy1757;
- goto yy11;
-yy1680:
- yych = *++cursor_;
- if (yych == '/') goto yy1758;
- goto yy11;
+#line 9115 "src/prebuilt/wast-lexer-gen.cc"
yy1681:
yych = *++cursor_;
- if (yych == '3') goto yy1759;
- goto yy11;
+ if (yych == 'e') goto yy1780;
+ goto yy87;
yy1682:
yych = *++cursor_;
- if (yych == 'e') goto yy1760;
- goto yy11;
+ if (yych == 'l') goto yy1781;
+ goto yy87;
yy1683:
yych = *++cursor_;
- if (yych == '_') goto yy1761;
- goto yy11;
+ if (yych == 's') goto yy1782;
+ goto yy87;
yy1684:
yych = *++cursor_;
- if (yych == '_') goto yy1762;
- goto yy11;
+ if (yych == 'i') goto yy1783;
+ goto yy87;
yy1685:
yych = *++cursor_;
- if (yych == '_') goto yy1763;
- goto yy11;
+ if (yych == 'r') goto yy1784;
+ goto yy87;
yy1686:
yych = *++cursor_;
- if (yych == 'u') goto yy1764;
- goto yy11;
+ if (yych == 'n') goto yy1785;
+ goto yy87;
yy1687:
yych = *++cursor_;
- if (yych == 'e') goto yy1765;
- goto yy11;
+ if (yych == 'k') goto yy1787;
+ goto yy87;
yy1688:
yych = *++cursor_;
- if (yych == 'e') goto yy1767;
- goto yy11;
+ if (yych == 'y') goto yy1788;
+ goto yy87;
yy1689:
yych = *++cursor_;
- if (yych == '_') goto yy1769;
- goto yy11;
+ if (yych == 't') goto yy1790;
+ goto yy87;
yy1690:
yych = *++cursor_;
- if (yych == '_') goto yy1770;
- goto yy11;
+ if (yych == 'r') goto yy1792;
+ goto yy87;
yy1691:
yych = *++cursor_;
- if (yych == 'u') goto yy1771;
- goto yy11;
+ if (yych <= 'r') {
+ if (yych == 'i') goto yy1793;
+ goto yy87;
+ } else {
+ if (yych <= 's') goto yy1794;
+ if (yych == 'u') goto yy1795;
+ goto yy87;
+ }
yy1692:
- yych = *++cursor_;
- if (yych == 'a') goto yy1772;
- goto yy11;
-yy1693:
- yych = *++cursor_;
- if (yych == 'w') goto yy1773;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 379 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, F32Copysign); }
+#line 9173 "src/prebuilt/wast-lexer-gen.cc"
yy1694:
yych = *++cursor_;
- if (yych == 'o') goto yy1774;
- goto yy11;
+ if (yych == '6') goto yy1796;
+ goto yy87;
yy1695:
yych = *++cursor_;
- if (yych == 'i') goto yy1775;
- goto yy11;
+ if (yych == '6') goto yy1797;
+ goto yy87;
yy1696:
yych = *++cursor_;
- if (yych == 's') goto yy1776;
- goto yy11;
+ if (yych == 'r') goto yy1798;
+ goto yy87;
yy1697:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 332 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I32Extend8S); }
-#line 8804 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 't') goto yy1799;
+ goto yy87;
+yy1698:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1800;
+ goto yy87;
yy1699:
yych = *++cursor_;
- if (yych == 'e') goto yy1778;
- goto yy11;
+ if (yych == 'e') goto yy1801;
+ goto yy87;
yy1700:
yych = *++cursor_;
- if (yych == '3') goto yy1779;
- if (yych == '6') goto yy1780;
- goto yy11;
+ if (yych <= 'r') {
+ if (yych == 'i') goto yy1802;
+ goto yy87;
+ } else {
+ if (yych <= 's') goto yy1803;
+ if (yych == 'u') goto yy1804;
+ goto yy87;
+ }
yy1701:
- yych = *++cursor_;
- if (yych == 'a') goto yy1781;
- goto yy11;
-yy1702:
- yych = *++cursor_;
- if (yych == '3') goto yy1782;
- if (yych == '6') goto yy1783;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 380 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, F64Copysign); }
+#line 9215 "src/prebuilt/wast-lexer-gen.cc"
yy1703:
yych = *++cursor_;
- if (yych == 'a') goto yy1784;
- goto yy11;
+ if (yych == 'f') goto yy1805;
+ goto yy87;
yy1704:
yych = *++cursor_;
- if (yych == 'e') goto yy1785;
- goto yy11;
+ if (yych == 'f') goto yy1806;
+ goto yy87;
yy1705:
yych = *++cursor_;
- if (yych == 'e') goto yy1787;
- goto yy11;
+ if (yych == 'r') goto yy1807;
+ goto yy87;
yy1706:
yych = *++cursor_;
- if (yych == '_') goto yy1789;
- goto yy11;
+ if (yych == 't') goto yy1808;
+ goto yy87;
yy1707:
yych = *++cursor_;
- if (yych == '_') goto yy1790;
- goto yy11;
+ if (yych == 't') goto yy1809;
+ goto yy87;
yy1708:
yych = *++cursor_;
- if (yych == '/') goto yy1791;
- goto yy11;
+ if (yych == 'e') goto yy1810;
+ goto yy87;
yy1709:
yych = *++cursor_;
- if (yych == '/') goto yy1792;
- goto yy11;
+ if (yych == 't') goto yy1811;
+ goto yy87;
yy1710:
yych = *++cursor_;
- if (yych == 'a') goto yy1793;
- goto yy11;
+ if (yych == 'u') goto yy1812;
+ goto yy87;
yy1711:
yych = *++cursor_;
- if (yych == 'w') goto yy1794;
- goto yy11;
+ if (yych == 'u') goto yy1813;
+ goto yy87;
yy1712:
yych = *++cursor_;
- if (yych == 'o') goto yy1795;
- goto yy11;
+ if (yych == 't') goto yy1814;
+ goto yy87;
yy1713:
yych = *++cursor_;
- if (yych == 'i') goto yy1796;
- goto yy11;
+ if (yych == 'e') goto yy1815;
+ goto yy87;
yy1714:
yych = *++cursor_;
- if (yych == 's') goto yy1797;
- goto yy11;
+ if (yych == 't') goto yy1816;
+ goto yy87;
yy1715:
yych = *++cursor_;
- if (yych == 's') goto yy1799;
- goto yy11;
+ if (yych == 'o') goto yy1817;
+ goto yy87;
yy1716:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 334 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I64Extend8S); }
-#line 8882 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'm') goto yy1818;
+ goto yy87;
+yy1717:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1819;
+ goto yy87;
yy1718:
yych = *++cursor_;
- if (yych == 'i') goto yy1801;
- goto yy11;
+ if (yych == 'a') goto yy1820;
+ goto yy87;
yy1719:
yych = *++cursor_;
- if (yych == 'i') goto yy1802;
- goto yy11;
+ if (yych == '_') goto yy1821;
+ goto yy87;
yy1720:
yych = *++cursor_;
- if (yych == 'e') goto yy1803;
- goto yy11;
+ if (yych == 's') goto yy1822;
+ goto yy87;
yy1721:
- yych = *++cursor_;
- if (yych == '3') goto yy1804;
- if (yych == '6') goto yy1805;
- goto yy11;
-yy1722:
- yych = *++cursor_;
- if (yych == 'a') goto yy1806;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 293 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Load, I32Load16S); }
+#line 9295 "src/prebuilt/wast-lexer-gen.cc"
yy1723:
- yych = *++cursor_;
- if (yych == '3') goto yy1807;
- if (yych == '6') goto yy1808;
- goto yy11;
-yy1724:
- yych = *++cursor_;
- if (yych == 'a') goto yy1809;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 295 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Load, I32Load16U); }
+#line 9303 "src/prebuilt/wast-lexer-gen.cc"
yy1725:
yych = *++cursor_;
- if (yych == 'e') goto yy1810;
- goto yy11;
+ if (yych == 'r') goto yy1824;
+ goto yy87;
yy1726:
yych = *++cursor_;
- if (yych == 'e') goto yy1812;
- goto yy11;
+ if (yych == '2') goto yy1825;
+ goto yy87;
yy1727:
yych = *++cursor_;
- if (yych == '_') goto yy1814;
- goto yy11;
+ if (yych == '4') goto yy1826;
+ goto yy87;
yy1728:
yych = *++cursor_;
- if (yych == '_') goto yy1815;
- goto yy11;
+ if (yych == 'f') goto yy1827;
+ goto yy87;
yy1729:
yych = *++cursor_;
- if (yych == '/') goto yy1816;
- goto yy11;
+ if (yych == 's') goto yy1828;
+ goto yy87;
yy1730:
yych = *++cursor_;
- if (yych == '/') goto yy1817;
- goto yy11;
+ if (yych == 't') goto yy1829;
+ goto yy87;
yy1731:
yych = *++cursor_;
- if (yych == 'u') goto yy1818;
- goto yy11;
+ if (yych == 'f') goto yy1830;
+ goto yy87;
yy1732:
yych = *++cursor_;
- if (yych == 'e') goto yy1819;
- goto yy11;
+ if (yych == 's') goto yy1831;
+ goto yy87;
yy1733:
- yych = *++cursor_;
- if (yych == 'e') goto yy1821;
- goto yy11;
-yy1734:
- yych = *++cursor_;
- if (yych == '_') goto yy1823;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 678 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32WrapI64); }
+#line 9343 "src/prebuilt/wast-lexer-gen.cc"
yy1735:
- yych = *++cursor_;
- if (yych == '_') goto yy1824;
- goto yy11;
-yy1736:
- yych = *++cursor_;
- if (yych == 'u') goto yy1825;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 415 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32WrapI64); }
+#line 9351 "src/prebuilt/wast-lexer-gen.cc"
yy1737:
yych = *++cursor_;
- if (yych == 'n') goto yy1826;
- goto yy11;
+ if (yych == 'u') goto yy1832;
+ goto yy87;
yy1738:
yych = *++cursor_;
- if (yych == 't') goto yy1827;
- goto yy11;
+ if (yych == 'u') goto yy1833;
+ goto yy87;
yy1739:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 549 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdShuffleOp, V8X16Shuffle); }
-#line 8976 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 't') goto yy1834;
+ goto yy87;
+yy1740:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1835;
+ goto yy87;
yy1741:
yych = *++cursor_;
- if (yych == 'i') goto yy1829;
- goto yy11;
+ if (yych == 's') goto yy1836;
+ goto yy87;
yy1742:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 692 "src/wast-lexer.cc"
- { RETURN(AssertInvalid); }
-#line 8988 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'o') goto yy1837;
+ goto yy87;
+yy1743:
+ yych = *++cursor_;
+ if (yych == 'm') goto yy1838;
+ goto yy87;
yy1744:
yych = *++cursor_;
- if (yych == 'e') goto yy1830;
- goto yy11;
+ if (yych == 't') goto yy1839;
+ goto yy87;
yy1745:
yych = *++cursor_;
- if (yych == 'a') goto yy1831;
- if (yych == 'c') goto yy1832;
- goto yy11;
+ if (yych == 'a') goto yy1840;
+ goto yy87;
yy1746:
yych = *++cursor_;
- if (yych == 'b') goto yy1833;
- goto yy11;
+ if (yych == '_') goto yy1841;
+ goto yy87;
yy1747:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 454 "src/wast-lexer.cc"
- { RETURN_OPCODE0(MemorySize); }
-#line 9009 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == '_') goto yy1842;
+ goto yy87;
+yy1748:
+ yych = *++cursor_;
+ if (yych == 's') goto yy1843;
+ goto yy87;
yy1749:
yych = *++cursor_;
- if (yych == 'i') goto yy1834;
- goto yy11;
+ if (yych == '3') goto yy1845;
+ goto yy87;
yy1750:
yych = *++cursor_;
- if (yych == 'i') goto yy1835;
- goto yy11;
+ if (yych == '/') goto yy1846;
+ goto yy87;
yy1751:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == '/') goto yy1847;
+ goto yy87;
+yy1752:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 441 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F32DemoteF64); }
-#line 9025 "src/prebuilt/wast-lexer-gen.cc"
-yy1753:
- yych = *++cursor_;
- if (yych == 't') goto yy1836;
- goto yy11;
+#line 294 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Load, I64Load16S); }
+#line 9419 "src/prebuilt/wast-lexer-gen.cc"
yy1754:
- yych = *++cursor_;
- if (yych == 's') goto yy1837;
- if (yych == 'u') goto yy1838;
- goto yy11;
-yy1755:
- yych = *++cursor_;
- if (yych == 'l') goto yy1839;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 296 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Load, I64Load16U); }
+#line 9427 "src/prebuilt/wast-lexer-gen.cc"
yy1756:
- yych = *++cursor_;
- if (yych == 'l') goto yy1840;
- goto yy11;
-yy1757:
- yych = *++cursor_;
- if (yych == 'i') goto yy1841;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 297 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Load, I64Load32S); }
+#line 9435 "src/prebuilt/wast-lexer-gen.cc"
yy1758:
- yych = *++cursor_;
- if (yych == 'i') goto yy1842;
- goto yy11;
-yy1759:
- yych = *++cursor_;
- if (yych == '2') goto yy1843;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 298 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Load, I64Load32U); }
+#line 9443 "src/prebuilt/wast-lexer-gen.cc"
yy1760:
yych = *++cursor_;
- if (yych == 't') goto yy1845;
- goto yy11;
+ if (yych == 'r') goto yy1848;
+ goto yy87;
yy1761:
yych = *++cursor_;
- if (yych == 's') goto yy1846;
- if (yych == 'u') goto yy1847;
- goto yy11;
+ if (yych == '2') goto yy1849;
+ goto yy87;
yy1762:
yych = *++cursor_;
- if (yych == 'l') goto yy1848;
- goto yy11;
+ if (yych == '4') goto yy1850;
+ goto yy87;
yy1763:
yych = *++cursor_;
- if (yych == 'l') goto yy1849;
- goto yy11;
+ if (yych == 'f') goto yy1851;
+ goto yy87;
yy1764:
yych = *++cursor_;
- if (yych == 'r') goto yy1850;
- goto yy11;
+ if (yych == 's') goto yy1852;
+ goto yy87;
yy1765:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 595 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I16X8AllTrue); }
-#line 9083 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 't') goto yy1853;
+ goto yy87;
+yy1766:
+ yych = *++cursor_;
+ if (yych == 'f') goto yy1854;
+ goto yy87;
yy1767:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 591 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I16X8AnyTrue); }
-#line 9091 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 's') goto yy1855;
+ goto yy87;
+yy1768:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy1856;
+ goto yy87;
yy1769:
yych = *++cursor_;
- if (yych == 'l') goto yy1851;
- goto yy11;
+ if (yych == 'u') goto yy1857;
+ goto yy87;
yy1770:
yych = *++cursor_;
- if (yych == 'l') goto yy1852;
- goto yy11;
+ if (yych == 't') goto yy1858;
+ goto yy87;
yy1771:
yych = *++cursor_;
- if (yych == 'r') goto yy1853;
- goto yy11;
+ if (yych == 'e') goto yy1859;
+ goto yy87;
yy1772:
yych = *++cursor_;
- if (yych == 'd') goto yy1854;
- goto yy11;
+ if (yych == 's') goto yy1860;
+ goto yy87;
yy1773:
yych = *++cursor_;
- if (yych <= '0') {
- if (yych == '.') goto yy1856;
- goto yy11;
- } else {
- if (yych <= '1') goto yy1857;
- if (yych == '8') goto yy1858;
- goto yy11;
- }
+ if (yych == 't') goto yy1861;
+ goto yy87;
yy1774:
yych = *++cursor_;
- if (yych == 'r') goto yy1859;
- goto yy11;
+ if (yych == 'u') goto yy1862;
+ goto yy87;
yy1775:
yych = *++cursor_;
- if (yych == 't') goto yy1860;
- goto yy11;
+ if (yych == 'u') goto yy1863;
+ goto yy87;
yy1776:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 333 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I32Extend16S); }
-#line 9133 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 't') goto yy1864;
+ goto yy87;
+yy1777:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1865;
+ goto yy87;
yy1778:
yych = *++cursor_;
- if (yych == 't') goto yy1862;
- goto yy11;
+ if (yych == 't') goto yy1866;
+ goto yy87;
yy1779:
yych = *++cursor_;
- if (yych == '2') goto yy1863;
- goto yy11;
+ if (yych == 'i') goto yy1867;
+ goto yy87;
yy1780:
yych = *++cursor_;
- if (yych == '4') goto yy1865;
- goto yy11;
+ if (yych == 'c') goto yy1868;
+ goto yy87;
yy1781:
yych = *++cursor_;
- if (yych == 't') goto yy1867;
- goto yy11;
+ if (yych == 'e') goto yy1869;
+ goto yy87;
yy1782:
yych = *++cursor_;
- if (yych == '2') goto yy1868;
- goto yy11;
+ if (yych == 't') goto yy1871;
+ goto yy87;
yy1783:
yych = *++cursor_;
- if (yych == '4') goto yy1870;
- goto yy11;
+ if (yych == 'd') goto yy1872;
+ goto yy87;
yy1784:
yych = *++cursor_;
- if (yych == 't') goto yy1872;
- goto yy11;
+ if (yych == 'm') goto yy1874;
+ goto yy87;
yy1785:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ ++cursor_;
+ if ((yych = *cursor_) <= ')') {
+ if (yych <= '!') {
+ if (yych >= '!') goto yy86;
+ } else {
+ if (yych <= '"') goto yy1786;
+ if (yych <= '\'') goto yy86;
+ }
+ } else {
+ if (yych <= '^') {
+ if (yych != ';') goto yy86;
+ } else {
+ if (yych <= '_') goto yy1875;
+ if (yych <= '~') goto yy86;
+ }
}
-#line 596 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I32X4AllTrue); }
-#line 9169 "src/prebuilt/wast-lexer-gen.cc"
+yy1786:
+#line 735 "src/wast-lexer.cc"
+ { RETURN(AssertReturn); }
+#line 9564 "src/prebuilt/wast-lexer-gen.cc"
yy1787:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'a') goto yy1876;
+ goto yy87;
+yy1788:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 592 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I32X4AnyTrue); }
-#line 9177 "src/prebuilt/wast-lexer-gen.cc"
-yy1789:
- yych = *++cursor_;
- if (yych == 'l') goto yy1873;
- goto yy11;
+#line 462 "src/wast-lexer.cc"
+ { RETURN_OPCODE0(AtomicNotify); }
+#line 9576 "src/prebuilt/wast-lexer-gen.cc"
yy1790:
- yych = *++cursor_;
- if (yych == 'l') goto yy1874;
- goto yy11;
-yy1791:
- yych = *++cursor_;
- if (yych == 'f') goto yy1875;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 272 "src/wast-lexer.cc"
+ { RETURN_OPCODE0(CallIndirect); }
+#line 9584 "src/prebuilt/wast-lexer-gen.cc"
yy1792:
yych = *++cursor_;
- if (yych == 'f') goto yy1876;
- goto yy11;
+ if (yych == 'y') goto yy1877;
+ goto yy87;
yy1793:
yych = *++cursor_;
- if (yych == 'd') goto yy1877;
- goto yy11;
+ if (yych == '3') goto yy1879;
+ if (yych == '6') goto yy1880;
+ goto yy87;
yy1794:
yych = *++cursor_;
- switch (yych) {
- case '.': goto yy1879;
- case '1': goto yy1880;
- case '3': goto yy1881;
- case '8': goto yy1882;
- default: goto yy11;
- }
+ if (yych == '/') goto yy1881;
+ goto yy87;
yy1795:
yych = *++cursor_;
- if (yych == 'r') goto yy1883;
- goto yy11;
+ if (yych == '/') goto yy1882;
+ goto yy87;
yy1796:
yych = *++cursor_;
- if (yych == 't') goto yy1884;
- goto yy11;
+ if (yych == '4') goto yy1883;
+ goto yy87;
yy1797:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 335 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I64Extend16S); }
-#line 9222 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == '4') goto yy1885;
+ goto yy87;
+yy1798:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1887;
+ goto yy87;
yy1799:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 336 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I64Extend32S); }
-#line 9230 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == '_') goto yy1888;
+ goto yy87;
+yy1800:
+ yych = *++cursor_;
+ if (yych == '_') goto yy1889;
+ goto yy87;
yy1801:
yych = *++cursor_;
- if (yych == '3') goto yy1886;
- goto yy11;
+ if (yych == '_') goto yy1890;
+ goto yy87;
yy1802:
yych = *++cursor_;
- if (yych == '3') goto yy1887;
- goto yy11;
+ if (yych == '3') goto yy1891;
+ if (yych == '6') goto yy1892;
+ goto yy87;
yy1803:
yych = *++cursor_;
- if (yych == 't') goto yy1888;
- goto yy11;
+ if (yych == '/') goto yy1893;
+ goto yy87;
yy1804:
yych = *++cursor_;
- if (yych == '2') goto yy1889;
- goto yy11;
+ if (yych == '/') goto yy1894;
+ goto yy87;
yy1805:
yych = *++cursor_;
- if (yych == '4') goto yy1891;
- goto yy11;
+ if (yych == '3') goto yy1895;
+ goto yy87;
yy1806:
yych = *++cursor_;
- if (yych == 't') goto yy1893;
- goto yy11;
+ if (yych == '3') goto yy1896;
+ goto yy87;
yy1807:
yych = *++cursor_;
- if (yych == '2') goto yy1894;
- goto yy11;
+ if (yych == 'e') goto yy1897;
+ goto yy87;
yy1808:
yych = *++cursor_;
- if (yych == '4') goto yy1896;
- goto yy11;
+ if (yych == '_') goto yy1898;
+ goto yy87;
yy1809:
yych = *++cursor_;
- if (yych == 't') goto yy1898;
- goto yy11;
+ if (yych == '_') goto yy1899;
+ goto yy87;
yy1810:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 597 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I64X2AllTrue); }
-#line 9274 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == '_') goto yy1900;
+ goto yy87;
+yy1811:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy1901;
+ goto yy87;
yy1812:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 593 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I64X2AnyTrue); }
-#line 9282 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'e') goto yy1902;
+ goto yy87;
+yy1813:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1904;
+ goto yy87;
yy1814:
yych = *++cursor_;
- if (yych == 'l') goto yy1899;
- goto yy11;
+ if (yych == '_') goto yy1906;
+ goto yy87;
yy1815:
yych = *++cursor_;
- if (yych == 'l') goto yy1900;
- goto yy11;
+ if (yych == '_') goto yy1907;
+ goto yy87;
yy1816:
yych = *++cursor_;
- if (yych == 'f') goto yy1901;
- goto yy11;
+ if (yych == 'u') goto yy1908;
+ goto yy87;
yy1817:
yych = *++cursor_;
- if (yych == 'f') goto yy1902;
- goto yy11;
+ if (yych == 'a') goto yy1909;
+ goto yy87;
yy1818:
yych = *++cursor_;
- if (yych == 'r') goto yy1903;
- goto yy11;
+ if (yych == 'w') goto yy1910;
+ goto yy87;
yy1819:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 594 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I8X16AllTrue); }
-#line 9310 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'o') goto yy1911;
+ goto yy87;
+yy1820:
+ yych = *++cursor_;
+ if (yych == 'i') goto yy1912;
+ goto yy87;
yy1821:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 's') goto yy1913;
+ goto yy87;
+yy1822:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 590 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I8X16AnyTrue); }
-#line 9318 "src/prebuilt/wast-lexer-gen.cc"
-yy1823:
- yych = *++cursor_;
- if (yych == 'l') goto yy1904;
- goto yy11;
+#line 332 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I32Extend8S); }
+#line 9714 "src/prebuilt/wast-lexer-gen.cc"
yy1824:
yych = *++cursor_;
- if (yych == 'l') goto yy1905;
- goto yy11;
+ if (yych == 'e') goto yy1915;
+ goto yy87;
yy1825:
yych = *++cursor_;
- if (yych == 'r') goto yy1906;
- goto yy11;
+ if (yych == '_') goto yy1916;
+ goto yy87;
yy1826:
yych = *++cursor_;
- if (yych == 'd') goto yy1907;
- goto yy11;
+ if (yych == '_') goto yy1917;
+ goto yy87;
yy1827:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 589 "src/wast-lexer.cc"
- { RETURN_OPCODE(Ternary, V128BitSelect); }
-#line 9342 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == '3') goto yy1918;
+ if (yych == '6') goto yy1919;
+ goto yy87;
+yy1828:
+ yych = *++cursor_;
+ if (yych == 'a') goto yy1920;
+ goto yy87;
yy1829:
yych = *++cursor_;
- if (yych == 'o') goto yy1908;
- goto yy11;
+ if (yych == '_') goto yy1921;
+ goto yy87;
yy1830:
yych = *++cursor_;
- if (yych == 'd') goto yy1909;
- goto yy11;
+ if (yych == '3') goto yy1922;
+ if (yych == '6') goto yy1923;
+ goto yy87;
yy1831:
yych = *++cursor_;
- if (yych == 'r') goto yy1911;
- goto yy11;
+ if (yych == 'a') goto yy1924;
+ goto yy87;
yy1832:
yych = *++cursor_;
- if (yych == 'a') goto yy1912;
- goto yy11;
+ if (yych == 'e') goto yy1925;
+ goto yy87;
yy1833:
yych = *++cursor_;
- if (yych == 'l') goto yy1913;
- goto yy11;
+ if (yych == 'e') goto yy1927;
+ goto yy87;
yy1834:
yych = *++cursor_;
- if (yych == '3') goto yy1914;
- if (yych == '6') goto yy1915;
- goto yy11;
+ if (yych == '_') goto yy1929;
+ goto yy87;
yy1835:
yych = *++cursor_;
- if (yych == '3') goto yy1916;
- if (yych == '6') goto yy1917;
- goto yy11;
+ if (yych == '_') goto yy1930;
+ goto yy87;
yy1836:
yych = *++cursor_;
- if (yych == '/') goto yy1918;
- goto yy11;
+ if (yych == 'a') goto yy1931;
+ goto yy87;
yy1837:
yych = *++cursor_;
- if (yych == '/') goto yy1919;
- goto yy11;
+ if (yych == 'a') goto yy1932;
+ goto yy87;
yy1838:
yych = *++cursor_;
- if (yych == '/') goto yy1920;
- goto yy11;
+ if (yych == 'w') goto yy1933;
+ goto yy87;
yy1839:
yych = *++cursor_;
- if (yych == 'a') goto yy1921;
- goto yy11;
+ if (yych == 'o') goto yy1934;
+ goto yy87;
yy1840:
yych = *++cursor_;
- if (yych == 'a') goto yy1922;
- goto yy11;
+ if (yych == 'i') goto yy1935;
+ goto yy87;
yy1841:
yych = *++cursor_;
- if (yych == '3') goto yy1923;
- if (yych == '6') goto yy1924;
- goto yy11;
+ if (yych == 's') goto yy1936;
+ goto yy87;
yy1842:
yych = *++cursor_;
- if (yych == '3') goto yy1925;
- if (yych == '6') goto yy1926;
- goto yy11;
+ if (yych == 's') goto yy1938;
+ goto yy87;
yy1843:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 440 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F64PromoteF32); }
-#line 9410 "src/prebuilt/wast-lexer-gen.cc"
+#line 334 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I64Extend8S); }
+#line 9800 "src/prebuilt/wast-lexer-gen.cc"
yy1845:
yych = *++cursor_;
- if (yych == '/') goto yy1927;
- goto yy11;
+ if (yych == '2') goto yy1940;
+ goto yy87;
yy1846:
yych = *++cursor_;
- if (yych == '/') goto yy1928;
- goto yy11;
+ if (yych == 'i') goto yy1941;
+ goto yy87;
yy1847:
yych = *++cursor_;
- if (yych == '/') goto yy1929;
- goto yy11;
+ if (yych == 'i') goto yy1942;
+ goto yy87;
yy1848:
yych = *++cursor_;
- if (yych == 'a') goto yy1930;
- goto yy11;
+ if (yych == 'e') goto yy1943;
+ goto yy87;
yy1849:
yych = *++cursor_;
- if (yych == 'a') goto yy1931;
- goto yy11;
+ if (yych == '_') goto yy1944;
+ goto yy87;
yy1850:
yych = *++cursor_;
- if (yych == 'a') goto yy1932;
- goto yy11;
+ if (yych == '_') goto yy1945;
+ goto yy87;
yy1851:
yych = *++cursor_;
- if (yych == 'a') goto yy1933;
- goto yy11;
+ if (yych == '3') goto yy1946;
+ if (yych == '6') goto yy1947;
+ goto yy87;
yy1852:
yych = *++cursor_;
- if (yych == 'a') goto yy1934;
- goto yy11;
+ if (yych == 'a') goto yy1948;
+ goto yy87;
yy1853:
yych = *++cursor_;
- if (yych == 'a') goto yy1935;
- goto yy11;
+ if (yych == '_') goto yy1949;
+ goto yy87;
yy1854:
yych = *++cursor_;
- if (yych <= '0') {
- if (yych <= '"') {
- if (yych == '!') goto yy10;
- } else {
- if (yych <= '\'') goto yy10;
- if (yych >= '*') goto yy10;
- }
- } else {
- if (yych <= '8') {
- if (yych <= '1') goto yy1936;
- if (yych <= '7') goto yy10;
- goto yy1937;
- } else {
- if (yych == ';') goto yy1855;
- if (yych <= '~') goto yy10;
- }
- }
+ if (yych == '3') goto yy1950;
+ if (yych == '6') goto yy1951;
+ goto yy87;
yy1855:
-#line 463 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicLoad, I32AtomicLoad); }
-#line 9469 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'a') goto yy1952;
+ goto yy87;
yy1856:
yych = *++cursor_;
- switch (yych) {
- case 'a': goto yy1938;
- case 'c': goto yy1939;
- case 'o': goto yy1940;
- case 's': goto yy1941;
- case 'x': goto yy1942;
- default: goto yy11;
- }
+ if (yych == 'e') goto yy1953;
+ goto yy87;
yy1857:
yych = *++cursor_;
- if (yych == '6') goto yy1943;
- goto yy11;
+ if (yych == 'e') goto yy1955;
+ goto yy87;
yy1858:
yych = *++cursor_;
- if (yych == '_') goto yy1944;
- goto yy11;
+ if (yych == '_') goto yy1957;
+ goto yy87;
yy1859:
yych = *++cursor_;
- if (yych == 'e') goto yy1945;
- goto yy11;
+ if (yych == '_') goto yy1958;
+ goto yy87;
yy1860:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 460 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicWait, I32AtomicWait); }
-#line 9499 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'a') goto yy1959;
+ goto yy87;
+yy1861:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy1960;
+ goto yy87;
yy1862:
yych = *++cursor_;
- if (yych == '/') goto yy1947;
- goto yy11;
+ if (yych == 'e') goto yy1961;
+ goto yy87;
yy1863:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 416 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32TruncSF32); }
-#line 9511 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'e') goto yy1963;
+ goto yy87;
+yy1864:
+ yych = *++cursor_;
+ if (yych == '_') goto yy1965;
+ goto yy87;
yy1865:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 418 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32TruncSF64); }
-#line 9519 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == '_') goto yy1966;
+ goto yy87;
+yy1866:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy1967;
+ goto yy87;
yy1867:
yych = *++cursor_;
- if (yych == '/') goto yy1948;
- goto yy11;
+ if (yych == 'n') goto yy1968;
+ goto yy87;
yy1868:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 't') goto yy1969;
+ goto yy87;
+yy1869:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 420 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32TruncUF32); }
-#line 9531 "src/prebuilt/wast-lexer-gen.cc"
-yy1870:
+#line 549 "src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdShuffleOp, V8X16Shuffle); }
+#line 9906 "src/prebuilt/wast-lexer-gen.cc"
+yy1871:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 422 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32TruncUF64); }
-#line 9539 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'i') goto yy1971;
+ goto yy87;
yy1872:
- yych = *++cursor_;
- if (yych == '/') goto yy1949;
- goto yy11;
-yy1873:
- yych = *++cursor_;
- if (yych == 'a') goto yy1950;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 733 "src/wast-lexer.cc"
+ { RETURN(AssertInvalid); }
+#line 9918 "src/prebuilt/wast-lexer-gen.cc"
yy1874:
yych = *++cursor_;
- if (yych == 'a') goto yy1951;
- goto yy11;
+ if (yych == 'e') goto yy1972;
+ goto yy87;
yy1875:
yych = *++cursor_;
- if (yych == '3') goto yy1952;
- goto yy11;
+ if (yych == 'a') goto yy1973;
+ if (yych == 'c') goto yy1974;
+ goto yy87;
yy1876:
yych = *++cursor_;
- if (yych == '3') goto yy1953;
- goto yy11;
+ if (yych == 'b') goto yy1975;
+ goto yy87;
yy1877:
- yych = *++cursor_;
- if (yych <= '1') {
- if (yych <= '"') {
- if (yych == '!') goto yy10;
- } else {
- if (yych <= '\'') goto yy10;
- if (yych <= ')') goto yy1878;
- if (yych <= '0') goto yy10;
- goto yy1954;
- }
- } else {
- if (yych <= '8') {
- if (yych == '3') goto yy1955;
- if (yych <= '7') goto yy10;
- goto yy1956;
- } else {
- if (yych == ';') goto yy1878;
- if (yych <= '~') goto yy10;
- }
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-yy1878:
-#line 464 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicLoad, I64AtomicLoad); }
-#line 9584 "src/prebuilt/wast-lexer-gen.cc"
+#line 454 "src/wast-lexer.cc"
+ { RETURN_OPCODE0(MemorySize); }
+#line 9939 "src/prebuilt/wast-lexer-gen.cc"
yy1879:
yych = *++cursor_;
- switch (yych) {
- case 'a': goto yy1957;
- case 'c': goto yy1958;
- case 'o': goto yy1959;
- case 's': goto yy1960;
- case 'x': goto yy1961;
- default: goto yy11;
- }
+ if (yych == '2') goto yy1976;
+ goto yy87;
yy1880:
yych = *++cursor_;
- if (yych == '6') goto yy1962;
- goto yy11;
+ if (yych == '4') goto yy1977;
+ goto yy87;
yy1881:
yych = *++cursor_;
- if (yych == '2') goto yy1963;
- goto yy11;
+ if (yych == 'i') goto yy1978;
+ goto yy87;
yy1882:
yych = *++cursor_;
- if (yych == '_') goto yy1964;
- goto yy11;
+ if (yych == 'i') goto yy1979;
+ goto yy87;
yy1883:
- yych = *++cursor_;
- if (yych == 'e') goto yy1965;
- goto yy11;
-yy1884:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 461 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicWait, I64AtomicWait); }
-#line 9618 "src/prebuilt/wast-lexer-gen.cc"
-yy1886:
- yych = *++cursor_;
- if (yych == '2') goto yy1967;
- goto yy11;
+#line 696 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F32DemoteF64); }
+#line 9963 "src/prebuilt/wast-lexer-gen.cc"
+yy1885:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 441 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F32DemoteF64); }
+#line 9971 "src/prebuilt/wast-lexer-gen.cc"
yy1887:
yych = *++cursor_;
- if (yych == '2') goto yy1969;
- goto yy11;
+ if (yych == 't') goto yy1980;
+ goto yy87;
yy1888:
yych = *++cursor_;
- if (yych == '/') goto yy1971;
- goto yy11;
+ if (yych == 'i') goto yy1981;
+ goto yy87;
yy1889:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 417 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64TruncSF32); }
-#line 9638 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'l') goto yy1982;
+ goto yy87;
+yy1890:
+ yych = *++cursor_;
+ if (yych == 'l') goto yy1983;
+ goto yy87;
yy1891:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 419 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64TruncSF64); }
-#line 9646 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == '2') goto yy1984;
+ goto yy87;
+yy1892:
+ yych = *++cursor_;
+ if (yych == '4') goto yy1985;
+ goto yy87;
yy1893:
yych = *++cursor_;
- if (yych == '/') goto yy1972;
- goto yy11;
+ if (yych == 'i') goto yy1986;
+ goto yy87;
yy1894:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 421 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64TruncUF32); }
-#line 9658 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'i') goto yy1987;
+ goto yy87;
+yy1895:
+ yych = *++cursor_;
+ if (yych == '2') goto yy1988;
+ goto yy87;
yy1896:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 423 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64TruncUF64); }
-#line 9666 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == '2') goto yy1990;
+ goto yy87;
+yy1897:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1992;
+ goto yy87;
yy1898:
yych = *++cursor_;
- if (yych == '/') goto yy1973;
- goto yy11;
+ if (yych == 'i') goto yy1993;
+ goto yy87;
yy1899:
yych = *++cursor_;
- if (yych == 'a') goto yy1974;
- goto yy11;
+ if (yych == 'l') goto yy1994;
+ goto yy87;
yy1900:
yych = *++cursor_;
- if (yych == 'a') goto yy1975;
- goto yy11;
+ if (yych == 'l') goto yy1995;
+ goto yy87;
yy1901:
yych = *++cursor_;
- if (yych == '6') goto yy1976;
- goto yy11;
+ if (yych == 'r') goto yy1996;
+ goto yy87;
yy1902:
- yych = *++cursor_;
- if (yych == '6') goto yy1977;
- goto yy11;
-yy1903:
- yych = *++cursor_;
- if (yych == 'a') goto yy1978;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 595 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I16X8AllTrue); }
+#line 10039 "src/prebuilt/wast-lexer-gen.cc"
yy1904:
- yych = *++cursor_;
- if (yych == 'a') goto yy1979;
- goto yy11;
-yy1905:
- yych = *++cursor_;
- if (yych == 'a') goto yy1980;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 591 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I16X8AnyTrue); }
+#line 10047 "src/prebuilt/wast-lexer-gen.cc"
yy1906:
yych = *++cursor_;
- if (yych == 'a') goto yy1981;
- goto yy11;
+ if (yych == 'l') goto yy1997;
+ goto yy87;
yy1907:
yych = *++cursor_;
- if (yych == 'i') goto yy1982;
- goto yy11;
+ if (yych == 'l') goto yy1998;
+ goto yy87;
yy1908:
yych = *++cursor_;
- if (yych == 'n') goto yy1983;
- goto yy11;
+ if (yych == 'r') goto yy1999;
+ goto yy87;
yy1909:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'd') goto yy2000;
+ goto yy87;
+yy1910:
+ yych = *++cursor_;
+ if (yych <= '0') {
+ if (yych == '.') goto yy2002;
+ goto yy87;
+ } else {
+ if (yych <= '1') goto yy2003;
+ if (yych == '8') goto yy2004;
+ goto yy87;
}
-#line 691 "src/wast-lexer.cc"
- { RETURN(AssertMalformed); }
-#line 9718 "src/prebuilt/wast-lexer-gen.cc"
yy1911:
yych = *++cursor_;
- if (yych == 'i') goto yy1985;
- goto yy11;
+ if (yych == 'r') goto yy2005;
+ goto yy87;
yy1912:
yych = *++cursor_;
- if (yych == 'n') goto yy1986;
- goto yy11;
+ if (yych == 't') goto yy2006;
+ goto yy87;
yy1913:
- yych = *++cursor_;
- if (yych == 'e') goto yy1987;
- goto yy11;
-yy1914:
- yych = *++cursor_;
- if (yych == '2') goto yy1989;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 333 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I32Extend16S); }
+#line 10089 "src/prebuilt/wast-lexer-gen.cc"
yy1915:
yych = *++cursor_;
- if (yych == '4') goto yy1991;
- goto yy11;
+ if (yych == 't') goto yy2008;
+ goto yy87;
yy1916:
yych = *++cursor_;
- if (yych == '2') goto yy1993;
- goto yy11;
+ if (yych == 's') goto yy2009;
+ if (yych == 'u') goto yy2011;
+ goto yy87;
yy1917:
yych = *++cursor_;
- if (yych == '4') goto yy1995;
- goto yy11;
+ if (yych == 's') goto yy2013;
+ if (yych == 'u') goto yy2015;
+ goto yy87;
yy1918:
yych = *++cursor_;
- if (yych == 'i') goto yy1997;
- goto yy11;
+ if (yych == '2') goto yy2017;
+ goto yy87;
yy1919:
yych = *++cursor_;
- if (yych == 'i') goto yy1998;
- goto yy11;
+ if (yych == '4') goto yy2019;
+ goto yy87;
yy1920:
yych = *++cursor_;
- if (yych == 'i') goto yy1999;
- goto yy11;
+ if (yych == 't') goto yy2021;
+ goto yy87;
yy1921:
yych = *++cursor_;
- if (yych == 'n') goto yy2000;
- goto yy11;
+ if (yych == 'f') goto yy2022;
+ goto yy87;
yy1922:
yych = *++cursor_;
- if (yych == 'n') goto yy2001;
- goto yy11;
+ if (yych == '2') goto yy2023;
+ goto yy87;
yy1923:
yych = *++cursor_;
- if (yych == '2') goto yy2002;
- goto yy11;
+ if (yych == '4') goto yy2025;
+ goto yy87;
yy1924:
yych = *++cursor_;
- if (yych == '4') goto yy2004;
- goto yy11;
+ if (yych == 't') goto yy2027;
+ goto yy87;
yy1925:
- yych = *++cursor_;
- if (yych == '2') goto yy2006;
- goto yy11;
-yy1926:
- yych = *++cursor_;
- if (yych == '4') goto yy2008;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 596 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I32X4AllTrue); }
+#line 10139 "src/prebuilt/wast-lexer-gen.cc"
yy1927:
- yych = *++cursor_;
- if (yych == 'i') goto yy2010;
- goto yy11;
-yy1928:
- yych = *++cursor_;
- if (yych == 'i') goto yy2011;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 592 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I32X4AnyTrue); }
+#line 10147 "src/prebuilt/wast-lexer-gen.cc"
yy1929:
yych = *++cursor_;
- if (yych == 'i') goto yy2012;
- goto yy11;
+ if (yych == 'l') goto yy2028;
+ goto yy87;
yy1930:
yych = *++cursor_;
- if (yych == 'n') goto yy2013;
- goto yy11;
+ if (yych == 'l') goto yy2029;
+ goto yy87;
yy1931:
yych = *++cursor_;
- if (yych == 'n') goto yy2014;
- goto yy11;
+ if (yych == 't') goto yy2030;
+ goto yy87;
yy1932:
yych = *++cursor_;
- if (yych == 't') goto yy2015;
- goto yy11;
+ if (yych == 'd') goto yy2031;
+ goto yy87;
yy1933:
yych = *++cursor_;
- if (yych == 'n') goto yy2016;
- goto yy11;
+ switch (yych) {
+ case '.': goto yy2033;
+ case '1': goto yy2034;
+ case '3': goto yy2035;
+ case '8': goto yy2036;
+ default: goto yy87;
+ }
yy1934:
yych = *++cursor_;
- if (yych == 'n') goto yy2017;
- goto yy11;
+ if (yych == 'r') goto yy2037;
+ goto yy87;
yy1935:
yych = *++cursor_;
- if (yych == 't') goto yy2018;
- goto yy11;
+ if (yych == 't') goto yy2038;
+ goto yy87;
yy1936:
- yych = *++cursor_;
- if (yych == '6') goto yy2019;
- goto yy11;
-yy1937:
- yych = *++cursor_;
- if (yych == '_') goto yy2020;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 335 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I64Extend16S); }
+#line 10188 "src/prebuilt/wast-lexer-gen.cc"
yy1938:
- yych = *++cursor_;
- if (yych == 'd') goto yy2021;
- if (yych == 'n') goto yy2022;
- goto yy11;
-yy1939:
- yych = *++cursor_;
- if (yych == 'm') goto yy2023;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 336 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I64Extend32S); }
+#line 10196 "src/prebuilt/wast-lexer-gen.cc"
yy1940:
yych = *++cursor_;
- if (yych == 'r') goto yy2024;
- goto yy11;
+ if (yych == '_') goto yy2040;
+ goto yy87;
yy1941:
yych = *++cursor_;
- if (yych == 'u') goto yy2026;
- goto yy11;
+ if (yych == '3') goto yy2041;
+ goto yy87;
yy1942:
yych = *++cursor_;
- if (yych == 'c') goto yy2027;
- if (yych == 'o') goto yy2028;
- goto yy11;
+ if (yych == '3') goto yy2042;
+ goto yy87;
yy1943:
yych = *++cursor_;
- if (yych == '_') goto yy2029;
- goto yy11;
+ if (yych == 't') goto yy2043;
+ goto yy87;
yy1944:
yych = *++cursor_;
- if (yych == 'u') goto yy2030;
- goto yy11;
+ if (yych == 's') goto yy2044;
+ if (yych == 'u') goto yy2046;
+ goto yy87;
yy1945:
yych = *++cursor_;
- if (yych <= '0') {
- if (yych <= '"') {
- if (yych == '!') goto yy10;
- } else {
- if (yych <= '\'') goto yy10;
- if (yych >= '*') goto yy10;
- }
- } else {
- if (yych <= '8') {
- if (yych <= '1') goto yy2031;
- if (yych <= '7') goto yy10;
- goto yy2032;
- } else {
- if (yych == ';') goto yy1946;
- if (yych <= '~') goto yy10;
- }
- }
+ if (yych == 's') goto yy2048;
+ if (yych == 'u') goto yy2050;
+ goto yy87;
yy1946:
-#line 470 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicStore, I32AtomicStore); }
-#line 9879 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '2') goto yy2052;
+ goto yy87;
yy1947:
yych = *++cursor_;
- if (yych == 'f') goto yy2034;
- goto yy11;
+ if (yych == '4') goto yy2054;
+ goto yy87;
yy1948:
yych = *++cursor_;
- if (yych == 'f') goto yy2035;
- goto yy11;
+ if (yych == 't') goto yy2056;
+ goto yy87;
yy1949:
yych = *++cursor_;
- if (yych == 'f') goto yy2036;
- goto yy11;
+ if (yych == 'f') goto yy2057;
+ goto yy87;
yy1950:
yych = *++cursor_;
- if (yych == 'n') goto yy2037;
- goto yy11;
+ if (yych == '2') goto yy2058;
+ goto yy87;
yy1951:
yych = *++cursor_;
- if (yych == 'n') goto yy2038;
- goto yy11;
+ if (yych == '4') goto yy2060;
+ goto yy87;
yy1952:
yych = *++cursor_;
- if (yych == '2') goto yy2039;
- goto yy11;
+ if (yych == 't') goto yy2062;
+ goto yy87;
yy1953:
- yych = *++cursor_;
- if (yych == '2') goto yy2040;
- goto yy11;
-yy1954:
- yych = *++cursor_;
- if (yych == '6') goto yy2041;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 597 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I64X2AllTrue); }
+#line 10258 "src/prebuilt/wast-lexer-gen.cc"
yy1955:
- yych = *++cursor_;
- if (yych == '2') goto yy2042;
- goto yy11;
-yy1956:
- yych = *++cursor_;
- if (yych == '_') goto yy2043;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 593 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I64X2AnyTrue); }
+#line 10266 "src/prebuilt/wast-lexer-gen.cc"
yy1957:
yych = *++cursor_;
- if (yych == 'd') goto yy2044;
- if (yych == 'n') goto yy2045;
- goto yy11;
+ if (yych == 'l') goto yy2063;
+ goto yy87;
yy1958:
yych = *++cursor_;
- if (yych == 'm') goto yy2046;
- goto yy11;
+ if (yych == 'l') goto yy2064;
+ goto yy87;
yy1959:
yych = *++cursor_;
- if (yych == 'r') goto yy2047;
- goto yy11;
+ if (yych == 't') goto yy2065;
+ goto yy87;
yy1960:
yych = *++cursor_;
- if (yych == 'u') goto yy2049;
- goto yy11;
+ if (yych == 'r') goto yy2066;
+ goto yy87;
yy1961:
- yych = *++cursor_;
- if (yych == 'c') goto yy2050;
- if (yych == 'o') goto yy2051;
- goto yy11;
-yy1962:
- yych = *++cursor_;
- if (yych == '_') goto yy2052;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 594 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I8X16AllTrue); }
+#line 10290 "src/prebuilt/wast-lexer-gen.cc"
yy1963:
- yych = *++cursor_;
- if (yych == '_') goto yy2053;
- goto yy11;
-yy1964:
- yych = *++cursor_;
- if (yych == 'u') goto yy2054;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 590 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I8X16AnyTrue); }
+#line 10298 "src/prebuilt/wast-lexer-gen.cc"
yy1965:
yych = *++cursor_;
- if (yych <= '1') {
- if (yych <= '"') {
- if (yych == '!') goto yy10;
- } else {
- if (yych <= '\'') goto yy10;
- if (yych <= ')') goto yy1966;
- if (yych <= '0') goto yy10;
- goto yy2055;
- }
- } else {
- if (yych <= '8') {
- if (yych == '3') goto yy2056;
- if (yych <= '7') goto yy10;
- goto yy2057;
- } else {
- if (yych == ';') goto yy1966;
- if (yych <= '~') goto yy10;
- }
- }
+ if (yych == 'l') goto yy2067;
+ goto yy87;
yy1966:
-#line 471 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicStore, I64AtomicStore); }
-#line 9978 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'l') goto yy2068;
+ goto yy87;
yy1967:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 413 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64ExtendSI32); }
-#line 9986 "src/prebuilt/wast-lexer-gen.cc"
-yy1969:
+ if (yych == 'r') goto yy2069;
+ goto yy87;
+yy1968:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'd') goto yy2070;
+ goto yy87;
+yy1969:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 414 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64ExtendUI32); }
-#line 9994 "src/prebuilt/wast-lexer-gen.cc"
+#line 589 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Ternary, V128BitSelect); }
+#line 10322 "src/prebuilt/wast-lexer-gen.cc"
yy1971:
yych = *++cursor_;
- if (yych == 'f') goto yy2059;
- goto yy11;
+ if (yych == 'o') goto yy2071;
+ goto yy87;
yy1972:
yych = *++cursor_;
- if (yych == 'f') goto yy2060;
- goto yy11;
+ if (yych == 'd') goto yy2072;
+ goto yy87;
yy1973:
yych = *++cursor_;
- if (yych == 'f') goto yy2061;
- goto yy11;
+ if (yych == 'r') goto yy2074;
+ goto yy87;
yy1974:
yych = *++cursor_;
- if (yych == 'n') goto yy2062;
- goto yy11;
+ if (yych == 'a') goto yy2075;
+ goto yy87;
yy1975:
yych = *++cursor_;
- if (yych == 'n') goto yy2063;
- goto yy11;
+ if (yych == 'l') goto yy2076;
+ goto yy87;
yy1976:
yych = *++cursor_;
- if (yych == '4') goto yy2064;
- goto yy11;
+ if (yych == '_') goto yy2077;
+ goto yy87;
yy1977:
yych = *++cursor_;
- if (yych == '4') goto yy2065;
- goto yy11;
+ if (yych == '_') goto yy2078;
+ goto yy87;
yy1978:
yych = *++cursor_;
- if (yych == 't') goto yy2066;
- goto yy11;
+ if (yych == '3') goto yy2079;
+ if (yych == '6') goto yy2080;
+ goto yy87;
yy1979:
yych = *++cursor_;
- if (yych == 'n') goto yy2067;
- goto yy11;
+ if (yych == '3') goto yy2081;
+ if (yych == '6') goto yy2082;
+ goto yy87;
yy1980:
yych = *++cursor_;
- if (yych == 'n') goto yy2068;
- goto yy11;
+ if (yych == '/') goto yy2083;
+ if (yych == '_') goto yy2084;
+ goto yy87;
yy1981:
yych = *++cursor_;
- if (yych == 't') goto yy2069;
- goto yy11;
+ if (yych == '3') goto yy2085;
+ goto yy87;
yy1982:
yych = *++cursor_;
- if (yych == 'r') goto yy2070;
- goto yy11;
+ if (yych == 'a') goto yy2086;
+ goto yy87;
yy1983:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 698 "src/wast-lexer.cc"
- { RETURN(AssertExhaustion); }
-#line 10050 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'a') goto yy2087;
+ goto yy87;
+yy1984:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2088;
+ goto yy87;
yy1985:
yych = *++cursor_;
- if (yych == 't') goto yy2071;
- goto yy11;
+ if (yych == '_') goto yy2089;
+ goto yy87;
yy1986:
yych = *++cursor_;
- if (yych == 'o') goto yy2072;
- goto yy11;
+ if (yych == '3') goto yy2090;
+ if (yych == '6') goto yy2091;
+ goto yy87;
yy1987:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == '3') goto yy2092;
+ if (yych == '6') goto yy2093;
+ goto yy87;
+yy1988:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 693 "src/wast-lexer.cc"
- { RETURN(AssertUnlinkable); }
-#line 10066 "src/prebuilt/wast-lexer-gen.cc"
-yy1989:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 695 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F64PromoteF32); }
+#line 10403 "src/prebuilt/wast-lexer-gen.cc"
+yy1990:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 432 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F32ConvertSI32); }
-#line 10074 "src/prebuilt/wast-lexer-gen.cc"
-yy1991:
+#line 440 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F64PromoteF32); }
+#line 10411 "src/prebuilt/wast-lexer-gen.cc"
+yy1992:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 434 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F32ConvertSI64); }
-#line 10082 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == '/') goto yy2094;
+ if (yych == '_') goto yy2095;
+ goto yy87;
yy1993:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 436 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F32ConvertUI32); }
-#line 10090 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == '6') goto yy2096;
+ goto yy87;
+yy1994:
+ yych = *++cursor_;
+ if (yych == 'a') goto yy2097;
+ goto yy87;
yy1995:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 438 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F32ConvertUI64); }
-#line 10098 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'a') goto yy2098;
+ goto yy87;
+yy1996:
+ yych = *++cursor_;
+ if (yych == 'a') goto yy2099;
+ goto yy87;
yy1997:
yych = *++cursor_;
- if (yych == '3') goto yy2073;
- goto yy11;
+ if (yych == 'a') goto yy2100;
+ goto yy87;
yy1998:
yych = *++cursor_;
- if (yych == '3') goto yy2074;
- goto yy11;
+ if (yych == 'a') goto yy2101;
+ goto yy87;
yy1999:
yych = *++cursor_;
- if (yych == '3') goto yy2075;
- goto yy11;
+ if (yych == 'a') goto yy2102;
+ goto yy87;
yy2000:
- yych = *++cursor_;
- if (yych == 'e') goto yy2076;
- goto yy11;
+ ++cursor_;
+ if ((yych = *cursor_) <= '0') {
+ if (yych <= '"') {
+ if (yych == '!') goto yy86;
+ } else {
+ if (yych <= '\'') goto yy86;
+ if (yych >= '*') goto yy86;
+ }
+ } else {
+ if (yych <= '8') {
+ if (yych <= '1') goto yy2103;
+ if (yych <= '7') goto yy86;
+ goto yy2104;
+ } else {
+ if (yych == ';') goto yy2001;
+ if (yych <= '~') goto yy86;
+ }
+ }
yy2001:
- yych = *++cursor_;
- if (yych == 'e') goto yy2078;
- goto yy11;
+#line 463 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicLoad, I32AtomicLoad); }
+#line 10467 "src/prebuilt/wast-lexer-gen.cc"
yy2002:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ switch (yych) {
+ case 'a': goto yy2105;
+ case 'c': goto yy2106;
+ case 'o': goto yy2107;
+ case 's': goto yy2108;
+ case 'x': goto yy2109;
+ default: goto yy87;
}
-#line 433 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F64ConvertSI32); }
-#line 10126 "src/prebuilt/wast-lexer-gen.cc"
+yy2003:
+ yych = *++cursor_;
+ if (yych == '6') goto yy2110;
+ goto yy87;
yy2004:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 435 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F64ConvertSI64); }
-#line 10134 "src/prebuilt/wast-lexer-gen.cc"
-yy2006:
+ if (yych == '.') goto yy2111;
+ goto yy87;
+yy2005:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'e') goto yy2112;
+ goto yy87;
+yy2006:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 437 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F64ConvertUI32); }
-#line 10142 "src/prebuilt/wast-lexer-gen.cc"
+#line 460 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicWait, I32AtomicWait); }
+#line 10497 "src/prebuilt/wast-lexer-gen.cc"
yy2008:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == '/') goto yy2114;
+ if (yych == '_') goto yy2115;
+ goto yy87;
+yy2009:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 439 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F64ConvertUI64); }
-#line 10150 "src/prebuilt/wast-lexer-gen.cc"
-yy2010:
- yych = *++cursor_;
- if (yych == '6') goto yy2080;
- goto yy11;
+#line 416 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncF32S); }
+#line 10510 "src/prebuilt/wast-lexer-gen.cc"
yy2011:
- yych = *++cursor_;
- if (yych == '6') goto yy2081;
- goto yy11;
-yy2012:
- yych = *++cursor_;
- if (yych == '6') goto yy2082;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 420 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncF32U); }
+#line 10518 "src/prebuilt/wast-lexer-gen.cc"
yy2013:
- yych = *++cursor_;
- if (yych == 'e') goto yy2083;
- goto yy11;
-yy2014:
- yych = *++cursor_;
- if (yych == 'e') goto yy2085;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 418 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncF64S); }
+#line 10526 "src/prebuilt/wast-lexer-gen.cc"
yy2015:
- yych = *++cursor_;
- if (yych == 'e') goto yy2087;
- goto yy11;
-yy2016:
- yych = *++cursor_;
- if (yych == 'e') goto yy2088;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 422 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncF64U); }
+#line 10534 "src/prebuilt/wast-lexer-gen.cc"
yy2017:
- yych = *++cursor_;
- if (yych == 'e') goto yy2089;
- goto yy11;
-yy2018:
- yych = *++cursor_;
- if (yych == 'e') goto yy2091;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 679 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncF32S); }
+#line 10542 "src/prebuilt/wast-lexer-gen.cc"
yy2019:
- yych = *++cursor_;
- if (yych == '_') goto yy2092;
- goto yy11;
-yy2020:
- yych = *++cursor_;
- if (yych == 'u') goto yy2093;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 681 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncF64S); }
+#line 10550 "src/prebuilt/wast-lexer-gen.cc"
yy2021:
yych = *++cursor_;
- if (yych == 'd') goto yy2095;
- goto yy11;
+ if (yych == '/') goto yy2116;
+ goto yy87;
yy2022:
yych = *++cursor_;
- if (yych == 'd') goto yy2097;
- goto yy11;
+ if (yych == '3') goto yy2117;
+ if (yych == '6') goto yy2118;
+ goto yy87;
yy2023:
- yych = *++cursor_;
- if (yych == 'p') goto yy2099;
- goto yy11;
-yy2024:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 498 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmwOr); }
-#line 10214 "src/prebuilt/wast-lexer-gen.cc"
-yy2026:
- yych = *++cursor_;
- if (yych == 'b') goto yy2100;
- goto yy11;
+#line 683 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncF32U); }
+#line 10567 "src/prebuilt/wast-lexer-gen.cc"
+yy2025:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 685 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncF64U); }
+#line 10575 "src/prebuilt/wast-lexer-gen.cc"
yy2027:
yych = *++cursor_;
- if (yych == 'h') goto yy2102;
- goto yy11;
+ if (yych == '/') goto yy2119;
+ goto yy87;
yy2028:
yych = *++cursor_;
- if (yych == 'r') goto yy2103;
- goto yy11;
+ if (yych == 'a') goto yy2120;
+ goto yy87;
yy2029:
yych = *++cursor_;
- if (yych == 'u') goto yy2105;
- goto yy11;
+ if (yych == 'a') goto yy2121;
+ goto yy87;
yy2030:
yych = *++cursor_;
- if (yych == '.') goto yy2106;
- goto yy11;
+ if (yych == '_') goto yy2122;
+ goto yy87;
yy2031:
- yych = *++cursor_;
- if (yych == '6') goto yy2107;
- goto yy11;
+ ++cursor_;
+ if ((yych = *cursor_) <= '1') {
+ if (yych <= '"') {
+ if (yych == '!') goto yy86;
+ } else {
+ if (yych <= '\'') goto yy86;
+ if (yych <= ')') goto yy2032;
+ if (yych <= '0') goto yy86;
+ goto yy2123;
+ }
+ } else {
+ if (yych <= '8') {
+ if (yych == '3') goto yy2124;
+ if (yych <= '7') goto yy86;
+ goto yy2125;
+ } else {
+ if (yych == ';') goto yy2032;
+ if (yych <= '~') goto yy86;
+ }
+ }
yy2032:
+#line 464 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicLoad, I64AtomicLoad); }
+#line 10616 "src/prebuilt/wast-lexer-gen.cc"
+yy2033:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ switch (yych) {
+ case 'a': goto yy2126;
+ case 'c': goto yy2127;
+ case 'o': goto yy2128;
+ case 's': goto yy2129;
+ case 'x': goto yy2130;
+ default: goto yy87;
}
-#line 472 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicStore, I32AtomicStore8); }
-#line 10246 "src/prebuilt/wast-lexer-gen.cc"
yy2034:
yych = *++cursor_;
- if (yych == '3') goto yy2109;
- goto yy11;
+ if (yych == '6') goto yy2131;
+ goto yy87;
yy2035:
yych = *++cursor_;
- if (yych == '3') goto yy2110;
- if (yych == '6') goto yy2111;
- goto yy11;
+ if (yych == '2') goto yy2132;
+ goto yy87;
yy2036:
yych = *++cursor_;
- if (yych == '3') goto yy2112;
- if (yych == '6') goto yy2113;
- goto yy11;
+ if (yych == '.') goto yy2133;
+ goto yy87;
yy2037:
yych = *++cursor_;
- if (yych == 'e') goto yy2114;
- goto yy11;
+ if (yych == 'e') goto yy2134;
+ goto yy87;
yy2038:
- yych = *++cursor_;
- if (yych == 'e') goto yy2116;
- goto yy11;
-yy2039:
- yych = *++cursor_;
- if (yych == 'x') goto yy2118;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 461 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicWait, I64AtomicWait); }
+#line 10650 "src/prebuilt/wast-lexer-gen.cc"
yy2040:
yych = *++cursor_;
- if (yych == 'x') goto yy2119;
- goto yy11;
+ if (yych == 's') goto yy2136;
+ if (yych == 'u') goto yy2138;
+ goto yy87;
yy2041:
yych = *++cursor_;
- if (yych == '_') goto yy2120;
- goto yy11;
+ if (yych == '2') goto yy2140;
+ goto yy87;
yy2042:
yych = *++cursor_;
- if (yych == '_') goto yy2121;
- goto yy11;
+ if (yych == '2') goto yy2142;
+ goto yy87;
yy2043:
yych = *++cursor_;
- if (yych == 'u') goto yy2122;
- goto yy11;
+ if (yych == '/') goto yy2144;
+ if (yych == '_') goto yy2145;
+ goto yy87;
yy2044:
- yych = *++cursor_;
- if (yych == 'd') goto yy2124;
- goto yy11;
-yy2045:
- yych = *++cursor_;
- if (yych == 'd') goto yy2126;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 417 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncF32S); }
+#line 10676 "src/prebuilt/wast-lexer-gen.cc"
yy2046:
- yych = *++cursor_;
- if (yych == 'p') goto yy2128;
- goto yy11;
-yy2047:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 499 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmwOr); }
-#line 10308 "src/prebuilt/wast-lexer-gen.cc"
-yy2049:
- yych = *++cursor_;
- if (yych == 'b') goto yy2129;
- goto yy11;
+#line 421 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncF32U); }
+#line 10684 "src/prebuilt/wast-lexer-gen.cc"
+yy2048:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 419 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncF64S); }
+#line 10692 "src/prebuilt/wast-lexer-gen.cc"
yy2050:
- yych = *++cursor_;
- if (yych == 'h') goto yy2131;
- goto yy11;
-yy2051:
- yych = *++cursor_;
- if (yych == 'r') goto yy2132;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 423 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncF64U); }
+#line 10700 "src/prebuilt/wast-lexer-gen.cc"
yy2052:
- yych = *++cursor_;
- if (yych == 'u') goto yy2134;
- goto yy11;
-yy2053:
- yych = *++cursor_;
- if (yych == 'u') goto yy2135;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 680 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncF32S); }
+#line 10708 "src/prebuilt/wast-lexer-gen.cc"
yy2054:
- yych = *++cursor_;
- if (yych == '.') goto yy2136;
- goto yy11;
-yy2055:
- yych = *++cursor_;
- if (yych == '6') goto yy2137;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 682 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncF64S); }
+#line 10716 "src/prebuilt/wast-lexer-gen.cc"
yy2056:
yych = *++cursor_;
- if (yych == '2') goto yy2139;
- goto yy11;
+ if (yych == '/') goto yy2146;
+ goto yy87;
yy2057:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == '3') goto yy2147;
+ if (yych == '6') goto yy2148;
+ goto yy87;
+yy2058:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 474 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicStore, I64AtomicStore8); }
-#line 10348 "src/prebuilt/wast-lexer-gen.cc"
-yy2059:
- yych = *++cursor_;
- if (yych == '6') goto yy2141;
- goto yy11;
+#line 684 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncF32U); }
+#line 10733 "src/prebuilt/wast-lexer-gen.cc"
yy2060:
- yych = *++cursor_;
- if (yych == '3') goto yy2142;
- if (yych == '6') goto yy2143;
- goto yy11;
-yy2061:
- yych = *++cursor_;
- if (yych == '3') goto yy2144;
- if (yych == '6') goto yy2145;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 686 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncF64U); }
+#line 10741 "src/prebuilt/wast-lexer-gen.cc"
yy2062:
yych = *++cursor_;
- if (yych == 'e') goto yy2146;
- goto yy11;
+ if (yych == '/') goto yy2149;
+ goto yy87;
yy2063:
yych = *++cursor_;
- if (yych == 'e') goto yy2148;
- goto yy11;
+ if (yych == 'a') goto yy2150;
+ goto yy87;
yy2064:
yych = *++cursor_;
- if (yych == 'x') goto yy2150;
- goto yy11;
+ if (yych == 'a') goto yy2151;
+ goto yy87;
yy2065:
yych = *++cursor_;
- if (yych == 'x') goto yy2151;
- goto yy11;
+ if (yych == '_') goto yy2152;
+ goto yy87;
yy2066:
yych = *++cursor_;
- if (yych == 'e') goto yy2152;
- goto yy11;
+ if (yych == 'a') goto yy2153;
+ goto yy87;
yy2067:
yych = *++cursor_;
- if (yych == 'e') goto yy2153;
- goto yy11;
+ if (yych == 'a') goto yy2154;
+ goto yy87;
yy2068:
yych = *++cursor_;
- if (yych == 'e') goto yy2154;
- goto yy11;
+ if (yych == 'a') goto yy2155;
+ goto yy87;
yy2069:
yych = *++cursor_;
- if (yych == 'e') goto yy2156;
- goto yy11;
+ if (yych == 'a') goto yy2156;
+ goto yy87;
yy2070:
yych = *++cursor_;
- if (yych == 'e') goto yy2157;
- goto yy11;
+ if (yych == 'i') goto yy2157;
+ goto yy87;
yy2071:
yych = *++cursor_;
- if (yych == 'h') goto yy2158;
- goto yy11;
+ if (yych == 'n') goto yy2158;
+ goto yy87;
yy2072:
- yych = *++cursor_;
- if (yych == 'n') goto yy2159;
- goto yy11;
-yy2073:
- yych = *++cursor_;
- if (yych == '2') goto yy2160;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 732 "src/wast-lexer.cc"
+ { RETURN(AssertMalformed); }
+#line 10789 "src/prebuilt/wast-lexer-gen.cc"
yy2074:
yych = *++cursor_;
- if (yych == '2') goto yy2162;
- goto yy11;
+ if (yych == 'i') goto yy2160;
+ goto yy87;
yy2075:
yych = *++cursor_;
- if (yych == '2') goto yy2163;
- goto yy11;
+ if (yych == 'n') goto yy2161;
+ goto yy87;
yy2076:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 541 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, F32X4ExtractLane); }
-#line 10426 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'e') goto yy2162;
+ goto yy87;
+yy2077:
+ yych = *++cursor_;
+ if (yych == 's') goto yy2164;
+ if (yych == 'u') goto yy2166;
+ goto yy87;
yy2078:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 547 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, F32X4ReplaceLane); }
-#line 10434 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 's') goto yy2168;
+ if (yych == 'u') goto yy2170;
+ goto yy87;
+yy2079:
+ yych = *++cursor_;
+ if (yych == '2') goto yy2172;
+ goto yy87;
yy2080:
yych = *++cursor_;
- if (yych == '4') goto yy2164;
- goto yy11;
+ if (yych == '4') goto yy2174;
+ goto yy87;
yy2081:
yych = *++cursor_;
- if (yych == '4') goto yy2166;
- goto yy11;
+ if (yych == '2') goto yy2176;
+ goto yy87;
yy2082:
yych = *++cursor_;
- if (yych == '4') goto yy2167;
- goto yy11;
+ if (yych == '4') goto yy2178;
+ goto yy87;
yy2083:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 542 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, F64X2ExtractLane); }
-#line 10454 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'i') goto yy2180;
+ goto yy87;
+yy2084:
+ yych = *++cursor_;
+ if (yych == 'i') goto yy2181;
+ goto yy87;
yy2085:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 548 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, F64X2ReplaceLane); }
-#line 10462 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == '2') goto yy2182;
+ goto yy87;
+yy2086:
+ yych = *++cursor_;
+ if (yych == 'n') goto yy2183;
+ goto yy87;
yy2087:
yych = *++cursor_;
- if (yych == '_') goto yy2168;
- goto yy11;
+ if (yych == 'n') goto yy2184;
+ goto yy87;
yy2088:
yych = *++cursor_;
- if (yych == '_') goto yy2169;
- goto yy11;
+ if (yych == 's') goto yy2185;
+ if (yych == 'u') goto yy2187;
+ goto yy87;
yy2089:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 544 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, I16X8ReplaceLane); }
-#line 10478 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 's') goto yy2189;
+ if (yych == 'u') goto yy2191;
+ goto yy87;
+yy2090:
+ yych = *++cursor_;
+ if (yych == '2') goto yy2193;
+ goto yy87;
yy2091:
yych = *++cursor_;
- if (yych == '_') goto yy2170;
- goto yy11;
+ if (yych == '4') goto yy2195;
+ goto yy87;
yy2092:
yych = *++cursor_;
- if (yych == 'u') goto yy2171;
- goto yy11;
+ if (yych == '2') goto yy2197;
+ goto yy87;
yy2093:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 465 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicLoad, I32AtomicLoad8U); }
-#line 10494 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == '4') goto yy2199;
+ goto yy87;
+yy2094:
+ yych = *++cursor_;
+ if (yych == 'i') goto yy2201;
+ goto yy87;
yy2095:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 477 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmwAdd); }
-#line 10502 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'i') goto yy2202;
+ goto yy87;
+yy2096:
+ yych = *++cursor_;
+ if (yych == '4') goto yy2203;
+ goto yy87;
yy2097:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 491 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmwAnd); }
-#line 10510 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'n') goto yy2204;
+ goto yy87;
+yy2098:
+ yych = *++cursor_;
+ if (yych == 'n') goto yy2205;
+ goto yy87;
yy2099:
yych = *++cursor_;
- if (yych == 'x') goto yy2173;
- goto yy11;
+ if (yych == 't') goto yy2206;
+ goto yy87;
yy2100:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 484 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmwSub); }
-#line 10522 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'n') goto yy2207;
+ goto yy87;
+yy2101:
+ yych = *++cursor_;
+ if (yych == 'n') goto yy2208;
+ goto yy87;
yy2102:
yych = *++cursor_;
- if (yych == 'g') goto yy2174;
- goto yy11;
+ if (yych == 't') goto yy2209;
+ goto yy87;
yy2103:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 505 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmwXor); }
-#line 10534 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == '6') goto yy2210;
+ goto yy87;
+yy2104:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2211;
+ goto yy87;
yy2105:
yych = *++cursor_;
- if (yych == '.') goto yy2176;
- goto yy11;
+ if (yych == 'd') goto yy2212;
+ if (yych == 'n') goto yy2213;
+ goto yy87;
yy2106:
yych = *++cursor_;
- switch (yych) {
- case 'a': goto yy2177;
- case 'c': goto yy2178;
- case 'o': goto yy2179;
- case 's': goto yy2180;
- case 'x': goto yy2181;
- default: goto yy11;
- }
+ if (yych == 'm') goto yy2214;
+ goto yy87;
yy2107:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 473 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicStore, I32AtomicStore16); }
-#line 10556 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'r') goto yy2215;
+ goto yy87;
+yy2108:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2217;
+ goto yy87;
yy2109:
yych = *++cursor_;
- if (yych == '2') goto yy2182;
- goto yy11;
+ if (yych == 'c') goto yy2218;
+ if (yych == 'o') goto yy2219;
+ goto yy87;
yy2110:
yych = *++cursor_;
- if (yych == '2') goto yy2184;
- goto yy11;
+ if (yych == '.') goto yy2220;
+ goto yy87;
yy2111:
yych = *++cursor_;
- if (yych == '4') goto yy2186;
- goto yy11;
+ switch (yych) {
+ case 'a': goto yy2221;
+ case 'c': goto yy2222;
+ case 'o': goto yy2223;
+ case 's': goto yy2224;
+ case 'x': goto yy2225;
+ default: goto yy87;
+ }
yy2112:
- yych = *++cursor_;
- if (yych == '2') goto yy2188;
- goto yy11;
+ ++cursor_;
+ if ((yych = *cursor_) <= '0') {
+ if (yych <= '"') {
+ if (yych == '!') goto yy86;
+ } else {
+ if (yych <= '\'') goto yy86;
+ if (yych >= '*') goto yy86;
+ }
+ } else {
+ if (yych <= '8') {
+ if (yych <= '1') goto yy2226;
+ if (yych <= '7') goto yy86;
+ goto yy2227;
+ } else {
+ if (yych == ';') goto yy2113;
+ if (yych <= '~') goto yy86;
+ }
+ }
yy2113:
- yych = *++cursor_;
- if (yych == '4') goto yy2190;
- goto yy11;
+#line 470 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicStore, I32AtomicStore); }
+#line 10976 "src/prebuilt/wast-lexer-gen.cc"
yy2114:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 539 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, I32X4ExtractLane); }
-#line 10584 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'f') goto yy2229;
+ goto yy87;
+yy2115:
+ yych = *++cursor_;
+ if (yych == 'f') goto yy2230;
+ goto yy87;
yy2116:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 545 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, I32X4ReplaceLane); }
-#line 10592 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'f') goto yy2231;
+ goto yy87;
+yy2117:
+ yych = *++cursor_;
+ if (yych == '2') goto yy2232;
+ goto yy87;
yy2118:
yych = *++cursor_;
- if (yych == '4') goto yy2192;
- goto yy11;
+ if (yych == '4') goto yy2233;
+ goto yy87;
yy2119:
yych = *++cursor_;
- if (yych == '4') goto yy2193;
- goto yy11;
+ if (yych == 'f') goto yy2234;
+ goto yy87;
yy2120:
yych = *++cursor_;
- if (yych == 'u') goto yy2194;
- goto yy11;
+ if (yych == 'n') goto yy2235;
+ goto yy87;
yy2121:
yych = *++cursor_;
- if (yych == 'u') goto yy2196;
- goto yy11;
+ if (yych == 'n') goto yy2236;
+ goto yy87;
yy2122:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 467 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicLoad, I64AtomicLoad8U); }
-#line 10616 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'f') goto yy2237;
+ goto yy87;
+yy2123:
+ yych = *++cursor_;
+ if (yych == '6') goto yy2238;
+ goto yy87;
yy2124:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 478 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmwAdd); }
-#line 10624 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == '2') goto yy2239;
+ goto yy87;
+yy2125:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2240;
+ goto yy87;
yy2126:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 492 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmwAnd); }
-#line 10632 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'd') goto yy2241;
+ if (yych == 'n') goto yy2242;
+ goto yy87;
+yy2127:
+ yych = *++cursor_;
+ if (yych == 'm') goto yy2243;
+ goto yy87;
yy2128:
yych = *++cursor_;
- if (yych == 'x') goto yy2198;
- goto yy11;
+ if (yych == 'r') goto yy2244;
+ goto yy87;
yy2129:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 485 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmwSub); }
-#line 10644 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'u') goto yy2246;
+ goto yy87;
+yy2130:
+ yych = *++cursor_;
+ if (yych == 'c') goto yy2247;
+ if (yych == 'o') goto yy2248;
+ goto yy87;
yy2131:
yych = *++cursor_;
- if (yych == 'g') goto yy2199;
- goto yy11;
+ if (yych == '.') goto yy2249;
+ goto yy87;
yy2132:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == '.') goto yy2250;
+ goto yy87;
+yy2133:
+ yych = *++cursor_;
+ switch (yych) {
+ case 'a': goto yy2251;
+ case 'c': goto yy2252;
+ case 'o': goto yy2253;
+ case 's': goto yy2254;
+ case 'x': goto yy2255;
+ default: goto yy87;
}
-#line 506 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmwXor); }
-#line 10656 "src/prebuilt/wast-lexer-gen.cc"
yy2134:
- yych = *++cursor_;
- if (yych == '.') goto yy2201;
- goto yy11;
+ ++cursor_;
+ if ((yych = *cursor_) <= '1') {
+ if (yych <= '"') {
+ if (yych == '!') goto yy86;
+ } else {
+ if (yych <= '\'') goto yy86;
+ if (yych <= ')') goto yy2135;
+ if (yych <= '0') goto yy86;
+ goto yy2256;
+ }
+ } else {
+ if (yych <= '8') {
+ if (yych == '3') goto yy2257;
+ if (yych <= '7') goto yy86;
+ goto yy2258;
+ } else {
+ if (yych == ';') goto yy2135;
+ if (yych <= '~') goto yy86;
+ }
+ }
yy2135:
- yych = *++cursor_;
- if (yych == '.') goto yy2202;
- goto yy11;
+#line 471 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicStore, I64AtomicStore); }
+#line 11089 "src/prebuilt/wast-lexer-gen.cc"
yy2136:
- yych = *++cursor_;
- switch (yych) {
- case 'a': goto yy2203;
- case 'c': goto yy2204;
- case 'o': goto yy2205;
- case 's': goto yy2206;
- case 'x': goto yy2207;
- default: goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-yy2137:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 413 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64ExtendI32S); }
+#line 11097 "src/prebuilt/wast-lexer-gen.cc"
+yy2138:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 475 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicStore, I64AtomicStore16); }
-#line 10682 "src/prebuilt/wast-lexer-gen.cc"
-yy2139:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 414 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64ExtendI32U); }
+#line 11105 "src/prebuilt/wast-lexer-gen.cc"
+yy2140:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 476 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicStore, I64AtomicStore32); }
-#line 10690 "src/prebuilt/wast-lexer-gen.cc"
-yy2141:
- yych = *++cursor_;
- if (yych == '4') goto yy2208;
- goto yy11;
+#line 676 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64ExtendI32S); }
+#line 11113 "src/prebuilt/wast-lexer-gen.cc"
yy2142:
- yych = *++cursor_;
- if (yych == '2') goto yy2210;
- goto yy11;
-yy2143:
- yych = *++cursor_;
- if (yych == '4') goto yy2212;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 677 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64ExtendI32U); }
+#line 11121 "src/prebuilt/wast-lexer-gen.cc"
yy2144:
yych = *++cursor_;
- if (yych == '2') goto yy2214;
- goto yy11;
+ if (yych == 'f') goto yy2260;
+ goto yy87;
yy2145:
yych = *++cursor_;
- if (yych == '4') goto yy2216;
- goto yy11;
+ if (yych == 'f') goto yy2261;
+ goto yy87;
yy2146:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 540 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, I64X2ExtractLane); }
-#line 10718 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'f') goto yy2262;
+ goto yy87;
+yy2147:
+ yych = *++cursor_;
+ if (yych == '2') goto yy2263;
+ goto yy87;
yy2148:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 546 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, I64X2ReplaceLane); }
-#line 10726 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == '4') goto yy2264;
+ goto yy87;
+yy2149:
+ yych = *++cursor_;
+ if (yych == 'f') goto yy2265;
+ goto yy87;
yy2150:
yych = *++cursor_;
- if (yych == '2') goto yy2218;
- goto yy11;
+ if (yych == 'n') goto yy2266;
+ goto yy87;
yy2151:
yych = *++cursor_;
- if (yych == '2') goto yy2219;
- goto yy11;
+ if (yych == 'n') goto yy2267;
+ goto yy87;
yy2152:
yych = *++cursor_;
- if (yych == '_') goto yy2220;
- goto yy11;
+ if (yych == 'f') goto yy2268;
+ goto yy87;
yy2153:
yych = *++cursor_;
- if (yych == '_') goto yy2221;
- goto yy11;
+ if (yych == 't') goto yy2269;
+ goto yy87;
yy2154:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 543 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, I8X16ReplaceLane); }
-#line 10750 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'n') goto yy2270;
+ goto yy87;
+yy2155:
+ yych = *++cursor_;
+ if (yych == 'n') goto yy2271;
+ goto yy87;
yy2156:
yych = *++cursor_;
- if (yych == '_') goto yy2222;
- goto yy11;
+ if (yych == 't') goto yy2272;
+ goto yy87;
yy2157:
yych = *++cursor_;
- if (yych == 'c') goto yy2223;
- goto yy11;
+ if (yych == 'r') goto yy2273;
+ goto yy87;
yy2158:
- yych = *++cursor_;
- if (yych == 'm') goto yy2224;
- goto yy11;
-yy2159:
- yych = *++cursor_;
- if (yych == 'i') goto yy2225;
- goto yy11;
-yy2160:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 442 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F32ReinterpretI32); }
-#line 10774 "src/prebuilt/wast-lexer-gen.cc"
-yy2162:
+#line 739 "src/wast-lexer.cc"
+ { RETURN(AssertExhaustion); }
+#line 11185 "src/prebuilt/wast-lexer-gen.cc"
+yy2160:
yych = *++cursor_;
- if (yych == 'x') goto yy2226;
- goto yy11;
-yy2163:
+ if (yych == 't') goto yy2274;
+ goto yy87;
+yy2161:
yych = *++cursor_;
- if (yych == 'x') goto yy2227;
- goto yy11;
+ if (yych == 'o') goto yy2275;
+ goto yy87;
+yy2162:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 734 "src/wast-lexer.cc"
+ { RETURN(AssertUnlinkable); }
+#line 11201 "src/prebuilt/wast-lexer-gen.cc"
yy2164:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 444 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, F64ReinterpretI64); }
-#line 10790 "src/prebuilt/wast-lexer-gen.cc"
+#line 432 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F32ConvertI32S); }
+#line 11209 "src/prebuilt/wast-lexer-gen.cc"
yy2166:
- yych = *++cursor_;
- if (yych == 'x') goto yy2228;
- goto yy11;
-yy2167:
- yych = *++cursor_;
- if (yych == 'x') goto yy2229;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 436 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F32ConvertI32U); }
+#line 11217 "src/prebuilt/wast-lexer-gen.cc"
yy2168:
- yych = *++cursor_;
- if (yych == 's') goto yy2230;
- if (yych == 'u') goto yy2232;
- goto yy11;
-yy2169:
- yych = *++cursor_;
- if (yych == 's') goto yy2234;
- if (yych == 'u') goto yy2236;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 434 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F32ConvertI64S); }
+#line 11225 "src/prebuilt/wast-lexer-gen.cc"
yy2170:
- yych = *++cursor_;
- if (yych == 's') goto yy2238;
- if (yych == 'u') goto yy2240;
- goto yy11;
-yy2171:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 466 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicLoad, I32AtomicLoad16U); }
-#line 10821 "src/prebuilt/wast-lexer-gen.cc"
-yy2173:
- yych = *++cursor_;
- if (yych == 'c') goto yy2242;
- goto yy11;
+#line 438 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F32ConvertI64U); }
+#line 11233 "src/prebuilt/wast-lexer-gen.cc"
+yy2172:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 687 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F32ConvertI32S); }
+#line 11241 "src/prebuilt/wast-lexer-gen.cc"
yy2174:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 512 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmwXchg); }
-#line 10833 "src/prebuilt/wast-lexer-gen.cc"
+#line 689 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F32ConvertI64S); }
+#line 11249 "src/prebuilt/wast-lexer-gen.cc"
yy2176:
- yych = *++cursor_;
- switch (yych) {
- case 'a': goto yy2243;
- case 'c': goto yy2244;
- case 'o': goto yy2245;
- case 's': goto yy2246;
- case 'x': goto yy2247;
- default: goto yy11;
- }
-yy2177:
- yych = *++cursor_;
- if (yych == 'd') goto yy2248;
- if (yych == 'n') goto yy2249;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 691 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F32ConvertI32U); }
+#line 11257 "src/prebuilt/wast-lexer-gen.cc"
yy2178:
- yych = *++cursor_;
- if (yych == 'm') goto yy2250;
- goto yy11;
-yy2179:
- yych = *++cursor_;
- if (yych == 'r') goto yy2251;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 693 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F32ConvertI64U); }
+#line 11265 "src/prebuilt/wast-lexer-gen.cc"
yy2180:
yych = *++cursor_;
- if (yych == 'u') goto yy2253;
- goto yy11;
+ if (yych == '3') goto yy2276;
+ goto yy87;
yy2181:
yych = *++cursor_;
- if (yych == 'c') goto yy2254;
- if (yych == 'o') goto yy2255;
- goto yy11;
+ if (yych == '3') goto yy2277;
+ goto yy87;
yy2182:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 443 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32ReinterpretF32); }
-#line 10873 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'x') goto yy2278;
+ goto yy87;
+yy2183:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy2279;
+ goto yy87;
yy2184:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'e') goto yy2281;
+ goto yy87;
+yy2185:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 424 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32TruncSSatF32); }
-#line 10881 "src/prebuilt/wast-lexer-gen.cc"
-yy2186:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 433 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F64ConvertI32S); }
+#line 11293 "src/prebuilt/wast-lexer-gen.cc"
+yy2187:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 426 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32TruncSSatF64); }
-#line 10889 "src/prebuilt/wast-lexer-gen.cc"
-yy2188:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 437 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F64ConvertI32U); }
+#line 11301 "src/prebuilt/wast-lexer-gen.cc"
+yy2189:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 428 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32TruncUSatF32); }
-#line 10897 "src/prebuilt/wast-lexer-gen.cc"
-yy2190:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 435 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F64ConvertI64S); }
+#line 11309 "src/prebuilt/wast-lexer-gen.cc"
+yy2191:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 430 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I32TruncUSatF64); }
-#line 10905 "src/prebuilt/wast-lexer-gen.cc"
-yy2192:
- yych = *++cursor_;
- if (yych == ':') goto yy2256;
- goto yy11;
+#line 439 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F64ConvertI64U); }
+#line 11317 "src/prebuilt/wast-lexer-gen.cc"
yy2193:
- yych = *++cursor_;
- if (yych == ':') goto yy2257;
- goto yy11;
-yy2194:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 468 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicLoad, I64AtomicLoad16U); }
-#line 10921 "src/prebuilt/wast-lexer-gen.cc"
-yy2196:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 688 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F64ConvertI32S); }
+#line 11325 "src/prebuilt/wast-lexer-gen.cc"
+yy2195:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 469 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicLoad, I64AtomicLoad32U); }
-#line 10929 "src/prebuilt/wast-lexer-gen.cc"
-yy2198:
- yych = *++cursor_;
- if (yych == 'c') goto yy2258;
- goto yy11;
+#line 690 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F64ConvertI64S); }
+#line 11333 "src/prebuilt/wast-lexer-gen.cc"
+yy2197:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 692 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F64ConvertI32U); }
+#line 11341 "src/prebuilt/wast-lexer-gen.cc"
yy2199:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 513 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmwXchg); }
-#line 10941 "src/prebuilt/wast-lexer-gen.cc"
+#line 694 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F64ConvertI64U); }
+#line 11349 "src/prebuilt/wast-lexer-gen.cc"
yy2201:
yych = *++cursor_;
- switch (yych) {
- case 'a': goto yy2259;
- case 'c': goto yy2260;
- case 'o': goto yy2261;
- case 's': goto yy2262;
- case 'x': goto yy2263;
- default: goto yy11;
- }
+ if (yych == '6') goto yy2283;
+ goto yy87;
yy2202:
yych = *++cursor_;
- switch (yych) {
- case 'a': goto yy2264;
- case 'c': goto yy2265;
- case 'o': goto yy2266;
- case 's': goto yy2267;
- case 'x': goto yy2268;
- default: goto yy11;
- }
+ if (yych == '6') goto yy2284;
+ goto yy87;
yy2203:
yych = *++cursor_;
- if (yych == 'd') goto yy2269;
- if (yych == 'n') goto yy2270;
- goto yy11;
+ if (yych == 'x') goto yy2285;
+ goto yy87;
yy2204:
yych = *++cursor_;
- if (yych == 'm') goto yy2271;
- goto yy11;
+ if (yych == 'e') goto yy2286;
+ goto yy87;
yy2205:
yych = *++cursor_;
- if (yych == 'r') goto yy2272;
- goto yy11;
+ if (yych == 'e') goto yy2288;
+ goto yy87;
yy2206:
yych = *++cursor_;
- if (yych == 'u') goto yy2274;
- goto yy11;
+ if (yych == 'e') goto yy2290;
+ goto yy87;
yy2207:
yych = *++cursor_;
- if (yych == 'c') goto yy2275;
- if (yych == 'o') goto yy2276;
- goto yy11;
+ if (yych == 'e') goto yy2291;
+ goto yy87;
yy2208:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 445 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64ReinterpretF64); }
-#line 10991 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'e') goto yy2292;
+ goto yy87;
+yy2209:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy2294;
+ goto yy87;
yy2210:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 425 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64TruncSSatF32); }
-#line 10999 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == '_') goto yy2295;
+ goto yy87;
+yy2211:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2296;
+ goto yy87;
yy2212:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 427 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64TruncSSatF64); }
-#line 11007 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'd') goto yy2298;
+ goto yy87;
+yy2213:
+ yych = *++cursor_;
+ if (yych == 'd') goto yy2300;
+ goto yy87;
yy2214:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'p') goto yy2302;
+ goto yy87;
+yy2215:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 429 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64TruncUSatF32); }
-#line 11015 "src/prebuilt/wast-lexer-gen.cc"
-yy2216:
+#line 498 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmwOr); }
+#line 11413 "src/prebuilt/wast-lexer-gen.cc"
+yy2217:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 431 "src/wast-lexer.cc"
- { RETURN_OPCODE(Convert, I64TruncUSatF64); }
-#line 11023 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'b') goto yy2303;
+ goto yy87;
yy2218:
yych = *++cursor_;
- if (yych == ':') goto yy2277;
- goto yy11;
+ if (yych == 'h') goto yy2305;
+ goto yy87;
yy2219:
yych = *++cursor_;
- if (yych == ':') goto yy2278;
- goto yy11;
+ if (yych == 'r') goto yy2306;
+ goto yy87;
yy2220:
yych = *++cursor_;
- if (yych == 's') goto yy2279;
- if (yych == 'u') goto yy2281;
- goto yy11;
+ switch (yych) {
+ case 'a': goto yy2308;
+ case 'c': goto yy2309;
+ case 'o': goto yy2310;
+ case 's': goto yy2311;
+ case 'x': goto yy2312;
+ default: goto yy87;
+ }
yy2221:
yych = *++cursor_;
- if (yych == 's') goto yy2283;
- if (yych == 'u') goto yy2285;
- goto yy11;
+ if (yych == 'd') goto yy2313;
+ if (yych == 'n') goto yy2314;
+ goto yy87;
yy2222:
yych = *++cursor_;
- if (yych == 's') goto yy2287;
- if (yych == 'u') goto yy2289;
- goto yy11;
+ if (yych == 'm') goto yy2315;
+ goto yy87;
yy2223:
yych = *++cursor_;
- if (yych == 't') goto yy2291;
- goto yy11;
+ if (yych == 'r') goto yy2316;
+ goto yy87;
yy2224:
yych = *++cursor_;
- if (yych == 'e') goto yy2293;
- goto yy11;
+ if (yych == 'u') goto yy2317;
+ goto yy87;
yy2225:
yych = *++cursor_;
- if (yych == 'c') goto yy2294;
- goto yy11;
+ if (yych == 'c') goto yy2318;
+ if (yych == 'o') goto yy2319;
+ goto yy87;
yy2226:
yych = *++cursor_;
- if (yych == '4') goto yy2295;
- goto yy11;
+ if (yych == '6') goto yy2320;
+ goto yy87;
yy2227:
- yych = *++cursor_;
- if (yych == '4') goto yy2297;
- goto yy11;
-yy2228:
- yych = *++cursor_;
- if (yych == '2') goto yy2299;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 472 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicStore, I32AtomicStore8); }
+#line 11469 "src/prebuilt/wast-lexer-gen.cc"
yy2229:
yych = *++cursor_;
- if (yych == '2') goto yy2301;
- goto yy11;
+ if (yych == '3') goto yy2322;
+ goto yy87;
yy2230:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 567 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I16X8AddSaturateS); }
-#line 11082 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == '3') goto yy2323;
+ goto yy87;
+yy2231:
+ yych = *++cursor_;
+ if (yych == '3') goto yy2324;
+ if (yych == '6') goto yy2325;
+ goto yy87;
yy2232:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 568 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I16X8AddSaturateU); }
-#line 11090 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == '_') goto yy2326;
+ goto yy87;
+yy2233:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2327;
+ goto yy87;
yy2234:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 537 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, I16X8ExtractLaneS); }
-#line 11098 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == '3') goto yy2328;
+ if (yych == '6') goto yy2329;
+ goto yy87;
+yy2235:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy2330;
+ goto yy87;
yy2236:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 538 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, I16X8ExtractLaneU); }
-#line 11106 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'e') goto yy2332;
+ goto yy87;
+yy2237:
+ yych = *++cursor_;
+ if (yych == '3') goto yy2334;
+ goto yy87;
yy2238:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 571 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I16X8SubSaturateS); }
-#line 11114 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == '_') goto yy2335;
+ goto yy87;
+yy2239:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2336;
+ goto yy87;
yy2240:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 572 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I16X8SubSaturateU); }
-#line 11122 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'u') goto yy2337;
+ goto yy87;
+yy2241:
+ yych = *++cursor_;
+ if (yych == 'd') goto yy2339;
+ goto yy87;
yy2242:
yych = *++cursor_;
- if (yych == 'h') goto yy2303;
- goto yy11;
+ if (yych == 'd') goto yy2341;
+ goto yy87;
yy2243:
yych = *++cursor_;
- if (yych == 'd') goto yy2304;
- if (yych == 'n') goto yy2305;
- goto yy11;
+ if (yych == 'p') goto yy2343;
+ goto yy87;
yy2244:
- yych = *++cursor_;
- if (yych == 'm') goto yy2306;
- goto yy11;
-yy2245:
- yych = *++cursor_;
- if (yych == 'r') goto yy2307;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 499 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmwOr); }
+#line 11539 "src/prebuilt/wast-lexer-gen.cc"
yy2246:
yych = *++cursor_;
- if (yych == 'u') goto yy2309;
- goto yy11;
+ if (yych == 'b') goto yy2344;
+ goto yy87;
yy2247:
yych = *++cursor_;
- if (yych == 'c') goto yy2310;
- if (yych == 'o') goto yy2311;
- goto yy11;
+ if (yych == 'h') goto yy2346;
+ goto yy87;
yy2248:
yych = *++cursor_;
- if (yych == 'd') goto yy2312;
- goto yy11;
+ if (yych == 'r') goto yy2347;
+ goto yy87;
yy2249:
yych = *++cursor_;
- if (yych == 'd') goto yy2314;
- goto yy11;
+ switch (yych) {
+ case 'a': goto yy2349;
+ case 'c': goto yy2350;
+ case 'o': goto yy2351;
+ case 's': goto yy2352;
+ case 'x': goto yy2353;
+ default: goto yy87;
+ }
yy2250:
yych = *++cursor_;
- if (yych == 'p') goto yy2316;
- goto yy11;
+ switch (yych) {
+ case 'a': goto yy2354;
+ case 'c': goto yy2355;
+ case 'o': goto yy2356;
+ case 's': goto yy2357;
+ case 'x': goto yy2358;
+ default: goto yy87;
+ }
yy2251:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 500 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UOr); }
-#line 11168 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'd') goto yy2359;
+ if (yych == 'n') goto yy2360;
+ goto yy87;
+yy2252:
+ yych = *++cursor_;
+ if (yych == 'm') goto yy2361;
+ goto yy87;
yy2253:
yych = *++cursor_;
- if (yych == 'b') goto yy2317;
- goto yy11;
+ if (yych == 'r') goto yy2362;
+ goto yy87;
yy2254:
yych = *++cursor_;
- if (yych == 'h') goto yy2319;
- goto yy11;
+ if (yych == 'u') goto yy2363;
+ goto yy87;
yy2255:
yych = *++cursor_;
- if (yych == 'r') goto yy2320;
- goto yy11;
+ if (yych == 'c') goto yy2364;
+ if (yych == 'o') goto yy2365;
+ goto yy87;
yy2256:
yych = *++cursor_;
- if (yych == 's') goto yy2322;
- goto yy11;
+ if (yych == '6') goto yy2366;
+ goto yy87;
yy2257:
yych = *++cursor_;
- if (yych == 's') goto yy2323;
- goto yy11;
+ if (yych == '2') goto yy2368;
+ goto yy87;
yy2258:
- yych = *++cursor_;
- if (yych == 'h') goto yy2324;
- goto yy11;
-yy2259:
- yych = *++cursor_;
- if (yych == 'd') goto yy2325;
- if (yych == 'n') goto yy2326;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 474 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicStore, I64AtomicStore8); }
+#line 11609 "src/prebuilt/wast-lexer-gen.cc"
yy2260:
yych = *++cursor_;
- if (yych == 'm') goto yy2327;
- goto yy11;
+ if (yych == '6') goto yy2370;
+ goto yy87;
yy2261:
yych = *++cursor_;
- if (yych == 'r') goto yy2328;
- goto yy11;
+ if (yych == '6') goto yy2371;
+ goto yy87;
yy2262:
yych = *++cursor_;
- if (yych == 'u') goto yy2330;
- goto yy11;
+ if (yych == '3') goto yy2372;
+ if (yych == '6') goto yy2373;
+ goto yy87;
yy2263:
yych = *++cursor_;
- if (yych == 'c') goto yy2331;
- if (yych == 'o') goto yy2332;
- goto yy11;
+ if (yych == '_') goto yy2374;
+ goto yy87;
yy2264:
yych = *++cursor_;
- if (yych == 'd') goto yy2333;
- if (yych == 'n') goto yy2334;
- goto yy11;
+ if (yych == '_') goto yy2375;
+ goto yy87;
yy2265:
yych = *++cursor_;
- if (yych == 'm') goto yy2335;
- goto yy11;
+ if (yych == '3') goto yy2376;
+ if (yych == '6') goto yy2377;
+ goto yy87;
yy2266:
yych = *++cursor_;
- if (yych == 'r') goto yy2336;
- goto yy11;
+ if (yych == 'e') goto yy2378;
+ goto yy87;
yy2267:
yych = *++cursor_;
- if (yych == 'u') goto yy2338;
- goto yy11;
+ if (yych == 'e') goto yy2380;
+ goto yy87;
yy2268:
yych = *++cursor_;
- if (yych == 'c') goto yy2339;
- if (yych == 'o') goto yy2340;
- goto yy11;
+ if (yych == '6') goto yy2382;
+ goto yy87;
yy2269:
yych = *++cursor_;
- if (yych == 'd') goto yy2341;
- goto yy11;
+ if (yych == 'e') goto yy2383;
+ goto yy87;
yy2270:
yych = *++cursor_;
- if (yych == 'd') goto yy2343;
- goto yy11;
+ if (yych == 'e') goto yy2384;
+ goto yy87;
yy2271:
yych = *++cursor_;
- if (yych == 'p') goto yy2345;
- goto yy11;
+ if (yych == 'e') goto yy2385;
+ goto yy87;
yy2272:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 502 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UOr); }
-#line 11256 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'e') goto yy2387;
+ goto yy87;
+yy2273:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy2388;
+ goto yy87;
yy2274:
yych = *++cursor_;
- if (yych == 'b') goto yy2346;
- goto yy11;
+ if (yych == 'h') goto yy2389;
+ goto yy87;
yy2275:
yych = *++cursor_;
- if (yych == 'h') goto yy2348;
- goto yy11;
+ if (yych == 'n') goto yy2390;
+ goto yy87;
yy2276:
yych = *++cursor_;
- if (yych == 'r') goto yy2349;
- goto yy11;
+ if (yych == '2') goto yy2391;
+ goto yy87;
yy2277:
yych = *++cursor_;
- if (yych == 's') goto yy2351;
- goto yy11;
+ if (yych == '2') goto yy2393;
+ goto yy87;
yy2278:
yych = *++cursor_;
- if (yych == 's') goto yy2352;
- goto yy11;
+ if (yych == '4') goto yy2395;
+ goto yy87;
yy2279:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 565 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I8X16AddSaturateS); }
-#line 11284 "src/prebuilt/wast-lexer-gen.cc"
+#line 541 "src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, F32X4ExtractLane); }
+#line 11695 "src/prebuilt/wast-lexer-gen.cc"
yy2281:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 566 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I8X16AddSaturateU); }
-#line 11292 "src/prebuilt/wast-lexer-gen.cc"
+#line 547 "src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, F32X4ReplaceLane); }
+#line 11703 "src/prebuilt/wast-lexer-gen.cc"
yy2283:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 535 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, I8X16ExtractLaneS); }
-#line 11300 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == '4') goto yy2396;
+ goto yy87;
+yy2284:
+ yych = *++cursor_;
+ if (yych == '4') goto yy2398;
+ goto yy87;
yy2285:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == '2') goto yy2400;
+ goto yy87;
+yy2286:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 536 "src/wast-lexer.cc"
- { RETURN_OPCODE(SimdLaneOp, I8X16ExtractLaneU); }
-#line 11308 "src/prebuilt/wast-lexer-gen.cc"
-yy2287:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 542 "src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, F64X2ExtractLane); }
+#line 11723 "src/prebuilt/wast-lexer-gen.cc"
+yy2288:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 569 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I8X16SubSaturateS); }
-#line 11316 "src/prebuilt/wast-lexer-gen.cc"
-yy2289:
+#line 548 "src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, F64X2ReplaceLane); }
+#line 11731 "src/prebuilt/wast-lexer-gen.cc"
+yy2290:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 570 "src/wast-lexer.cc"
- { RETURN_OPCODE(Binary, I8X16SubSaturateU); }
-#line 11324 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == '_') goto yy2401;
+ goto yy87;
yy2291:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == '_') goto yy2402;
+ goto yy87;
+yy2292:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 667 "src/wast-lexer.cc"
- { RETURN_OPCODE0(ReturnCallIndirect); }
-#line 11332 "src/prebuilt/wast-lexer-gen.cc"
-yy2293:
- yych = *++cursor_;
- if (yych == 't') goto yy2353;
- goto yy11;
+#line 544 "src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, I16X8ReplaceLane); }
+#line 11747 "src/prebuilt/wast-lexer-gen.cc"
yy2294:
yych = *++cursor_;
- if (yych == 'a') goto yy2354;
- goto yy11;
+ if (yych == '_') goto yy2403;
+ goto yy87;
yy2295:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'u') goto yy2404;
+ goto yy87;
+yy2296:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 658 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, F32X4ConvertSI32X4); }
-#line 11348 "src/prebuilt/wast-lexer-gen.cc"
-yy2297:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 465 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicLoad, I32AtomicLoad8U); }
+#line 11763 "src/prebuilt/wast-lexer-gen.cc"
+yy2298:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 659 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, F32X4ConvertUI32X4); }
-#line 11356 "src/prebuilt/wast-lexer-gen.cc"
-yy2299:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 477 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmwAdd); }
+#line 11771 "src/prebuilt/wast-lexer-gen.cc"
+yy2300:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 660 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, F64X2ConvertSI64X2); }
-#line 11364 "src/prebuilt/wast-lexer-gen.cc"
-yy2301:
+#line 491 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmwAnd); }
+#line 11779 "src/prebuilt/wast-lexer-gen.cc"
+yy2302:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 661 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, F64X2ConvertUI64X2); }
-#line 11372 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'x') goto yy2406;
+ goto yy87;
yy2303:
- yych = *++cursor_;
- if (yych == 'g') goto yy2355;
- goto yy11;
-yy2304:
- yych = *++cursor_;
- if (yych == 'd') goto yy2357;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 484 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmwSub); }
+#line 11791 "src/prebuilt/wast-lexer-gen.cc"
yy2305:
yych = *++cursor_;
- if (yych == 'd') goto yy2359;
- goto yy11;
+ if (yych == 'g') goto yy2407;
+ goto yy87;
yy2306:
- yych = *++cursor_;
- if (yych == 'p') goto yy2361;
- goto yy11;
-yy2307:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 501 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UOr); }
-#line 11396 "src/prebuilt/wast-lexer-gen.cc"
+#line 505 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmwXor); }
+#line 11803 "src/prebuilt/wast-lexer-gen.cc"
+yy2308:
+ yych = *++cursor_;
+ if (yych == 'd') goto yy2409;
+ if (yych == 'n') goto yy2410;
+ goto yy87;
yy2309:
yych = *++cursor_;
- if (yych == 'b') goto yy2362;
- goto yy11;
+ if (yych == 'm') goto yy2411;
+ goto yy87;
yy2310:
yych = *++cursor_;
- if (yych == 'h') goto yy2364;
- goto yy11;
+ if (yych == 'r') goto yy2412;
+ goto yy87;
yy2311:
yych = *++cursor_;
- if (yych == 'r') goto yy2365;
- goto yy11;
+ if (yych == 'u') goto yy2413;
+ goto yy87;
yy2312:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 479 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UAdd); }
-#line 11416 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'c') goto yy2414;
+ if (yych == 'o') goto yy2415;
+ goto yy87;
+yy2313:
+ yych = *++cursor_;
+ if (yych == 'd') goto yy2416;
+ goto yy87;
yy2314:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 493 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UAnd); }
-#line 11424 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'd') goto yy2417;
+ goto yy87;
+yy2315:
+ yych = *++cursor_;
+ if (yych == 'p') goto yy2418;
+ goto yy87;
yy2316:
yych = *++cursor_;
- if (yych == 'x') goto yy2367;
- goto yy11;
+ if (yych == '_') goto yy2419;
+ goto yy87;
yy2317:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 486 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8USub); }
-#line 11436 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'b') goto yy2420;
+ goto yy87;
+yy2318:
+ yych = *++cursor_;
+ if (yych == 'h') goto yy2421;
+ goto yy87;
yy2319:
yych = *++cursor_;
- if (yych == 'g') goto yy2368;
- goto yy11;
+ if (yych == 'r') goto yy2422;
+ goto yy87;
yy2320:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 507 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UXor); }
-#line 11448 "src/prebuilt/wast-lexer-gen.cc"
+#line 473 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicStore, I32AtomicStore16); }
+#line 11861 "src/prebuilt/wast-lexer-gen.cc"
yy2322:
yych = *++cursor_;
- if (yych == 'a') goto yy2370;
- goto yy11;
+ if (yych == '2') goto yy2423;
+ goto yy87;
yy2323:
yych = *++cursor_;
- if (yych == 'a') goto yy2371;
- goto yy11;
+ if (yych == '2') goto yy2425;
+ goto yy87;
yy2324:
yych = *++cursor_;
- if (yych == 'g') goto yy2372;
- goto yy11;
+ if (yych == '2') goto yy2427;
+ goto yy87;
yy2325:
yych = *++cursor_;
- if (yych == 'd') goto yy2374;
- goto yy11;
+ if (yych == '4') goto yy2429;
+ goto yy87;
yy2326:
yych = *++cursor_;
- if (yych == 'd') goto yy2376;
- goto yy11;
+ if (yych == 's') goto yy2431;
+ if (yych == 'u') goto yy2433;
+ goto yy87;
yy2327:
yych = *++cursor_;
- if (yych == 'p') goto yy2378;
- goto yy11;
+ if (yych == 's') goto yy2435;
+ if (yych == 'u') goto yy2437;
+ goto yy87;
yy2328:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 503 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UOr); }
-#line 11480 "src/prebuilt/wast-lexer-gen.cc"
-yy2330:
+ if (yych == '2') goto yy2439;
+ goto yy87;
+yy2329:
yych = *++cursor_;
- if (yych == 'b') goto yy2379;
- goto yy11;
-yy2331:
- yych = *++cursor_;
- if (yych == 'h') goto yy2381;
- goto yy11;
+ if (yych == '4') goto yy2441;
+ goto yy87;
+yy2330:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 539 "src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, I32X4ExtractLane); }
+#line 11903 "src/prebuilt/wast-lexer-gen.cc"
yy2332:
- yych = *++cursor_;
- if (yych == 'r') goto yy2382;
- goto yy11;
-yy2333:
- yych = *++cursor_;
- if (yych == 'd') goto yy2384;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 545 "src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, I32X4ReplaceLane); }
+#line 11911 "src/prebuilt/wast-lexer-gen.cc"
yy2334:
yych = *++cursor_;
- if (yych == 'd') goto yy2386;
- goto yy11;
+ if (yych == '2') goto yy2443;
+ goto yy87;
yy2335:
yych = *++cursor_;
- if (yych == 'p') goto yy2388;
- goto yy11;
+ if (yych == 'u') goto yy2444;
+ goto yy87;
yy2336:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'u') goto yy2446;
+ goto yy87;
+yy2337:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 504 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UOr); }
-#line 11512 "src/prebuilt/wast-lexer-gen.cc"
-yy2338:
- yych = *++cursor_;
- if (yych == 'b') goto yy2389;
- goto yy11;
+#line 467 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicLoad, I64AtomicLoad8U); }
+#line 11931 "src/prebuilt/wast-lexer-gen.cc"
yy2339:
- yych = *++cursor_;
- if (yych == 'h') goto yy2391;
- goto yy11;
-yy2340:
- yych = *++cursor_;
- if (yych == 'r') goto yy2392;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 478 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmwAdd); }
+#line 11939 "src/prebuilt/wast-lexer-gen.cc"
yy2341:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 481 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UAdd); }
-#line 11532 "src/prebuilt/wast-lexer-gen.cc"
+#line 492 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmwAnd); }
+#line 11947 "src/prebuilt/wast-lexer-gen.cc"
yy2343:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'x') goto yy2448;
+ goto yy87;
+yy2344:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 495 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UAnd); }
-#line 11540 "src/prebuilt/wast-lexer-gen.cc"
-yy2345:
- yych = *++cursor_;
- if (yych == 'x') goto yy2394;
- goto yy11;
+#line 485 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmwSub); }
+#line 11959 "src/prebuilt/wast-lexer-gen.cc"
yy2346:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'g') goto yy2449;
+ goto yy87;
+yy2347:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 488 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8USub); }
-#line 11552 "src/prebuilt/wast-lexer-gen.cc"
-yy2348:
- yych = *++cursor_;
- if (yych == 'g') goto yy2395;
- goto yy11;
+#line 506 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmwXor); }
+#line 11971 "src/prebuilt/wast-lexer-gen.cc"
yy2349:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 509 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UXor); }
-#line 11564 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'd') goto yy2451;
+ if (yych == 'n') goto yy2452;
+ goto yy87;
+yy2350:
+ yych = *++cursor_;
+ if (yych == 'm') goto yy2453;
+ goto yy87;
yy2351:
yych = *++cursor_;
- if (yych == 'a') goto yy2397;
- goto yy11;
+ if (yych == 'r') goto yy2454;
+ goto yy87;
yy2352:
yych = *++cursor_;
- if (yych == 'a') goto yy2398;
- goto yy11;
+ if (yych == 'u') goto yy2455;
+ goto yy87;
yy2353:
yych = *++cursor_;
- if (yych == 'i') goto yy2399;
- goto yy11;
+ if (yych == 'c') goto yy2456;
+ if (yych == 'o') goto yy2457;
+ goto yy87;
yy2354:
yych = *++cursor_;
- if (yych == 'l') goto yy2400;
- goto yy11;
+ if (yych == 'd') goto yy2458;
+ if (yych == 'n') goto yy2459;
+ goto yy87;
yy2355:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 519 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmwCmpxchg); }
-#line 11588 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'm') goto yy2460;
+ goto yy87;
+yy2356:
+ yych = *++cursor_;
+ if (yych == 'r') goto yy2461;
+ goto yy87;
yy2357:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 480 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UAdd); }
-#line 11596 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'u') goto yy2462;
+ goto yy87;
+yy2358:
+ yych = *++cursor_;
+ if (yych == 'c') goto yy2463;
+ if (yych == 'o') goto yy2464;
+ goto yy87;
yy2359:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 494 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UAnd); }
-#line 11604 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'd') goto yy2465;
+ goto yy87;
+yy2360:
+ yych = *++cursor_;
+ if (yych == 'd') goto yy2466;
+ goto yy87;
yy2361:
yych = *++cursor_;
- if (yych == 'x') goto yy2401;
- goto yy11;
+ if (yych == 'p') goto yy2467;
+ goto yy87;
yy2362:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 487 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16USub); }
-#line 11616 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == '_') goto yy2468;
+ goto yy87;
+yy2363:
+ yych = *++cursor_;
+ if (yych == 'b') goto yy2469;
+ goto yy87;
yy2364:
yych = *++cursor_;
- if (yych == 'g') goto yy2402;
- goto yy11;
+ if (yych == 'h') goto yy2470;
+ goto yy87;
yy2365:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'r') goto yy2471;
+ goto yy87;
+yy2366:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 508 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UXor); }
-#line 11628 "src/prebuilt/wast-lexer-gen.cc"
-yy2367:
- yych = *++cursor_;
- if (yych == 'c') goto yy2404;
- goto yy11;
+#line 475 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicStore, I64AtomicStore16); }
+#line 12051 "src/prebuilt/wast-lexer-gen.cc"
yy2368:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 514 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UXchg); }
-#line 11640 "src/prebuilt/wast-lexer-gen.cc"
+#line 476 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicStore, I64AtomicStore32); }
+#line 12059 "src/prebuilt/wast-lexer-gen.cc"
yy2370:
yych = *++cursor_;
- if (yych == 't') goto yy2405;
- goto yy11;
+ if (yych == '4') goto yy2472;
+ goto yy87;
yy2371:
yych = *++cursor_;
- if (yych == 't') goto yy2407;
- goto yy11;
+ if (yych == '4') goto yy2474;
+ goto yy87;
yy2372:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 520 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmwCmpxchg); }
-#line 11656 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == '2') goto yy2476;
+ goto yy87;
+yy2373:
+ yych = *++cursor_;
+ if (yych == '4') goto yy2478;
+ goto yy87;
yy2374:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 482 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UAdd); }
-#line 11664 "src/prebuilt/wast-lexer-gen.cc"
-yy2376:
+ if (yych == 's') goto yy2480;
+ if (yych == 'u') goto yy2482;
+ goto yy87;
+yy2375:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 496 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UAnd); }
-#line 11672 "src/prebuilt/wast-lexer-gen.cc"
-yy2378:
+ if (yych == 's') goto yy2484;
+ if (yych == 'u') goto yy2486;
+ goto yy87;
+yy2376:
yych = *++cursor_;
- if (yych == 'x') goto yy2409;
- goto yy11;
-yy2379:
+ if (yych == '2') goto yy2488;
+ goto yy87;
+yy2377:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == '4') goto yy2490;
+ goto yy87;
+yy2378:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 489 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16USub); }
-#line 11684 "src/prebuilt/wast-lexer-gen.cc"
-yy2381:
- yych = *++cursor_;
- if (yych == 'g') goto yy2410;
- goto yy11;
+#line 540 "src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, I64X2ExtractLane); }
+#line 12101 "src/prebuilt/wast-lexer-gen.cc"
+yy2380:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 546 "src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, I64X2ReplaceLane); }
+#line 12109 "src/prebuilt/wast-lexer-gen.cc"
yy2382:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 510 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UXor); }
-#line 11696 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == '4') goto yy2492;
+ goto yy87;
+yy2383:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2493;
+ goto yy87;
yy2384:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == '_') goto yy2494;
+ goto yy87;
+yy2385:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 483 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UAdd); }
-#line 11704 "src/prebuilt/wast-lexer-gen.cc"
-yy2386:
+#line 543 "src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, I8X16ReplaceLane); }
+#line 12129 "src/prebuilt/wast-lexer-gen.cc"
+yy2387:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 497 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UAnd); }
-#line 11712 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == '_') goto yy2495;
+ goto yy87;
yy2388:
yych = *++cursor_;
- if (yych == 'x') goto yy2412;
- goto yy11;
+ if (yych == 'c') goto yy2496;
+ goto yy87;
yy2389:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 490 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32USub); }
-#line 11724 "src/prebuilt/wast-lexer-gen.cc"
-yy2391:
- yych = *++cursor_;
- if (yych == 'g') goto yy2413;
- goto yy11;
-yy2392:
+ if (yych == 'm') goto yy2497;
+ goto yy87;
+yy2390:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'i') goto yy2498;
+ goto yy87;
+yy2391:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 511 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UXor); }
-#line 11736 "src/prebuilt/wast-lexer-gen.cc"
-yy2394:
- yych = *++cursor_;
- if (yych == 'c') goto yy2415;
- goto yy11;
+#line 697 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F32ReinterpretI32); }
+#line 12153 "src/prebuilt/wast-lexer-gen.cc"
+yy2393:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 442 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F32ReinterpretI32); }
+#line 12161 "src/prebuilt/wast-lexer-gen.cc"
yy2395:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == '_') goto yy2499;
+ goto yy87;
+yy2396:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 516 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UXchg); }
-#line 11748 "src/prebuilt/wast-lexer-gen.cc"
-yy2397:
- yych = *++cursor_;
- if (yych == 't') goto yy2416;
- goto yy11;
+#line 699 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F64ReinterpretI64); }
+#line 12173 "src/prebuilt/wast-lexer-gen.cc"
yy2398:
- yych = *++cursor_;
- if (yych == 't') goto yy2418;
- goto yy11;
-yy2399:
- yych = *++cursor_;
- if (yych == 'c') goto yy2420;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 444 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, F64ReinterpretI64); }
+#line 12181 "src/prebuilt/wast-lexer-gen.cc"
yy2400:
yych = *++cursor_;
- if (yych == '_') goto yy2421;
- goto yy11;
+ if (yych == '_') goto yy2500;
+ goto yy87;
yy2401:
yych = *++cursor_;
- if (yych == 'c') goto yy2422;
- goto yy11;
+ if (yych == 's') goto yy2501;
+ if (yych == 'u') goto yy2503;
+ goto yy87;
yy2402:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 515 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UXchg); }
-#line 11776 "src/prebuilt/wast-lexer-gen.cc"
-yy2404:
- yych = *++cursor_;
- if (yych == 'h') goto yy2423;
- goto yy11;
-yy2405:
+ if (yych == 's') goto yy2505;
+ if (yych == 'u') goto yy2507;
+ goto yy87;
+yy2403:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 's') goto yy2509;
+ if (yych == 'u') goto yy2511;
+ goto yy87;
+yy2404:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 662 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I32X4TruncSF32X4Sat); }
-#line 11788 "src/prebuilt/wast-lexer-gen.cc"
-yy2407:
+#line 466 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicLoad, I32AtomicLoad16U); }
+#line 12208 "src/prebuilt/wast-lexer-gen.cc"
+yy2406:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'c') goto yy2513;
+ goto yy87;
+yy2407:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 663 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I32X4TruncUF32X4Sat); }
-#line 11796 "src/prebuilt/wast-lexer-gen.cc"
+#line 512 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmwXchg); }
+#line 12220 "src/prebuilt/wast-lexer-gen.cc"
yy2409:
yych = *++cursor_;
- if (yych == 'c') goto yy2424;
- goto yy11;
+ if (yych == 'd') goto yy2514;
+ goto yy87;
yy2410:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 517 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UXchg); }
-#line 11808 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'd') goto yy2515;
+ goto yy87;
+yy2411:
+ yych = *++cursor_;
+ if (yych == 'p') goto yy2516;
+ goto yy87;
yy2412:
yych = *++cursor_;
- if (yych == 'c') goto yy2425;
- goto yy11;
+ if (yych == '_') goto yy2517;
+ goto yy87;
yy2413:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 518 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UXchg); }
-#line 11820 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'b') goto yy2518;
+ goto yy87;
+yy2414:
+ yych = *++cursor_;
+ if (yych == 'h') goto yy2519;
+ goto yy87;
yy2415:
yych = *++cursor_;
- if (yych == 'h') goto yy2426;
- goto yy11;
+ if (yych == 'r') goto yy2520;
+ goto yy87;
yy2416:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 664 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I64X2TruncSF64X2Sat); }
-#line 11832 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == '_') goto yy2521;
+ goto yy87;
+yy2417:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2522;
+ goto yy87;
yy2418:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 665 "src/wast-lexer.cc"
- { RETURN_OPCODE(Unary, I64X2TruncUF64X2Sat); }
-#line 11840 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'x') goto yy2523;
+ goto yy87;
+yy2419:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2524;
+ goto yy87;
yy2420:
yych = *++cursor_;
- if (yych == '_') goto yy2427;
- goto yy11;
+ if (yych == '_') goto yy2526;
+ goto yy87;
yy2421:
yych = *++cursor_;
- if (yych == 'n') goto yy2428;
- goto yy11;
+ if (yych == 'g') goto yy2527;
+ goto yy87;
yy2422:
yych = *++cursor_;
- if (yych == 'h') goto yy2429;
- goto yy11;
+ if (yych == '_') goto yy2528;
+ goto yy87;
yy2423:
- yych = *++cursor_;
- if (yych == 'g') goto yy2430;
- goto yy11;
-yy2424:
- yych = *++cursor_;
- if (yych == 'h') goto yy2432;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 698 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32ReinterpretF32); }
+#line 12284 "src/prebuilt/wast-lexer-gen.cc"
yy2425:
- yych = *++cursor_;
- if (yych == 'h') goto yy2433;
- goto yy11;
-yy2426:
- yych = *++cursor_;
- if (yych == 'g') goto yy2434;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 443 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32ReinterpretF32); }
+#line 12292 "src/prebuilt/wast-lexer-gen.cc"
yy2427:
- yych = *++cursor_;
- if (yych == 'n') goto yy2436;
- goto yy11;
-yy2428:
- yych = *++cursor_;
- if (yych == 'a') goto yy2437;
- goto yy11;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 701 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncSatF32S); }
+#line 12300 "src/prebuilt/wast-lexer-gen.cc"
yy2429:
- yych = *++cursor_;
- if (yych == 'g') goto yy2438;
- goto yy11;
-yy2430:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 521 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmw8UCmpxchg); }
-#line 11888 "src/prebuilt/wast-lexer-gen.cc"
-yy2432:
- yych = *++cursor_;
- if (yych == 'g') goto yy2440;
- goto yy11;
+#line 703 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncSatF64S); }
+#line 12308 "src/prebuilt/wast-lexer-gen.cc"
+yy2431:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 424 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncSatF32S); }
+#line 12316 "src/prebuilt/wast-lexer-gen.cc"
yy2433:
- yych = *++cursor_;
- if (yych == 'g') goto yy2442;
- goto yy11;
-yy2434:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 523 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw8UCmpxchg); }
-#line 11904 "src/prebuilt/wast-lexer-gen.cc"
-yy2436:
- yych = *++cursor_;
- if (yych == 'a') goto yy2444;
- goto yy11;
-yy2437:
- yych = *++cursor_;
- if (yych == 'n') goto yy2445;
- goto yy11;
-yy2438:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 428 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncSatF32U); }
+#line 12324 "src/prebuilt/wast-lexer-gen.cc"
+yy2435:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 522 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmw16UCmpxchg); }
-#line 11920 "src/prebuilt/wast-lexer-gen.cc"
-yy2440:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 426 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncSatF64S); }
+#line 12332 "src/prebuilt/wast-lexer-gen.cc"
+yy2437:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 524 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw16UCmpxchg); }
-#line 11928 "src/prebuilt/wast-lexer-gen.cc"
-yy2442:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 430 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncSatF64U); }
+#line 12340 "src/prebuilt/wast-lexer-gen.cc"
+yy2439:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 525 "src/wast-lexer.cc"
- { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw32UCmpxchg); }
-#line 11936 "src/prebuilt/wast-lexer-gen.cc"
-yy2444:
- yych = *++cursor_;
- if (yych == 'n') goto yy2447;
- goto yy11;
-yy2445:
- yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+#line 705 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncSatF32U); }
+#line 12348 "src/prebuilt/wast-lexer-gen.cc"
+yy2441:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 695 "src/wast-lexer.cc"
- { RETURN(AssertReturnCanonicalNan); }
-#line 11948 "src/prebuilt/wast-lexer-gen.cc"
-yy2447:
+#line 707 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I32TruncSatF64U); }
+#line 12356 "src/prebuilt/wast-lexer-gen.cc"
+yy2443:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych == 'x') goto yy2529;
+ goto yy87;
+yy2444:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
-#line 696 "src/wast-lexer.cc"
- { RETURN(AssertReturnArithmeticNan); }
-#line 11956 "src/prebuilt/wast-lexer-gen.cc"
- }
-/* *********************************** */
-YYCOND_BAD_TEXT:
- if ((limit_ - cursor_) < 5) FILL(5);
- yych = *cursor_;
- if (yych <= 0x7F) {
- if (yych <= '!') {
- if (yych == '\n') goto yy2453;
- if (yych >= ' ') goto yy2455;
- } else {
- if (yych <= '"') goto yy2457;
- if (yych == '\\') goto yy2459;
- goto yy2455;
+#line 468 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicLoad, I64AtomicLoad16U); }
+#line 12368 "src/prebuilt/wast-lexer-gen.cc"
+yy2446:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xC1) goto yy2460;
- if (yych <= 0xDF) goto yy2462;
- if (yych <= 0xE0) goto yy2463;
- goto yy2464;
- } else {
- if (yych <= 0xF0) goto yy2465;
- if (yych <= 0xF3) goto yy2466;
- if (yych <= 0xF4) goto yy2467;
- goto yy2460;
+#line 469 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicLoad, I64AtomicLoad32U); }
+#line 12376 "src/prebuilt/wast-lexer-gen.cc"
+yy2448:
+ yych = *++cursor_;
+ if (yych == 'c') goto yy2530;
+ goto yy87;
+yy2449:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
- }
- ++cursor_;
+#line 513 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmwXchg); }
+#line 12388 "src/prebuilt/wast-lexer-gen.cc"
+yy2451:
+ yych = *++cursor_;
+ if (yych == 'd') goto yy2531;
+ goto yy87;
yy2452:
-#line 252 "src/wast-lexer.cc"
- { ERROR("illegal character in string");
- continue; }
-#line 11989 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'd') goto yy2532;
+ goto yy87;
yy2453:
- ++cursor_;
- BEGIN(YYCOND_i);
-#line 245 "src/wast-lexer.cc"
- { ERROR("newline in string");
- NEWLINE;
- continue; }
-#line 11997 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'p') goto yy2533;
+ goto yy87;
+yy2454:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2534;
+ goto yy87;
yy2455:
- ++cursor_;
-#line 244 "src/wast-lexer.cc"
- { continue; }
-#line 12002 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'b') goto yy2535;
+ goto yy87;
+yy2456:
+ yych = *++cursor_;
+ if (yych == 'h') goto yy2536;
+ goto yy87;
yy2457:
- ++cursor_;
- BEGIN(YYCOND_i);
-#line 251 "src/wast-lexer.cc"
- { RETURN_TEXT(Text); }
-#line 12008 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == 'r') goto yy2537;
+ goto yy87;
+yy2458:
+ yych = *++cursor_;
+ if (yych == 'd') goto yy2538;
+ goto yy87;
yy2459:
- yyaccept = 0;
- yych = *(marker_ = ++cursor_);
- if (yych <= 'f') {
- if (yych <= '/') {
- if (yych <= '!') {
- if (yych == '\n') goto yy2452;
- goto yy2468;
- } else {
- if (yych <= '"') goto yy2455;
- if (yych == '\'') goto yy2455;
- goto yy2468;
- }
- } else {
- if (yych <= 'F') {
- if (yych <= '9') goto yy2470;
- if (yych <= '@') goto yy2468;
- goto yy2470;
- } else {
- if (yych == '\\') goto yy2455;
- if (yych <= '`') goto yy2468;
- goto yy2470;
- }
- }
- } else {
- if (yych <= 0x7F) {
- if (yych <= 'q') {
- if (yych == 'n') goto yy2455;
- goto yy2468;
- } else {
- if (yych == 's') goto yy2468;
- if (yych <= 't') goto yy2455;
- goto yy2468;
- }
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xC1) goto yy2452;
- if (yych <= 0xDF) goto yy2471;
- if (yych <= 0xE0) goto yy2473;
- goto yy2474;
- } else {
- if (yych <= 0xF0) goto yy2475;
- if (yych <= 0xF3) goto yy2476;
- if (yych <= 0xF4) goto yy2477;
- goto yy2452;
- }
- }
- }
+ yych = *++cursor_;
+ if (yych == 'd') goto yy2539;
+ goto yy87;
yy2460:
- ++cursor_;
+ yych = *++cursor_;
+ if (yych == 'p') goto yy2540;
+ goto yy87;
yy2461:
-#line 254 "src/wast-lexer.cc"
- { MAYBE_MALFORMED_UTF8(" in string"); }
-#line 12062 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '_') goto yy2541;
+ goto yy87;
yy2462:
- yych = *++cursor_;
- if (yych <= 0x7F) goto yy2461;
- if (yych <= 0xBF) goto yy2455;
- goto yy2461;
+ yych = *++cursor_;
+ if (yych == 'b') goto yy2542;
+ goto yy87;
yy2463:
- yyaccept = 1;
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x9F) goto yy2461;
- if (yych <= 0xBF) goto yy2478;
- goto yy2461;
+ yych = *++cursor_;
+ if (yych == 'h') goto yy2543;
+ goto yy87;
yy2464:
- yyaccept = 1;
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy2461;
- if (yych <= 0xBF) goto yy2478;
- goto yy2461;
+ yych = *++cursor_;
+ if (yych == 'r') goto yy2544;
+ goto yy87;
yy2465:
- yyaccept = 1;
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x8F) goto yy2461;
- if (yych <= 0xBF) goto yy2479;
- goto yy2461;
+ yych = *++cursor_;
+ if (yych == '_') goto yy2545;
+ goto yy87;
yy2466:
- yyaccept = 1;
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy2461;
- if (yych <= 0xBF) goto yy2479;
- goto yy2461;
+ yych = *++cursor_;
+ if (yych == '_') goto yy2546;
+ goto yy87;
yy2467:
- yyaccept = 1;
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy2461;
- if (yych <= 0x8F) goto yy2479;
- goto yy2461;
+ yych = *++cursor_;
+ if (yych == 'x') goto yy2547;
+ goto yy87;
yy2468:
- ++cursor_;
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2548;
+ goto yy87;
yy2469:
-#line 248 "src/wast-lexer.cc"
- { ERROR("bad escape \"%.*s\"",
- static_cast<int>(yyleng), yytext);
- continue; }
-#line 12105 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '_') goto yy2550;
+ goto yy87;
yy2470:
- yych = *++cursor_;
- if (yych <= '@') {
- if (yych <= '/') goto yy2469;
- if (yych <= '9') goto yy2455;
- goto yy2469;
- } else {
- if (yych <= 'F') goto yy2455;
- if (yych <= '`') goto yy2469;
- if (yych <= 'f') goto yy2455;
- goto yy2469;
- }
+ yych = *++cursor_;
+ if (yych == 'g') goto yy2551;
+ goto yy87;
yy2471:
- yych = *++cursor_;
- if (yych <= 0x7F) goto yy2472;
- if (yych <= 0xBF) goto yy2468;
+ yych = *++cursor_;
+ if (yych == '_') goto yy2552;
+ goto yy87;
yy2472:
- cursor_ = marker_;
- if (yyaccept == 0) {
- goto yy2452;
- } else {
- goto yy2461;
- }
-yy2473:
- yych = *++cursor_;
- if (yych <= 0x9F) goto yy2472;
- if (yych <= 0xBF) goto yy2471;
- goto yy2472;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 700 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64ReinterpretF64); }
+#line 12480 "src/prebuilt/wast-lexer-gen.cc"
yy2474:
- yych = *++cursor_;
- if (yych <= 0x7F) goto yy2472;
- if (yych <= 0xBF) goto yy2471;
- goto yy2472;
-yy2475:
- yych = *++cursor_;
- if (yych <= 0x8F) goto yy2472;
- if (yych <= 0xBF) goto yy2474;
- goto yy2472;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 445 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64ReinterpretF64); }
+#line 12488 "src/prebuilt/wast-lexer-gen.cc"
yy2476:
- yych = *++cursor_;
- if (yych <= 0x7F) goto yy2472;
- if (yych <= 0xBF) goto yy2474;
- goto yy2472;
-yy2477:
- yych = *++cursor_;
- if (yych <= 0x7F) goto yy2472;
- if (yych <= 0x8F) goto yy2474;
- goto yy2472;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 702 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncSatF32S); }
+#line 12496 "src/prebuilt/wast-lexer-gen.cc"
yy2478:
- yych = *++cursor_;
- if (yych <= 0x7F) goto yy2472;
- if (yych <= 0xBF) goto yy2455;
- goto yy2472;
-yy2479:
- yych = *++cursor_;
- if (yych <= 0x7F) goto yy2472;
- if (yych <= 0xBF) goto yy2478;
- goto yy2472;
-/* *********************************** */
-YYCOND_LINE_COMMENT:
- {
- static const unsigned char yybm[] = {
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 0, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- if ((limit_ - cursor_) < 2) FILL(2);
- yych = *cursor_;
- if (yybm[0+yych] & 128) {
- goto yy2482;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
- if (yych <= 0xE0) {
- if (yych <= '\n') goto yy2485;
- if (yych <= 0xC1) goto yy2487;
- if (yych <= 0xDF) goto yy2489;
- goto yy2490;
- } else {
- if (yych <= 0xF0) {
- if (yych <= 0xEF) goto yy2491;
- goto yy2492;
- } else {
- if (yych <= 0xF3) goto yy2493;
- if (yych <= 0xF4) goto yy2494;
- goto yy2487;
- }
+#line 704 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncSatF64S); }
+#line 12504 "src/prebuilt/wast-lexer-gen.cc"
+yy2480:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
+#line 425 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncSatF32S); }
+#line 12512 "src/prebuilt/wast-lexer-gen.cc"
yy2482:
- yyaccept = 0;
- marker_ = ++cursor_;
- if (limit_ <= cursor_) FILL(1);
- yych = *cursor_;
- if (yybm[0+yych] & 128) {
- goto yy2482;
- }
- if (yych <= 0xEF) {
- if (yych <= 0xC1) goto yy2484;
- if (yych <= 0xDF) goto yy2495;
- if (yych <= 0xE0) goto yy2497;
- goto yy2498;
- } else {
- if (yych <= 0xF0) goto yy2499;
- if (yych <= 0xF3) goto yy2500;
- if (yych <= 0xF4) goto yy2501;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
+#line 429 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncSatF32U); }
+#line 12520 "src/prebuilt/wast-lexer-gen.cc"
yy2484:
-#line 709 "src/wast-lexer.cc"
- { continue; }
-#line 12242 "src/prebuilt/wast-lexer-gen.cc"
-yy2485:
++cursor_;
- BEGIN(YYCOND_i);
-#line 708 "src/wast-lexer.cc"
- { NEWLINE; continue; }
-#line 12248 "src/prebuilt/wast-lexer-gen.cc"
-yy2487:
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 427 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncSatF64S); }
+#line 12528 "src/prebuilt/wast-lexer-gen.cc"
+yy2486:
++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 431 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncSatF64U); }
+#line 12536 "src/prebuilt/wast-lexer-gen.cc"
yy2488:
-#line 723 "src/wast-lexer.cc"
- { MAYBE_MALFORMED_UTF8(""); }
-#line 12254 "src/prebuilt/wast-lexer-gen.cc"
-yy2489:
- yych = *++cursor_;
- if (yych <= 0x7F) goto yy2488;
- if (yych <= 0xBF) goto yy2482;
- goto yy2488;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 706 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncSatF32U); }
+#line 12544 "src/prebuilt/wast-lexer-gen.cc"
yy2490:
- yyaccept = 1;
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x9F) goto yy2488;
- if (yych <= 0xBF) goto yy2495;
- goto yy2488;
-yy2491:
- yyaccept = 1;
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy2488;
- if (yych <= 0xBF) goto yy2495;
- goto yy2488;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 708 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Convert, I64TruncSatF64U); }
+#line 12552 "src/prebuilt/wast-lexer-gen.cc"
yy2492:
- yyaccept = 1;
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x8F) goto yy2488;
- if (yych <= 0xBF) goto yy2498;
- goto yy2488;
+ yych = *++cursor_;
+ if (yych == 'x') goto yy2553;
+ goto yy87;
yy2493:
- yyaccept = 1;
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy2488;
- if (yych <= 0xBF) goto yy2498;
- goto yy2488;
+ yych = *++cursor_;
+ if (yych == 's') goto yy2554;
+ if (yych == 'u') goto yy2556;
+ goto yy87;
yy2494:
- yyaccept = 1;
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy2488;
- if (yych <= 0x8F) goto yy2498;
- goto yy2488;
+ yych = *++cursor_;
+ if (yych == 's') goto yy2558;
+ if (yych == 'u') goto yy2560;
+ goto yy87;
yy2495:
- ++cursor_;
- if (limit_ <= cursor_) FILL(1);
- yych = *cursor_;
- if (yych <= 0x7F) goto yy2496;
- if (yych <= 0xBF) goto yy2482;
+ yych = *++cursor_;
+ if (yych == 's') goto yy2562;
+ if (yych == 'u') goto yy2564;
+ goto yy87;
yy2496:
- cursor_ = marker_;
- if (yyaccept == 0) {
- goto yy2484;
- } else {
- goto yy2488;
- }
+ yych = *++cursor_;
+ if (yych == 't') goto yy2566;
+ goto yy87;
yy2497:
- ++cursor_;
- if (limit_ <= cursor_) FILL(1);
- yych = *cursor_;
- if (yych <= 0x9F) goto yy2496;
- if (yych <= 0xBF) goto yy2495;
- goto yy2496;
+ yych = *++cursor_;
+ if (yych == 'e') goto yy2568;
+ goto yy87;
yy2498:
- ++cursor_;
- if (limit_ <= cursor_) FILL(1);
- yych = *cursor_;
- if (yych <= 0x7F) goto yy2496;
- if (yych <= 0xBF) goto yy2495;
- goto yy2496;
+ yych = *++cursor_;
+ if (yych == 'c') goto yy2569;
+ goto yy87;
yy2499:
- ++cursor_;
- if (limit_ <= cursor_) FILL(1);
- yych = *cursor_;
- if (yych <= 0x8F) goto yy2496;
- if (yych <= 0xBF) goto yy2498;
- goto yy2496;
+ yych = *++cursor_;
+ if (yych == 's') goto yy2570;
+ if (yych == 'u') goto yy2572;
+ goto yy87;
yy2500:
- ++cursor_;
- if (limit_ <= cursor_) FILL(1);
- yych = *cursor_;
- if (yych <= 0x7F) goto yy2496;
- if (yych <= 0xBF) goto yy2498;
- goto yy2496;
+ yych = *++cursor_;
+ if (yych == 's') goto yy2574;
+ if (yych == 'u') goto yy2576;
+ goto yy87;
yy2501:
++cursor_;
- if (limit_ <= cursor_) FILL(1);
- yych = *cursor_;
- if (yych <= 0x7F) goto yy2496;
- if (yych <= 0x8F) goto yy2498;
- goto yy2496;
- }
-/* *********************************** */
-YYCOND_BLOCK_COMMENT:
- if ((limit_ - cursor_) < 4) FILL(4);
- yych = *cursor_;
- if (yych <= 0x7F) {
- if (yych <= '\'') {
- if (yych == '\n') goto yy2506;
- } else {
- if (yych <= '(') goto yy2508;
- if (yych == ';') goto yy2509;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
- } else {
- if (yych <= 0xEF) {
- if (yych <= 0xC1) goto yy2510;
- if (yych <= 0xDF) goto yy2512;
- if (yych <= 0xE0) goto yy2513;
- goto yy2514;
- } else {
- if (yych <= 0xF0) goto yy2515;
- if (yych <= 0xF3) goto yy2516;
- if (yych <= 0xF4) goto yy2517;
- goto yy2510;
+#line 567 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I16X8AddSaturateS); }
+#line 12601 "src/prebuilt/wast-lexer-gen.cc"
+yy2503:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
}
- }
-yy2504:
- ++cursor_;
+#line 568 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I16X8AddSaturateU); }
+#line 12609 "src/prebuilt/wast-lexer-gen.cc"
yy2505:
-#line 717 "src/wast-lexer.cc"
- { continue; }
-#line 12368 "src/prebuilt/wast-lexer-gen.cc"
-yy2506:
- ++cursor_;
-#line 716 "src/wast-lexer.cc"
- { NEWLINE; continue; }
-#line 12373 "src/prebuilt/wast-lexer-gen.cc"
-yy2508:
- yych = *++cursor_;
- if (yych == ';') goto yy2518;
- goto yy2505;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 537 "src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, I16X8ExtractLaneS); }
+#line 12617 "src/prebuilt/wast-lexer-gen.cc"
+yy2507:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 538 "src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, I16X8ExtractLaneU); }
+#line 12625 "src/prebuilt/wast-lexer-gen.cc"
yy2509:
- yych = *++cursor_;
- if (yych == ')') goto yy2520;
- goto yy2505;
-yy2510:
- ++cursor_;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 571 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I16X8SubSaturateS); }
+#line 12633 "src/prebuilt/wast-lexer-gen.cc"
yy2511:
-#line 718 "src/wast-lexer.cc"
- { MAYBE_MALFORMED_UTF8(" in block comment"); }
-#line 12387 "src/prebuilt/wast-lexer-gen.cc"
-yy2512:
- yych = *++cursor_;
- if (yych <= 0x7F) goto yy2511;
- if (yych <= 0xBF) goto yy2504;
- goto yy2511;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 572 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I16X8SubSaturateU); }
+#line 12641 "src/prebuilt/wast-lexer-gen.cc"
yy2513:
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x9F) goto yy2511;
- if (yych <= 0xBF) goto yy2522;
- goto yy2511;
+ yych = *++cursor_;
+ if (yych == 'h') goto yy2578;
+ goto yy87;
yy2514:
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy2511;
- if (yych <= 0xBF) goto yy2522;
- goto yy2511;
+ yych = *++cursor_;
+ if (yych == '_') goto yy2579;
+ goto yy87;
yy2515:
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x8F) goto yy2511;
- if (yych <= 0xBF) goto yy2524;
- goto yy2511;
+ yych = *++cursor_;
+ if (yych == '_') goto yy2580;
+ goto yy87;
yy2516:
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy2511;
- if (yych <= 0xBF) goto yy2524;
- goto yy2511;
+ yych = *++cursor_;
+ if (yych == 'x') goto yy2581;
+ goto yy87;
yy2517:
- yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy2511;
- if (yych <= 0x8F) goto yy2524;
- goto yy2511;
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2582;
+ goto yy87;
yy2518:
- ++cursor_;
-#line 711 "src/wast-lexer.cc"
- { COMMENT_NESTING++; continue; }
-#line 12422 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '_') goto yy2584;
+ goto yy87;
+yy2519:
+ yych = *++cursor_;
+ if (yych == 'g') goto yy2585;
+ goto yy87;
yy2520:
- ++cursor_;
-#line 712 "src/wast-lexer.cc"
- { if (--COMMENT_NESTING == 0) {
- BEGIN(YYCOND_i);
- }
- continue; }
-#line 12430 "src/prebuilt/wast-lexer-gen.cc"
+ yych = *++cursor_;
+ if (yych == '_') goto yy2586;
+ goto yy87;
+yy2521:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2587;
+ goto yy87;
yy2522:
- yych = *++cursor_;
- if (yych <= 0x7F) goto yy2523;
- if (yych <= 0xBF) goto yy2504;
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2589;
+ goto yy87;
yy2523:
- cursor_ = marker_;
- goto yy2511;
+ yych = *++cursor_;
+ if (yych == 'c') goto yy2591;
+ goto yy87;
yy2524:
- yych = *++cursor_;
- if (yych <= 0x7F) goto yy2523;
- if (yych <= 0xBF) goto yy2522;
- goto yy2523;
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 500 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8OrU); }
+#line 12693 "src/prebuilt/wast-lexer-gen.cc"
+yy2526:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2592;
+ goto yy87;
+yy2527:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2594;
+ goto yy87;
+yy2528:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2595;
+ goto yy87;
+yy2529:
+ yych = *++cursor_;
+ if (yych == '4') goto yy2597;
+ goto yy87;
+yy2530:
+ yych = *++cursor_;
+ if (yych == 'h') goto yy2598;
+ goto yy87;
+yy2531:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2599;
+ goto yy87;
+yy2532:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2600;
+ goto yy87;
+yy2533:
+ yych = *++cursor_;
+ if (yych == 'x') goto yy2601;
+ goto yy87;
+yy2534:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2602;
+ goto yy87;
+yy2535:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2604;
+ goto yy87;
+yy2536:
+ yych = *++cursor_;
+ if (yych == 'g') goto yy2605;
+ goto yy87;
+yy2537:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2606;
+ goto yy87;
+yy2538:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2607;
+ goto yy87;
+yy2539:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2608;
+ goto yy87;
+yy2540:
+ yych = *++cursor_;
+ if (yych == 'x') goto yy2609;
+ goto yy87;
+yy2541:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2610;
+ goto yy87;
+yy2542:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2612;
+ goto yy87;
+yy2543:
+ yych = *++cursor_;
+ if (yych == 'g') goto yy2613;
+ goto yy87;
+yy2544:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2614;
+ goto yy87;
+yy2545:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2615;
+ goto yy87;
+yy2546:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2617;
+ goto yy87;
+yy2547:
+ yych = *++cursor_;
+ if (yych == 'c') goto yy2619;
+ goto yy87;
+yy2548:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 502 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8OrU); }
+#line 12789 "src/prebuilt/wast-lexer-gen.cc"
+yy2550:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2620;
+ goto yy87;
+yy2551:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2622;
+ goto yy87;
+yy2552:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2623;
+ goto yy87;
+yy2553:
+ yych = *++cursor_;
+ if (yych == '2') goto yy2625;
+ goto yy87;
+yy2554:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 565 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I8X16AddSaturateS); }
+#line 12813 "src/prebuilt/wast-lexer-gen.cc"
+yy2556:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 566 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I8X16AddSaturateU); }
+#line 12821 "src/prebuilt/wast-lexer-gen.cc"
+yy2558:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 535 "src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, I8X16ExtractLaneS); }
+#line 12829 "src/prebuilt/wast-lexer-gen.cc"
+yy2560:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 536 "src/wast-lexer.cc"
+ { RETURN_OPCODE(SimdLaneOp, I8X16ExtractLaneU); }
+#line 12837 "src/prebuilt/wast-lexer-gen.cc"
+yy2562:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 569 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I8X16SubSaturateS); }
+#line 12845 "src/prebuilt/wast-lexer-gen.cc"
+yy2564:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 570 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Binary, I8X16SubSaturateU); }
+#line 12853 "src/prebuilt/wast-lexer-gen.cc"
+yy2566:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 667 "src/wast-lexer.cc"
+ { RETURN_OPCODE0(ReturnCallIndirect); }
+#line 12861 "src/prebuilt/wast-lexer-gen.cc"
+yy2568:
+ yych = *++cursor_;
+ if (yych == 't') goto yy2626;
+ goto yy87;
+yy2569:
+ yych = *++cursor_;
+ if (yych == 'a') goto yy2627;
+ goto yy87;
+yy2570:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 658 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, F32X4ConvertI32X4S); }
+#line 12877 "src/prebuilt/wast-lexer-gen.cc"
+yy2572:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 659 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, F32X4ConvertI32X4U); }
+#line 12885 "src/prebuilt/wast-lexer-gen.cc"
+yy2574:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 660 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, F64X2ConvertI64X2S); }
+#line 12893 "src/prebuilt/wast-lexer-gen.cc"
+yy2576:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 661 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, F64X2ConvertI64X2U); }
+#line 12901 "src/prebuilt/wast-lexer-gen.cc"
+yy2578:
+ yych = *++cursor_;
+ if (yych == 'g') goto yy2628;
+ goto yy87;
+yy2579:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2630;
+ goto yy87;
+yy2580:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2632;
+ goto yy87;
+yy2581:
+ yych = *++cursor_;
+ if (yych == 'c') goto yy2634;
+ goto yy87;
+yy2582:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 501 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16OrU); }
+#line 12925 "src/prebuilt/wast-lexer-gen.cc"
+yy2584:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2635;
+ goto yy87;
+yy2585:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2637;
+ goto yy87;
+yy2586:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2638;
+ goto yy87;
+yy2587:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 479 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8AddU); }
+#line 12945 "src/prebuilt/wast-lexer-gen.cc"
+yy2589:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 493 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8AndU); }
+#line 12953 "src/prebuilt/wast-lexer-gen.cc"
+yy2591:
+ yych = *++cursor_;
+ if (yych == 'h') goto yy2640;
+ goto yy87;
+yy2592:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 486 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8SubU); }
+#line 12965 "src/prebuilt/wast-lexer-gen.cc"
+yy2594:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2641;
+ goto yy87;
+yy2595:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 507 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8XorU); }
+#line 12977 "src/prebuilt/wast-lexer-gen.cc"
+yy2597:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2643;
+ goto yy87;
+yy2598:
+ yych = *++cursor_;
+ if (yych == 'g') goto yy2644;
+ goto yy87;
+yy2599:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2646;
+ goto yy87;
+yy2600:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2648;
+ goto yy87;
+yy2601:
+ yych = *++cursor_;
+ if (yych == 'c') goto yy2650;
+ goto yy87;
+yy2602:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 503 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16OrU); }
+#line 13005 "src/prebuilt/wast-lexer-gen.cc"
+yy2604:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2651;
+ goto yy87;
+yy2605:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2653;
+ goto yy87;
+yy2606:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2654;
+ goto yy87;
+yy2607:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2656;
+ goto yy87;
+yy2608:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2658;
+ goto yy87;
+yy2609:
+ yych = *++cursor_;
+ if (yych == 'c') goto yy2660;
+ goto yy87;
+yy2610:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 504 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32OrU); }
+#line 13037 "src/prebuilt/wast-lexer-gen.cc"
+yy2612:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2661;
+ goto yy87;
+yy2613:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2663;
+ goto yy87;
+yy2614:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2664;
+ goto yy87;
+yy2615:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 481 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8AddU); }
+#line 13057 "src/prebuilt/wast-lexer-gen.cc"
+yy2617:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 495 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8AndU); }
+#line 13065 "src/prebuilt/wast-lexer-gen.cc"
+yy2619:
+ yych = *++cursor_;
+ if (yych == 'h') goto yy2666;
+ goto yy87;
+yy2620:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 488 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8SubU); }
+#line 13077 "src/prebuilt/wast-lexer-gen.cc"
+yy2622:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2667;
+ goto yy87;
+yy2623:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 509 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8XorU); }
+#line 13089 "src/prebuilt/wast-lexer-gen.cc"
+yy2625:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2669;
+ goto yy87;
+yy2626:
+ yych = *++cursor_;
+ if (yych == 'i') goto yy2670;
+ goto yy87;
+yy2627:
+ yych = *++cursor_;
+ if (yych == 'l') goto yy2671;
+ goto yy87;
+yy2628:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 519 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmwCmpxchg); }
+#line 13109 "src/prebuilt/wast-lexer-gen.cc"
+yy2630:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 480 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16AddU); }
+#line 13117 "src/prebuilt/wast-lexer-gen.cc"
+yy2632:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 494 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16AndU); }
+#line 13125 "src/prebuilt/wast-lexer-gen.cc"
+yy2634:
+ yych = *++cursor_;
+ if (yych == 'h') goto yy2672;
+ goto yy87;
+yy2635:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 487 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16SubU); }
+#line 13137 "src/prebuilt/wast-lexer-gen.cc"
+yy2637:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2673;
+ goto yy87;
+yy2638:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 508 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16XorU); }
+#line 13149 "src/prebuilt/wast-lexer-gen.cc"
+yy2640:
+ yych = *++cursor_;
+ if (yych == 'g') goto yy2675;
+ goto yy87;
+yy2641:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 514 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8XchgU); }
+#line 13161 "src/prebuilt/wast-lexer-gen.cc"
+yy2643:
+ yych = *++cursor_;
+ if (yych == 's') goto yy2676;
+ if (yych == 'u') goto yy2678;
+ goto yy87;
+yy2644:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 520 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmwCmpxchg); }
+#line 13174 "src/prebuilt/wast-lexer-gen.cc"
+yy2646:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 482 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16AddU); }
+#line 13182 "src/prebuilt/wast-lexer-gen.cc"
+yy2648:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 496 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16AndU); }
+#line 13190 "src/prebuilt/wast-lexer-gen.cc"
+yy2650:
+ yych = *++cursor_;
+ if (yych == 'h') goto yy2680;
+ goto yy87;
+yy2651:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 489 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16SubU); }
+#line 13202 "src/prebuilt/wast-lexer-gen.cc"
+yy2653:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2681;
+ goto yy87;
+yy2654:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 510 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16XorU); }
+#line 13214 "src/prebuilt/wast-lexer-gen.cc"
+yy2656:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 483 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32AddU); }
+#line 13222 "src/prebuilt/wast-lexer-gen.cc"
+yy2658:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 497 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32AndU); }
+#line 13230 "src/prebuilt/wast-lexer-gen.cc"
+yy2660:
+ yych = *++cursor_;
+ if (yych == 'h') goto yy2683;
+ goto yy87;
+yy2661:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 490 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32SubU); }
+#line 13242 "src/prebuilt/wast-lexer-gen.cc"
+yy2663:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2684;
+ goto yy87;
+yy2664:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 511 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32XorU); }
+#line 13254 "src/prebuilt/wast-lexer-gen.cc"
+yy2666:
+ yych = *++cursor_;
+ if (yych == 'g') goto yy2686;
+ goto yy87;
+yy2667:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 516 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8XchgU); }
+#line 13266 "src/prebuilt/wast-lexer-gen.cc"
+yy2669:
+ yych = *++cursor_;
+ if (yych == 's') goto yy2687;
+ if (yych == 'u') goto yy2689;
+ goto yy87;
+yy2670:
+ yych = *++cursor_;
+ if (yych == 'c') goto yy2691;
+ goto yy87;
+yy2671:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2692;
+ goto yy87;
+yy2672:
+ yych = *++cursor_;
+ if (yych == 'g') goto yy2693;
+ goto yy87;
+yy2673:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 515 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16XchgU); }
+#line 13291 "src/prebuilt/wast-lexer-gen.cc"
+yy2675:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2694;
+ goto yy87;
+yy2676:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 662 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I32X4TruncSatF32X4S); }
+#line 13303 "src/prebuilt/wast-lexer-gen.cc"
+yy2678:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 663 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I32X4TruncSatF32X4U); }
+#line 13311 "src/prebuilt/wast-lexer-gen.cc"
+yy2680:
+ yych = *++cursor_;
+ if (yych == 'g') goto yy2695;
+ goto yy87;
+yy2681:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 517 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16XchgU); }
+#line 13323 "src/prebuilt/wast-lexer-gen.cc"
+yy2683:
+ yych = *++cursor_;
+ if (yych == 'g') goto yy2696;
+ goto yy87;
+yy2684:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 518 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32XchgU); }
+#line 13335 "src/prebuilt/wast-lexer-gen.cc"
+yy2686:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2697;
+ goto yy87;
+yy2687:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 664 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I64X2TruncSatF64X2S); }
+#line 13347 "src/prebuilt/wast-lexer-gen.cc"
+yy2689:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 665 "src/wast-lexer.cc"
+ { RETURN_OPCODE(Unary, I64X2TruncSatF64X2U); }
+#line 13355 "src/prebuilt/wast-lexer-gen.cc"
+yy2691:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2698;
+ goto yy87;
+yy2692:
+ yych = *++cursor_;
+ if (yych == 'n') goto yy2699;
+ goto yy87;
+yy2693:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2700;
+ goto yy87;
+yy2694:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2701;
+ goto yy87;
+yy2695:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2703;
+ goto yy87;
+yy2696:
+ yych = *++cursor_;
+ if (yych == '_') goto yy2704;
+ goto yy87;
+yy2697:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2705;
+ goto yy87;
+yy2698:
+ yych = *++cursor_;
+ if (yych == 'n') goto yy2707;
+ goto yy87;
+yy2699:
+ yych = *++cursor_;
+ if (yych == 'a') goto yy2708;
+ goto yy87;
+yy2700:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2709;
+ goto yy87;
+yy2701:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 521 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmw8CmpxchgU); }
+#line 13403 "src/prebuilt/wast-lexer-gen.cc"
+yy2703:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2711;
+ goto yy87;
+yy2704:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy2713;
+ goto yy87;
+yy2705:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 523 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw8CmpxchgU); }
+#line 13419 "src/prebuilt/wast-lexer-gen.cc"
+yy2707:
+ yych = *++cursor_;
+ if (yych == 'a') goto yy2715;
+ goto yy87;
+yy2708:
+ yych = *++cursor_;
+ if (yych == 'n') goto yy2716;
+ goto yy87;
+yy2709:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 522 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmw16CmpxchgU); }
+#line 13435 "src/prebuilt/wast-lexer-gen.cc"
+yy2711:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 524 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw16CmpxchgU); }
+#line 13443 "src/prebuilt/wast-lexer-gen.cc"
+yy2713:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 525 "src/wast-lexer.cc"
+ { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw32CmpxchgU); }
+#line 13451 "src/prebuilt/wast-lexer-gen.cc"
+yy2715:
+ yych = *++cursor_;
+ if (yych == 'n') goto yy2718;
+ goto yy87;
+yy2716:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 736 "src/wast-lexer.cc"
+ { RETURN(AssertReturnCanonicalNan); }
+#line 13463 "src/prebuilt/wast-lexer-gen.cc"
+yy2718:
+ ++cursor_;
+ if (yybm[0+(yych = *cursor_)] & 8) {
+ goto yy86;
+ }
+#line 737 "src/wast-lexer.cc"
+ { RETURN(AssertReturnArithmeticNan); }
+#line 13471 "src/prebuilt/wast-lexer-gen.cc"
+ }
}
-#line 724 "src/wast-lexer.cc"
+#line 765 "src/wast-lexer.cc"
}
}
diff --git a/src/resolve-names.cc b/src/resolve-names.cc
index 1a6ec79f..05750319 100644
--- a/src/resolve-names.cc
+++ b/src/resolve-names.cc
@@ -45,21 +45,21 @@ class NameResolver : public ExprVisitor::DelegateNop {
Result OnCallIndirectExpr(CallIndirectExpr*) override;
Result OnReturnCallExpr(ReturnCallExpr *) override;
Result OnReturnCallIndirectExpr(ReturnCallIndirectExpr*) override;
- Result OnGetGlobalExpr(GetGlobalExpr*) override;
- Result OnGetLocalExpr(GetLocalExpr*) override;
+ Result OnGlobalGetExpr(GlobalGetExpr*) override;
+ Result OnGlobalSetExpr(GlobalSetExpr*) override;
Result BeginIfExpr(IfExpr*) override;
Result EndIfExpr(IfExpr*) override;
Result BeginIfExceptExpr(IfExceptExpr*) override;
Result EndIfExceptExpr(IfExceptExpr*) override;
+ Result OnLocalGetExpr(LocalGetExpr*) override;
+ Result OnLocalSetExpr(LocalSetExpr*) override;
+ Result OnLocalTeeExpr(LocalTeeExpr*) override;
Result BeginLoopExpr(LoopExpr*) override;
Result EndLoopExpr(LoopExpr*) override;
Result OnMemoryDropExpr(MemoryDropExpr*) override;
Result OnMemoryInitExpr(MemoryInitExpr*) override;
- Result OnSetGlobalExpr(SetGlobalExpr*) override;
- Result OnSetLocalExpr(SetLocalExpr*) override;
Result OnTableDropExpr(TableDropExpr*) override;
Result OnTableInitExpr(TableInitExpr*) override;
- Result OnTeeLocalExpr(TeeLocalExpr*) override;
Result BeginTryExpr(TryExpr*) override;
Result EndTryExpr(TryExpr*) override;
Result OnThrowExpr(ThrowExpr*) override;
@@ -289,13 +289,13 @@ Result NameResolver::OnReturnCallIndirectExpr(ReturnCallIndirectExpr* expr) {
return Result::Ok;
}
-Result NameResolver::OnGetGlobalExpr(GetGlobalExpr* expr) {
+Result NameResolver::OnGlobalGetExpr(GlobalGetExpr* expr) {
ResolveGlobalVar(&expr->var);
return Result::Ok;
}
-Result NameResolver::OnGetLocalExpr(GetLocalExpr* expr) {
- ResolveLocalVar(&expr->var);
+Result NameResolver::OnGlobalSetExpr(GlobalSetExpr* expr) {
+ ResolveGlobalVar(&expr->var);
return Result::Ok;
}
@@ -322,38 +322,38 @@ Result NameResolver::EndIfExceptExpr(IfExceptExpr* expr) {
return Result::Ok;
}
-Result NameResolver::OnMemoryDropExpr(MemoryDropExpr* expr) {
- ResolveDataSegmentVar(&expr->var);
+Result NameResolver::OnLocalGetExpr(LocalGetExpr* expr) {
+ ResolveLocalVar(&expr->var);
return Result::Ok;
}
-Result NameResolver::OnMemoryInitExpr(MemoryInitExpr* expr) {
- ResolveDataSegmentVar(&expr->var);
+Result NameResolver::OnLocalSetExpr(LocalSetExpr* expr) {
+ ResolveLocalVar(&expr->var);
return Result::Ok;
}
-Result NameResolver::OnSetGlobalExpr(SetGlobalExpr* expr) {
- ResolveGlobalVar(&expr->var);
+Result NameResolver::OnLocalTeeExpr(LocalTeeExpr* expr) {
+ ResolveLocalVar(&expr->var);
return Result::Ok;
}
-Result NameResolver::OnSetLocalExpr(SetLocalExpr* expr) {
- ResolveLocalVar(&expr->var);
+Result NameResolver::OnMemoryDropExpr(MemoryDropExpr* expr) {
+ ResolveDataSegmentVar(&expr->var);
return Result::Ok;
}
-Result NameResolver::OnTableDropExpr(TableDropExpr* expr) {
- ResolveElemSegmentVar(&expr->var);
+Result NameResolver::OnMemoryInitExpr(MemoryInitExpr* expr) {
+ ResolveDataSegmentVar(&expr->var);
return Result::Ok;
}
-Result NameResolver::OnTableInitExpr(TableInitExpr* expr) {
+Result NameResolver::OnTableDropExpr(TableDropExpr* expr) {
ResolveElemSegmentVar(&expr->var);
return Result::Ok;
}
-Result NameResolver::OnTeeLocalExpr(TeeLocalExpr* expr) {
- ResolveLocalVar(&expr->var);
+Result NameResolver::OnTableInitExpr(TableInitExpr* expr) {
+ ResolveElemSegmentVar(&expr->var);
return Result::Ok;
}
diff --git a/src/token.def b/src/token.def
index 109fd8da..3a3ae8cb 100644
--- a/src/token.def
+++ b/src/token.def
@@ -20,7 +20,6 @@
/* Tokens with no additional data (i.e. bare). */
WABT_TOKEN(Invalid, "Invalid")
-WABT_TOKEN(Anyfunc, "anyfunc")
WABT_TOKEN(AssertExhaustion, "assert_exhaustion")
WABT_TOKEN(AssertInvalid, "assert_invalid")
WABT_TOKEN(AssertMalformed, "assert_malformed")
@@ -36,6 +35,7 @@ WABT_TOKEN(Eof, "EOF")
WABT_TOKEN(Except, "except")
WABT_TOKEN(Export, "export")
WABT_TOKEN(Func, "func")
+WABT_TOKEN(Funcref, "funcref")
WABT_TOKEN(Get, "get")
WABT_TOKEN(Global, "global")
WABT_TOKEN(Import, "import")
@@ -73,7 +73,7 @@ WABT_TOKEN(AtomicRmw, "ATOMIC_RMW")
WABT_TOKEN(AtomicRmwCmpxchg, "ATOMIC_RMW_CMPXCHG")
WABT_TOKEN(AtomicStore, "ATOMIC_STORE")
WABT_TOKEN(AtomicWait, "ATOMIC_WAIT")
-WABT_TOKEN(AtomicWake, "ATOMIC_WAKE")
+WABT_TOKEN(AtomicNotify, "ATOMIC_NOTIFY")
WABT_TOKEN(Binary, "BINARY")
WABT_TOKEN(Block, "block")
WABT_TOKEN(Br, "br")
@@ -88,8 +88,8 @@ WABT_TOKEN(Convert, "CONVERT")
WABT_TOKEN(Drop, "drop")
WABT_TOKEN(Else, "else")
WABT_TOKEN(End, "end")
-WABT_TOKEN(GetGlobal, "get_global")
-WABT_TOKEN(GetLocal, "get_local")
+WABT_TOKEN(GlobalGet, "global.get")
+WABT_TOKEN(LocalGet, "local.get")
WABT_TOKEN(IfExcept, "if_except")
WABT_TOKEN(If, "if")
WABT_TOKEN(Load, "LOAD")
@@ -109,12 +109,12 @@ WABT_TOKEN(Return, "return")
WABT_TOKEN(ReturnCall, "return_call")
WABT_TOKEN(ReturnCallIndirect, "return_call_indirect")
WABT_TOKEN(Select, "select")
-WABT_TOKEN(SetGlobal, "set_global")
-WABT_TOKEN(SetLocal, "set_local")
+WABT_TOKEN(GlobalSet, "global.set")
+WABT_TOKEN(LocalSet, "local.set")
WABT_TOKEN(SimdLaneOp, "SIMDLANEOP")
WABT_TOKEN(SimdShuffleOp, "SIMDSHUFFLEOP")
WABT_TOKEN(Store, "STORE")
-WABT_TOKEN(TeeLocal, "tee_local")
+WABT_TOKEN(LocalTee, "local.tee")
WABT_TOKEN(Ternary, "TERNARY")
WABT_TOKEN(Throw, "throw")
WABT_TOKEN(Try, "try")
diff --git a/src/type-checker.cc b/src/type-checker.cc
index 88c4c776..e7006ed0 100644
--- a/src/type-checker.cc
+++ b/src/type-checker.cc
@@ -350,7 +350,7 @@ Result TypeChecker::OnAtomicWait(Opcode opcode) {
return CheckOpcode3(opcode);
}
-Result TypeChecker::OnAtomicWake(Opcode opcode) {
+Result TypeChecker::OnAtomicNotify(Opcode opcode) {
return CheckOpcode2(opcode);
}
@@ -562,20 +562,35 @@ Result TypeChecker::OnIfExcept(const TypeVector& param_types,
return result;
}
-Result TypeChecker::OnGetGlobal(Type type) {
+Result TypeChecker::OnGlobalGet(Type type) {
PushType(type);
return Result::Ok;
}
-Result TypeChecker::OnGetLocal(Type type) {
- PushType(type);
- return Result::Ok;
+Result TypeChecker::OnGlobalSet(Type type) {
+ return PopAndCheck1Type(type, "global.set");
}
Result TypeChecker::OnLoad(Opcode opcode) {
return CheckOpcode1(opcode);
}
+Result TypeChecker::OnLocalGet(Type type) {
+ PushType(type);
+ return Result::Ok;
+}
+
+Result TypeChecker::OnLocalSet(Type type) {
+ return PopAndCheck1Type(type, "local.set");
+}
+
+Result TypeChecker::OnLocalTee(Type type) {
+ Result result = Result::Ok;
+ result |= PopAndCheck1Type(type, "local.tee");
+ PushType(type);
+ return result;
+}
+
Result TypeChecker::OnLoop(const TypeVector& param_types,
const TypeVector& result_types) {
Result result = PopAndCheckSignature(param_types, "loop");
@@ -655,14 +670,6 @@ Result TypeChecker::OnSelect() {
return result;
}
-Result TypeChecker::OnSetGlobal(Type type) {
- return PopAndCheck1Type(type, "set_global");
-}
-
-Result TypeChecker::OnSetLocal(Type type) {
- return PopAndCheck1Type(type, "set_local");
-}
-
Result TypeChecker::OnStore(Opcode opcode) {
return CheckOpcode2(opcode);
}
@@ -675,13 +682,6 @@ Result TypeChecker::OnTry(const TypeVector& param_types,
return result;
}
-Result TypeChecker::OnTeeLocal(Type type) {
- Result result = Result::Ok;
- result |= PopAndCheck1Type(type, "tee_local");
- PushType(type);
- return result;
-}
-
Result TypeChecker::OnUnary(Opcode opcode) {
return CheckOpcode1(opcode);
}
diff --git a/src/type-checker.h b/src/type-checker.h
index 0ac794af..4688e29f 100644
--- a/src/type-checker.h
+++ b/src/type-checker.h
@@ -60,11 +60,11 @@ class TypeChecker {
Result BeginFunction(const TypeVector& sig);
Result OnAtomicLoad(Opcode);
+ Result OnAtomicNotify(Opcode);
Result OnAtomicStore(Opcode);
Result OnAtomicRmw(Opcode);
Result OnAtomicRmwCmpxchg(Opcode);
Result OnAtomicWait(Opcode);
- Result OnAtomicWake(Opcode);
Result OnBinary(Opcode);
Result OnBlock(const TypeVector& param_types, const TypeVector& result_types);
Result OnBr(Index depth);
@@ -84,13 +84,16 @@ class TypeChecker {
Result OnDrop();
Result OnElse();
Result OnEnd();
- Result OnGetGlobal(Type);
- Result OnGetLocal(Type);
+ Result OnGlobalGet(Type);
+ Result OnGlobalSet(Type);
Result OnIf(const TypeVector& param_types, const TypeVector& result_types);
Result OnIfExcept(const TypeVector& param_types,
const TypeVector& result_types,
const TypeVector& except_sig);
Result OnLoad(Opcode);
+ Result OnLocalGet(Type);
+ Result OnLocalSet(Type);
+ Result OnLocalTee(Type);
Result OnLoop(const TypeVector& param_types, const TypeVector& result_types);
Result OnMemoryCopy();
Result OnMemoryDrop(Index);
@@ -104,12 +107,9 @@ class TypeChecker {
Result OnRethrow();
Result OnReturn();
Result OnSelect();
- Result OnSetGlobal(Type);
- Result OnSetLocal(Type);
Result OnSimdLaneOp(Opcode, uint64_t);
Result OnSimdShuffleOp(Opcode, v128);
Result OnStore(Opcode);
- Result OnTeeLocal(Type);
Result OnTernary(Opcode);
Result OnThrow(const TypeVector& sig);
Result OnTry(const TypeVector& param_types, const TypeVector& result_types);
diff --git a/src/validator.cc b/src/validator.cc
index 08976f2a..b410bee8 100644
--- a/src/validator.cc
+++ b/src/validator.cc
@@ -55,8 +55,8 @@ class Validator : public ExprVisitor::Delegate {
Result OnConstExpr(ConstExpr*) override;
Result OnConvertExpr(ConvertExpr*) override;
Result OnDropExpr(DropExpr*) override;
- Result OnGetGlobalExpr(GetGlobalExpr*) override;
- Result OnGetLocalExpr(GetLocalExpr*) override;
+ Result OnGlobalGetExpr(GlobalGetExpr*) override;
+ Result OnGlobalSetExpr(GlobalSetExpr*) override;
Result BeginIfExpr(IfExpr*) override;
Result AfterIfTrueExpr(IfExpr*) override;
Result EndIfExpr(IfExpr*) override;
@@ -64,6 +64,9 @@ class Validator : public ExprVisitor::Delegate {
Result AfterIfExceptTrueExpr(IfExceptExpr*) override;
Result EndIfExceptExpr(IfExceptExpr*) override;
Result OnLoadExpr(LoadExpr*) override;
+ Result OnLocalGetExpr(LocalGetExpr*) override;
+ Result OnLocalSetExpr(LocalSetExpr*) override;
+ Result OnLocalTeeExpr(LocalTeeExpr*) override;
Result BeginLoopExpr(LoopExpr*) override;
Result EndLoopExpr(LoopExpr*) override;
Result OnMemoryCopyExpr(MemoryCopyExpr*) override;
@@ -80,10 +83,7 @@ class Validator : public ExprVisitor::Delegate {
Result OnReturnCallExpr(ReturnCallExpr*) override;
Result OnReturnCallIndirectExpr(ReturnCallIndirectExpr*) override;
Result OnSelectExpr(SelectExpr*) override;
- Result OnSetGlobalExpr(SetGlobalExpr*) override;
- Result OnSetLocalExpr(SetLocalExpr*) override;
Result OnStoreExpr(StoreExpr*) override;
- Result OnTeeLocalExpr(TeeLocalExpr*) override;
Result OnUnaryExpr(UnaryExpr*) override;
Result OnUnreachableExpr(UnreachableExpr*) override;
Result BeginTryExpr(TryExpr*) override;
@@ -92,7 +92,7 @@ class Validator : public ExprVisitor::Delegate {
Result OnThrowExpr(ThrowExpr*) override;
Result OnRethrowExpr(RethrowExpr*) override;
Result OnAtomicWaitExpr(AtomicWaitExpr*) override;
- Result OnAtomicWakeExpr(AtomicWakeExpr*) override;
+ Result OnAtomicNotifyExpr(AtomicNotifyExpr*) override;
Result OnAtomicLoadExpr(AtomicLoadExpr*) override;
Result OnAtomicStoreExpr(AtomicStoreExpr*) override;
Result OnAtomicRmwExpr(AtomicRmwExpr*) override;
@@ -632,15 +632,26 @@ Result Validator::OnDropExpr(DropExpr* expr) {
return Result::Ok;
}
-Result Validator::OnGetGlobalExpr(GetGlobalExpr* expr) {
+Result Validator::OnGlobalGetExpr(GlobalGetExpr* expr) {
expr_loc_ = &expr->loc;
- typechecker_.OnGetGlobal(GetGlobalVarTypeOrAny(&expr->var));
+ typechecker_.OnGlobalGet(GetGlobalVarTypeOrAny(&expr->var));
return Result::Ok;
}
-Result Validator::OnGetLocalExpr(GetLocalExpr* expr) {
+Result Validator::OnGlobalSetExpr(GlobalSetExpr* expr) {
expr_loc_ = &expr->loc;
- typechecker_.OnGetLocal(GetLocalVarTypeOrAny(&expr->var));
+ Type type = Type::Any;
+ const Global* global;
+ Index global_index;
+ if (Succeeded(CheckGlobalVar(&expr->var, &global, &global_index))) {
+ if (!global->mutable_) {
+ PrintError(&expr->loc,
+ "can't global.set on immutable global at index %" PRIindex ".",
+ global_index);
+ }
+ type = global->type;
+ }
+ typechecker_.OnGlobalSet(type);
return Result::Ok;
}
@@ -702,6 +713,24 @@ Result Validator::OnLoadExpr(LoadExpr* expr) {
return Result::Ok;
}
+Result Validator::OnLocalGetExpr(LocalGetExpr* expr) {
+ expr_loc_ = &expr->loc;
+ typechecker_.OnLocalGet(GetLocalVarTypeOrAny(&expr->var));
+ return Result::Ok;
+}
+
+Result Validator::OnLocalSetExpr(LocalSetExpr* expr) {
+ expr_loc_ = &expr->loc;
+ typechecker_.OnLocalSet(GetLocalVarTypeOrAny(&expr->var));
+ return Result::Ok;
+}
+
+Result Validator::OnLocalTeeExpr(LocalTeeExpr* expr) {
+ expr_loc_ = &expr->loc;
+ typechecker_.OnLocalTee(GetLocalVarTypeOrAny(&expr->var));
+ return Result::Ok;
+}
+
Result Validator::BeginLoopExpr(LoopExpr* expr) {
expr_loc_ = &expr->loc;
CheckBlockDeclaration(&expr->loc, Opcode::Loop, &expr->block.decl);
@@ -821,29 +850,6 @@ Result Validator::OnSelectExpr(SelectExpr* expr) {
return Result::Ok;
}
-Result Validator::OnSetGlobalExpr(SetGlobalExpr* expr) {
- expr_loc_ = &expr->loc;
- Type type = Type::Any;
- const Global* global;
- Index global_index;
- if (Succeeded(CheckGlobalVar(&expr->var, &global, &global_index))) {
- if (!global->mutable_) {
- PrintError(&expr->loc,
- "can't set_global on immutable global at index %" PRIindex ".",
- global_index);
- }
- type = global->type;
- }
- typechecker_.OnSetGlobal(type);
- return Result::Ok;
-}
-
-Result Validator::OnSetLocalExpr(SetLocalExpr* expr) {
- expr_loc_ = &expr->loc;
- typechecker_.OnSetLocal(GetLocalVarTypeOrAny(&expr->var));
- return Result::Ok;
-}
-
Result Validator::OnStoreExpr(StoreExpr* expr) {
expr_loc_ = &expr->loc;
CheckHasMemory(&expr->loc, expr->opcode);
@@ -853,12 +859,6 @@ Result Validator::OnStoreExpr(StoreExpr* expr) {
return Result::Ok;
}
-Result Validator::OnTeeLocalExpr(TeeLocalExpr* expr) {
- expr_loc_ = &expr->loc;
- typechecker_.OnTeeLocal(GetLocalVarTypeOrAny(&expr->var));
- return Result::Ok;
-}
-
Result Validator::OnUnaryExpr(UnaryExpr* expr) {
expr_loc_ = &expr->loc;
typechecker_.OnUnary(expr->opcode);
@@ -911,9 +911,9 @@ Result Validator::OnAtomicWaitExpr(AtomicWaitExpr* expr) {
return Result::Ok;
}
-Result Validator::OnAtomicWakeExpr(AtomicWakeExpr* expr) {
+Result Validator::OnAtomicNotifyExpr(AtomicNotifyExpr* expr) {
expr_loc_ = &expr->loc;
- CheckAtomicExpr(expr, &TypeChecker::OnAtomicWake);
+ CheckAtomicExpr(expr, &TypeChecker::OnAtomicNotify);
return Result::Ok;
}
@@ -991,7 +991,7 @@ void Validator::CheckFunc(const Location* loc, const Func* func) {
void Validator::PrintConstExprError(const Location* loc, const char* desc) {
PrintError(loc,
"invalid %s, must be a constant expression; either *.const or "
- "get_global.",
+ "global.get.",
desc);
}
@@ -1014,10 +1014,10 @@ void Validator::CheckConstInitExpr(const Location* loc,
type = cast<ConstExpr>(expr)->const_.type;
break;
- case ExprType::GetGlobal: {
+ case ExprType::GlobalGet: {
const Global* ref_global = nullptr;
Index ref_global_index;
- if (Failed(CheckGlobalVar(&cast<GetGlobalExpr>(expr)->var, &ref_global,
+ if (Failed(CheckGlobalVar(&cast<GlobalGetExpr>(expr)->var, &ref_global,
&ref_global_index))) {
return;
}
diff --git a/src/wast-lexer.cc b/src/wast-lexer.cc
index 4c3a79f5..362fb7ed 100644
--- a/src/wast-lexer.cc
+++ b/src/wast-lexer.cc
@@ -257,7 +257,7 @@ Token WastLexer::GetToken(WastParser* parser) {
<i> "f32" { RETURN_TYPE(ValueType, F32); }
<i> "f64" { RETURN_TYPE(ValueType, F64); }
<i> "v128" { RETURN_TYPE(ValueType, V128); }
- <i> "anyfunc" { RETURN(Anyfunc); }
+ <i> "funcref" { RETURN(Funcref); }
<i> "mut" { RETURN(Mut); }
<i> "nop" { RETURN_OPCODE0(Nop); }
<i> "block" { RETURN_OPCODE0(Block); }
@@ -273,11 +273,11 @@ Token WastLexer::GetToken(WastParser* parser) {
<i> "drop" { RETURN_OPCODE0(Drop); }
<i> "end" { RETURN_OPCODE0(End); }
<i> "return" { RETURN_OPCODE0(Return); }
- <i> "get_local" { RETURN_OPCODE0(GetLocal); }
- <i> "set_local" { RETURN_OPCODE0(SetLocal); }
- <i> "tee_local" { RETURN_OPCODE0(TeeLocal); }
- <i> "get_global" { RETURN_OPCODE0(GetGlobal); }
- <i> "set_global" { RETURN_OPCODE0(SetGlobal); }
+ <i> "local.get" { RETURN_OPCODE0(LocalGet); }
+ <i> "local.set" { RETURN_OPCODE0(LocalSet); }
+ <i> "local.tee" { RETURN_OPCODE0(LocalTee); }
+ <i> "global.get" { RETURN_OPCODE0(GlobalGet); }
+ <i> "global.set" { RETURN_OPCODE0(GlobalSet); }
<i> "i32.load" { RETURN_OPCODE(Load, I32Load); }
<i> "i64.load" { RETURN_OPCODE(Load, I64Load); }
<i> "f32.load" { RETURN_OPCODE(Load, F32Load); }
@@ -410,39 +410,39 @@ Token WastLexer::GetToken(WastParser* parser) {
<i> "f64.gt" { RETURN_OPCODE(Compare, F64Gt); }
<i> "f32.ge" { RETURN_OPCODE(Compare, F32Ge); }
<i> "f64.ge" { RETURN_OPCODE(Compare, F64Ge); }
- <i> "i64.extend_s/i32" { RETURN_OPCODE(Convert, I64ExtendSI32); }
- <i> "i64.extend_u/i32" { RETURN_OPCODE(Convert, I64ExtendUI32); }
- <i> "i32.wrap/i64" { RETURN_OPCODE(Convert, I32WrapI64); }
- <i> "i32.trunc_s/f32" { RETURN_OPCODE(Convert, I32TruncSF32); }
- <i> "i64.trunc_s/f32" { RETURN_OPCODE(Convert, I64TruncSF32); }
- <i> "i32.trunc_s/f64" { RETURN_OPCODE(Convert, I32TruncSF64); }
- <i> "i64.trunc_s/f64" { RETURN_OPCODE(Convert, I64TruncSF64); }
- <i> "i32.trunc_u/f32" { RETURN_OPCODE(Convert, I32TruncUF32); }
- <i> "i64.trunc_u/f32" { RETURN_OPCODE(Convert, I64TruncUF32); }
- <i> "i32.trunc_u/f64" { RETURN_OPCODE(Convert, I32TruncUF64); }
- <i> "i64.trunc_u/f64" { RETURN_OPCODE(Convert, I64TruncUF64); }
- <i> "i32.trunc_s:sat/f32" { RETURN_OPCODE(Convert, I32TruncSSatF32); }
- <i> "i64.trunc_s:sat/f32" { RETURN_OPCODE(Convert, I64TruncSSatF32); }
- <i> "i32.trunc_s:sat/f64" { RETURN_OPCODE(Convert, I32TruncSSatF64); }
- <i> "i64.trunc_s:sat/f64" { RETURN_OPCODE(Convert, I64TruncSSatF64); }
- <i> "i32.trunc_u:sat/f32" { RETURN_OPCODE(Convert, I32TruncUSatF32); }
- <i> "i64.trunc_u:sat/f32" { RETURN_OPCODE(Convert, I64TruncUSatF32); }
- <i> "i32.trunc_u:sat/f64" { RETURN_OPCODE(Convert, I32TruncUSatF64); }
- <i> "i64.trunc_u:sat/f64" { RETURN_OPCODE(Convert, I64TruncUSatF64); }
- <i> "f32.convert_s/i32" { RETURN_OPCODE(Convert, F32ConvertSI32); }
- <i> "f64.convert_s/i32" { RETURN_OPCODE(Convert, F64ConvertSI32); }
- <i> "f32.convert_s/i64" { RETURN_OPCODE(Convert, F32ConvertSI64); }
- <i> "f64.convert_s/i64" { RETURN_OPCODE(Convert, F64ConvertSI64); }
- <i> "f32.convert_u/i32" { RETURN_OPCODE(Convert, F32ConvertUI32); }
- <i> "f64.convert_u/i32" { RETURN_OPCODE(Convert, F64ConvertUI32); }
- <i> "f32.convert_u/i64" { RETURN_OPCODE(Convert, F32ConvertUI64); }
- <i> "f64.convert_u/i64" { RETURN_OPCODE(Convert, F64ConvertUI64); }
- <i> "f64.promote/f32" { RETURN_OPCODE(Convert, F64PromoteF32); }
- <i> "f32.demote/f64" { RETURN_OPCODE(Convert, F32DemoteF64); }
- <i> "f32.reinterpret/i32" { RETURN_OPCODE(Convert, F32ReinterpretI32); }
- <i> "i32.reinterpret/f32" { RETURN_OPCODE(Convert, I32ReinterpretF32); }
- <i> "f64.reinterpret/i64" { RETURN_OPCODE(Convert, F64ReinterpretI64); }
- <i> "i64.reinterpret/f64" { RETURN_OPCODE(Convert, I64ReinterpretF64); }
+ <i> "i64.extend_i32_s" { RETURN_OPCODE(Convert, I64ExtendI32S); }
+ <i> "i64.extend_i32_u" { RETURN_OPCODE(Convert, I64ExtendI32U); }
+ <i> "i32.wrap_i64" { RETURN_OPCODE(Convert, I32WrapI64); }
+ <i> "i32.trunc_f32_s" { RETURN_OPCODE(Convert, I32TruncF32S); }
+ <i> "i64.trunc_f32_s" { RETURN_OPCODE(Convert, I64TruncF32S); }
+ <i> "i32.trunc_f64_s" { RETURN_OPCODE(Convert, I32TruncF64S); }
+ <i> "i64.trunc_f64_s" { RETURN_OPCODE(Convert, I64TruncF64S); }
+ <i> "i32.trunc_f32_u" { RETURN_OPCODE(Convert, I32TruncF32U); }
+ <i> "i64.trunc_f32_u" { RETURN_OPCODE(Convert, I64TruncF32U); }
+ <i> "i32.trunc_f64_u" { RETURN_OPCODE(Convert, I32TruncF64U); }
+ <i> "i64.trunc_f64_u" { RETURN_OPCODE(Convert, I64TruncF64U); }
+ <i> "i32.trunc_sat_f32_s" { RETURN_OPCODE(Convert, I32TruncSatF32S); }
+ <i> "i64.trunc_sat_f32_s" { RETURN_OPCODE(Convert, I64TruncSatF32S); }
+ <i> "i32.trunc_sat_f64_s" { RETURN_OPCODE(Convert, I32TruncSatF64S); }
+ <i> "i64.trunc_sat_f64_s" { RETURN_OPCODE(Convert, I64TruncSatF64S); }
+ <i> "i32.trunc_sat_f32_u" { RETURN_OPCODE(Convert, I32TruncSatF32U); }
+ <i> "i64.trunc_sat_f32_u" { RETURN_OPCODE(Convert, I64TruncSatF32U); }
+ <i> "i32.trunc_sat_f64_u" { RETURN_OPCODE(Convert, I32TruncSatF64U); }
+ <i> "i64.trunc_sat_f64_u" { RETURN_OPCODE(Convert, I64TruncSatF64U); }
+ <i> "f32.convert_i32_s" { RETURN_OPCODE(Convert, F32ConvertI32S); }
+ <i> "f64.convert_i32_s" { RETURN_OPCODE(Convert, F64ConvertI32S); }
+ <i> "f32.convert_i64_s" { RETURN_OPCODE(Convert, F32ConvertI64S); }
+ <i> "f64.convert_i64_s" { RETURN_OPCODE(Convert, F64ConvertI64S); }
+ <i> "f32.convert_i32_u" { RETURN_OPCODE(Convert, F32ConvertI32U); }
+ <i> "f64.convert_i32_u" { RETURN_OPCODE(Convert, F64ConvertI32U); }
+ <i> "f32.convert_i64_u" { RETURN_OPCODE(Convert, F32ConvertI64U); }
+ <i> "f64.convert_i64_u" { RETURN_OPCODE(Convert, F64ConvertI64U); }
+ <i> "f64.promote_f32" { RETURN_OPCODE(Convert, F64PromoteF32); }
+ <i> "f32.demote_f64" { RETURN_OPCODE(Convert, F32DemoteF64); }
+ <i> "f32.reinterpret_i32" { RETURN_OPCODE(Convert, F32ReinterpretI32); }
+ <i> "i32.reinterpret_f32" { RETURN_OPCODE(Convert, I32ReinterpretF32); }
+ <i> "f64.reinterpret_i64" { RETURN_OPCODE(Convert, F64ReinterpretI64); }
+ <i> "i64.reinterpret_f64" { RETURN_OPCODE(Convert, I64ReinterpretF64); }
<i> "select" { RETURN_OPCODE0(Select); }
<i> "unreachable" { RETURN_OPCODE0(Unreachable); }
<i> "memory.size" { RETURN_OPCODE0(MemorySize); }
@@ -459,7 +459,7 @@ Token WastLexer::GetToken(WastParser* parser) {
<i> "i32.atomic.wait" { RETURN_OPCODE(AtomicWait, I32AtomicWait); }
<i> "i64.atomic.wait" { RETURN_OPCODE(AtomicWait, I64AtomicWait); }
- <i> "atomic.wake" { RETURN_OPCODE0(AtomicWake); }
+ <i> "atomic.notify" { RETURN_OPCODE0(AtomicNotify); }
<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); }
@@ -476,53 +476,53 @@ Token WastLexer::GetToken(WastParser* parser) {
<i> "i64.atomic.store32" { RETURN_OPCODE(AtomicStore, I64AtomicStore32); }
<i> "i32.atomic.rmw.add" { RETURN_OPCODE(AtomicRmw, I32AtomicRmwAdd); }
<i> "i64.atomic.rmw.add" { RETURN_OPCODE(AtomicRmw, I64AtomicRmwAdd); }
- <i> "i32.atomic.rmw8_u.add" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UAdd); }
- <i> "i32.atomic.rmw16_u.add" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UAdd); }
- <i> "i64.atomic.rmw8_u.add" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UAdd); }
- <i> "i64.atomic.rmw16_u.add" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UAdd); }
- <i> "i64.atomic.rmw32_u.add" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UAdd); }
+ <i> "i32.atomic.rmw8.add_u" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8AddU); }
+ <i> "i32.atomic.rmw16.add_u" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16AddU); }
+ <i> "i64.atomic.rmw8.add_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8AddU); }
+ <i> "i64.atomic.rmw16.add_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16AddU); }
+ <i> "i64.atomic.rmw32.add_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32AddU); }
<i> "i32.atomic.rmw.sub" { RETURN_OPCODE(AtomicRmw, I32AtomicRmwSub); }
<i> "i64.atomic.rmw.sub" { RETURN_OPCODE(AtomicRmw, I64AtomicRmwSub); }
- <i> "i32.atomic.rmw8_u.sub" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8USub); }
- <i> "i32.atomic.rmw16_u.sub" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16USub); }
- <i> "i64.atomic.rmw8_u.sub" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8USub); }
- <i> "i64.atomic.rmw16_u.sub" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16USub); }
- <i> "i64.atomic.rmw32_u.sub" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32USub); }
+ <i> "i32.atomic.rmw8.sub_u" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8SubU); }
+ <i> "i32.atomic.rmw16.sub_u" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16SubU); }
+ <i> "i64.atomic.rmw8.sub_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8SubU); }
+ <i> "i64.atomic.rmw16.sub_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16SubU); }
+ <i> "i64.atomic.rmw32.sub_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32SubU); }
<i> "i32.atomic.rmw.and" { RETURN_OPCODE(AtomicRmw, I32AtomicRmwAnd); }
<i> "i64.atomic.rmw.and" { RETURN_OPCODE(AtomicRmw, I64AtomicRmwAnd); }
- <i> "i32.atomic.rmw8_u.and" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UAnd); }
- <i> "i32.atomic.rmw16_u.and" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UAnd); }
- <i> "i64.atomic.rmw8_u.and" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UAnd); }
- <i> "i64.atomic.rmw16_u.and" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UAnd); }
- <i> "i64.atomic.rmw32_u.and" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UAnd); }
+ <i> "i32.atomic.rmw8.and_u" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8AndU); }
+ <i> "i32.atomic.rmw16.and_u" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16AndU); }
+ <i> "i64.atomic.rmw8.and_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8AndU); }
+ <i> "i64.atomic.rmw16.and_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16AndU); }
+ <i> "i64.atomic.rmw32.and_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32AndU); }
<i> "i32.atomic.rmw.or" { RETURN_OPCODE(AtomicRmw, I32AtomicRmwOr); }
<i> "i64.atomic.rmw.or" { RETURN_OPCODE(AtomicRmw, I64AtomicRmwOr); }
- <i> "i32.atomic.rmw8_u.or" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UOr); }
- <i> "i32.atomic.rmw16_u.or" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UOr); }
- <i> "i64.atomic.rmw8_u.or" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UOr); }
- <i> "i64.atomic.rmw16_u.or" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UOr); }
- <i> "i64.atomic.rmw32_u.or" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UOr); }
+ <i> "i32.atomic.rmw8.or_u" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8OrU); }
+ <i> "i32.atomic.rmw16.or_u" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16OrU); }
+ <i> "i64.atomic.rmw8.or_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8OrU); }
+ <i> "i64.atomic.rmw16.or_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16OrU); }
+ <i> "i64.atomic.rmw32.or_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32OrU); }
<i> "i32.atomic.rmw.xor" { RETURN_OPCODE(AtomicRmw, I32AtomicRmwXor); }
<i> "i64.atomic.rmw.xor" { RETURN_OPCODE(AtomicRmw, I64AtomicRmwXor); }
- <i> "i32.atomic.rmw8_u.xor" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UXor); }
- <i> "i32.atomic.rmw16_u.xor" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UXor); }
- <i> "i64.atomic.rmw8_u.xor" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UXor); }
- <i> "i64.atomic.rmw16_u.xor" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UXor); }
- <i> "i64.atomic.rmw32_u.xor" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UXor); }
+ <i> "i32.atomic.rmw8.xor_u" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8XorU); }
+ <i> "i32.atomic.rmw16.xor_u" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16XorU); }
+ <i> "i64.atomic.rmw8.xor_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8XorU); }
+ <i> "i64.atomic.rmw16.xor_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16XorU); }
+ <i> "i64.atomic.rmw32.xor_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32XorU); }
<i> "i32.atomic.rmw.xchg" { RETURN_OPCODE(AtomicRmw, I32AtomicRmwXchg); }
<i> "i64.atomic.rmw.xchg" { RETURN_OPCODE(AtomicRmw, I64AtomicRmwXchg); }
- <i> "i32.atomic.rmw8_u.xchg" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UXchg); }
- <i> "i32.atomic.rmw16_u.xchg" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UXchg); }
- <i> "i64.atomic.rmw8_u.xchg" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UXchg); }
- <i> "i64.atomic.rmw16_u.xchg" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UXchg); }
- <i> "i64.atomic.rmw32_u.xchg" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UXchg); }
+ <i> "i32.atomic.rmw8.xchg_u" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw8XchgU); }
+ <i> "i32.atomic.rmw16.xchg_u" { RETURN_OPCODE(AtomicRmw, I32AtomicRmw16XchgU); }
+ <i> "i64.atomic.rmw8.xchg_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw8XchgU); }
+ <i> "i64.atomic.rmw16.xchg_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw16XchgU); }
+ <i> "i64.atomic.rmw32.xchg_u" { RETURN_OPCODE(AtomicRmw, I64AtomicRmw32XchgU); }
<i> "i32.atomic.rmw.cmpxchg" { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmwCmpxchg); }
<i> "i64.atomic.rmw.cmpxchg" { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmwCmpxchg); }
- <i> "i32.atomic.rmw8_u.cmpxchg" { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmw8UCmpxchg); }
- <i> "i32.atomic.rmw16_u.cmpxchg" { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmw16UCmpxchg); }
- <i> "i64.atomic.rmw8_u.cmpxchg" { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw8UCmpxchg); }
- <i> "i64.atomic.rmw16_u.cmpxchg" { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw16UCmpxchg); }
- <i> "i64.atomic.rmw32_u.cmpxchg" { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw32UCmpxchg); }
+ <i> "i32.atomic.rmw8.cmpxchg_u" { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmw8CmpxchgU); }
+ <i> "i32.atomic.rmw16.cmpxchg_u" { RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmw16CmpxchgU); }
+ <i> "i64.atomic.rmw8.cmpxchg_u" { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw8CmpxchgU); }
+ <i> "i64.atomic.rmw16.cmpxchg_u" { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw16CmpxchgU); }
+ <i> "i64.atomic.rmw32.cmpxchg_u" { RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw32CmpxchgU); }
<i> "v128.const" { RETURN_OPCODE(Const, V128Const); }
<i> "v128.load" { RETURN_OPCODE(Load, V128Load); }
<i> "v128.store" { RETURN_OPCODE(Store, V128Store); }
@@ -653,19 +653,60 @@ Token WastLexer::GetToken(WastParser* parser) {
<i> "f64x2.div" { RETURN_OPCODE(Binary, F64X2Div); }
<i> "f32x4.mul" { RETURN_OPCODE(Binary, F32X4Mul); }
<i> "f64x2.mul" { RETURN_OPCODE(Binary, F64X2Mul); }
- <i> "f32x4.sqrt" { RETURN_OPCODE(Unary, F32X4Sqrt); }
- <i> "f64x2.sqrt" { RETURN_OPCODE(Unary, F64X2Sqrt); }
- <i> "f32x4.convert_s/i32x4" { RETURN_OPCODE(Unary, F32X4ConvertSI32X4); }
- <i> "f32x4.convert_u/i32x4" { RETURN_OPCODE(Unary, F32X4ConvertUI32X4); }
- <i> "f64x2.convert_s/i64x2" { RETURN_OPCODE(Unary, F64X2ConvertSI64X2); }
- <i> "f64x2.convert_u/i64x2" { RETURN_OPCODE(Unary, F64X2ConvertUI64X2); }
- <i> "i32x4.trunc_s/f32x4:sat" { RETURN_OPCODE(Unary, I32X4TruncSF32X4Sat); }
- <i> "i32x4.trunc_u/f32x4:sat" { RETURN_OPCODE(Unary, I32X4TruncUF32X4Sat); }
- <i> "i64x2.trunc_s/f64x2:sat" { RETURN_OPCODE(Unary, I64X2TruncSF64X2Sat); }
- <i> "i64x2.trunc_u/f64x2:sat" { RETURN_OPCODE(Unary, I64X2TruncUF64X2Sat); }
+ <i> "f32x4.sqrt" { RETURN_OPCODE(Unary, F32X4Sqrt); }
+ <i> "f64x2.sqrt" { RETURN_OPCODE(Unary, F64X2Sqrt); }
+ <i> "f32x4.convert_i32x4_s" { RETURN_OPCODE(Unary, F32X4ConvertI32X4S); }
+ <i> "f32x4.convert_i32x4_u" { RETURN_OPCODE(Unary, F32X4ConvertI32X4U); }
+ <i> "f64x2.convert_i64x2_s" { RETURN_OPCODE(Unary, F64X2ConvertI64X2S); }
+ <i> "f64x2.convert_i64x2_u" { RETURN_OPCODE(Unary, F64X2ConvertI64X2U); }
+ <i> "i32x4.trunc_sat_f32x4_s" { RETURN_OPCODE(Unary, I32X4TruncSatF32X4S); }
+ <i> "i32x4.trunc_sat_f32x4_u" { RETURN_OPCODE(Unary, I32X4TruncSatF32X4U); }
+ <i> "i64x2.trunc_sat_f64x2_s" { RETURN_OPCODE(Unary, I64X2TruncSatF64X2S); }
+ <i> "i64x2.trunc_sat_f64x2_u" { RETURN_OPCODE(Unary, I64X2TruncSatF64X2U); }
<i> "return_call" { RETURN_OPCODE0(ReturnCall); }
<i> "return_call_indirect" { RETURN_OPCODE0(ReturnCallIndirect); }
+ // Deprecated names.
+ <i> "anyfunc" { RETURN(Funcref); }
+ <i> "get_local" { RETURN_OPCODE0(LocalGet); }
+ <i> "set_local" { RETURN_OPCODE0(LocalSet); }
+ <i> "tee_local" { RETURN_OPCODE0(LocalTee); }
+ <i> "get_global" { RETURN_OPCODE0(GlobalGet); }
+ <i> "set_global" { RETURN_OPCODE0(GlobalSet); }
+ <i> "i64.extend_s/i32" { RETURN_OPCODE(Convert, I64ExtendI32S); }
+ <i> "i64.extend_u/i32" { RETURN_OPCODE(Convert, I64ExtendI32U); }
+ <i> "i32.wrap/i64" { RETURN_OPCODE(Convert, I32WrapI64); }
+ <i> "i32.trunc_s/f32" { RETURN_OPCODE(Convert, I32TruncF32S); }
+ <i> "i64.trunc_s/f32" { RETURN_OPCODE(Convert, I64TruncF32S); }
+ <i> "i32.trunc_s/f64" { RETURN_OPCODE(Convert, I32TruncF64S); }
+ <i> "i64.trunc_s/f64" { RETURN_OPCODE(Convert, I64TruncF64S); }
+ <i> "i32.trunc_u/f32" { RETURN_OPCODE(Convert, I32TruncF32U); }
+ <i> "i64.trunc_u/f32" { RETURN_OPCODE(Convert, I64TruncF32U); }
+ <i> "i32.trunc_u/f64" { RETURN_OPCODE(Convert, I32TruncF64U); }
+ <i> "i64.trunc_u/f64" { RETURN_OPCODE(Convert, I64TruncF64U); }
+ <i> "f32.convert_s/i32" { RETURN_OPCODE(Convert, F32ConvertI32S); }
+ <i> "f64.convert_s/i32" { RETURN_OPCODE(Convert, F64ConvertI32S); }
+ <i> "f32.convert_s/i64" { RETURN_OPCODE(Convert, F32ConvertI64S); }
+ <i> "f64.convert_s/i64" { RETURN_OPCODE(Convert, F64ConvertI64S); }
+ <i> "f32.convert_u/i32" { RETURN_OPCODE(Convert, F32ConvertI32U); }
+ <i> "f64.convert_u/i32" { RETURN_OPCODE(Convert, F64ConvertI32U); }
+ <i> "f32.convert_u/i64" { RETURN_OPCODE(Convert, F32ConvertI64U); }
+ <i> "f64.convert_u/i64" { RETURN_OPCODE(Convert, F64ConvertI64U); }
+ <i> "f64.promote/f32" { RETURN_OPCODE(Convert, F64PromoteF32); }
+ <i> "f32.demote/f64" { RETURN_OPCODE(Convert, F32DemoteF64); }
+ <i> "f32.reinterpret/i32" { RETURN_OPCODE(Convert, F32ReinterpretI32); }
+ <i> "i32.reinterpret/f32" { RETURN_OPCODE(Convert, I32ReinterpretF32); }
+ <i> "f64.reinterpret/i64" { RETURN_OPCODE(Convert, F64ReinterpretI64); }
+ <i> "i64.reinterpret/f64" { RETURN_OPCODE(Convert, I64ReinterpretF64); }
+ <i> "i32.trunc_s:sat/f32" { RETURN_OPCODE(Convert, I32TruncSatF32S); }
+ <i> "i64.trunc_s:sat/f32" { RETURN_OPCODE(Convert, I64TruncSatF32S); }
+ <i> "i32.trunc_s:sat/f64" { RETURN_OPCODE(Convert, I32TruncSatF64S); }
+ <i> "i64.trunc_s:sat/f64" { RETURN_OPCODE(Convert, I64TruncSatF64S); }
+ <i> "i32.trunc_u:sat/f32" { RETURN_OPCODE(Convert, I32TruncSatF32U); }
+ <i> "i64.trunc_u:sat/f32" { RETURN_OPCODE(Convert, I64TruncSatF32U); }
+ <i> "i32.trunc_u:sat/f64" { RETURN_OPCODE(Convert, I32TruncSatF64U); }
+ <i> "i64.trunc_u:sat/f64" { RETURN_OPCODE(Convert, I64TruncSatF64U); }
+
<i> "type" { RETURN(Type); }
<i> "func" { RETURN(Func); }
<i> "param" { RETURN(Param); }
diff --git a/src/wast-parser.cc b/src/wast-parser.cc
index f9e89151..55fa0d0d 100644
--- a/src/wast-parser.cc
+++ b/src/wast-parser.cc
@@ -117,11 +117,11 @@ bool IsPlainInstr(TokenType token_type) {
case TokenType::ReturnCallIndirect:
case TokenType::Call:
case TokenType::CallIndirect:
- case TokenType::GetLocal:
- case TokenType::SetLocal:
- case TokenType::TeeLocal:
- case TokenType::GetGlobal:
- case TokenType::SetGlobal:
+ case TokenType::LocalGet:
+ case TokenType::LocalSet:
+ case TokenType::LocalTee:
+ case TokenType::GlobalGet:
+ case TokenType::GlobalSet:
case TokenType::Load:
case TokenType::Store:
case TokenType::Const:
@@ -144,7 +144,7 @@ bool IsPlainInstr(TokenType token_type) {
case TokenType::AtomicStore:
case TokenType::AtomicRmw:
case TokenType::AtomicRmwCmpxchg:
- case TokenType::AtomicWake:
+ case TokenType::AtomicNotify:
case TokenType::AtomicWait:
case TokenType::Ternary:
case TokenType::SimdLaneOp:
@@ -999,7 +999,7 @@ Result WastParser::ParseImportModuleField(Module* module) {
ParseBindVarOpt(&name);
auto import = MakeUnique<TableImport>(name);
CHECK_RESULT(ParseLimits(&import->table.elem_limits));
- EXPECT(Anyfunc);
+ EXPECT(Funcref);
EXPECT(Rpar);
field = MakeUnique<ImportModuleField>(std::move(import), loc);
break;
@@ -1124,11 +1124,11 @@ Result WastParser::ParseTableModuleField(Module* module) {
auto import = MakeUnique<TableImport>(name);
CHECK_RESULT(ParseInlineImport(import.get()));
CHECK_RESULT(ParseLimits(&import->table.elem_limits));
- EXPECT(Anyfunc);
+ EXPECT(Funcref);
auto field =
MakeUnique<ImportModuleField>(std::move(import), GetLocation());
module->AppendField(std::move(field));
- } else if (Match(TokenType::Anyfunc)) {
+ } else if (Match(TokenType::Funcref)) {
EXPECT(Lpar);
EXPECT(Elem);
@@ -1149,7 +1149,7 @@ Result WastParser::ParseTableModuleField(Module* module) {
} else {
auto field = MakeUnique<TableModuleField>(loc, name);
CHECK_RESULT(ParseLimits(&field->table.elem_limits));
- EXPECT(Anyfunc);
+ EXPECT(Funcref);
module->AppendField(std::move(field));
}
@@ -1410,29 +1410,29 @@ Result WastParser::ParsePlainInstr(std::unique_ptr<Expr>* out_expr) {
break;
}
- case TokenType::GetLocal:
+ case TokenType::LocalGet:
Consume();
- CHECK_RESULT(ParsePlainInstrVar<GetLocalExpr>(loc, out_expr));
+ CHECK_RESULT(ParsePlainInstrVar<LocalGetExpr>(loc, out_expr));
break;
- case TokenType::SetLocal:
+ case TokenType::LocalSet:
Consume();
- CHECK_RESULT(ParsePlainInstrVar<SetLocalExpr>(loc, out_expr));
+ CHECK_RESULT(ParsePlainInstrVar<LocalSetExpr>(loc, out_expr));
break;
- case TokenType::TeeLocal:
+ case TokenType::LocalTee:
Consume();
- CHECK_RESULT(ParsePlainInstrVar<TeeLocalExpr>(loc, out_expr));
+ CHECK_RESULT(ParsePlainInstrVar<LocalTeeExpr>(loc, out_expr));
break;
- case TokenType::GetGlobal:
+ case TokenType::GlobalGet:
Consume();
- CHECK_RESULT(ParsePlainInstrVar<GetGlobalExpr>(loc, out_expr));
+ CHECK_RESULT(ParsePlainInstrVar<GlobalGetExpr>(loc, out_expr));
break;
- case TokenType::SetGlobal:
+ case TokenType::GlobalSet:
Consume();
- CHECK_RESULT(ParsePlainInstrVar<SetGlobalExpr>(loc, out_expr));
+ CHECK_RESULT(ParsePlainInstrVar<GlobalSetExpr>(loc, out_expr));
break;
case TokenType::Load:
@@ -1529,11 +1529,11 @@ Result WastParser::ParsePlainInstr(std::unique_ptr<Expr>* out_expr) {
out_expr->reset(new RethrowExpr(loc));
break;
- case TokenType::AtomicWake: {
+ case TokenType::AtomicNotify: {
Token token = Consume();
ErrorUnlessOpcodeEnabled(token);
CHECK_RESULT(
- ParsePlainLoadStoreInstr<AtomicWakeExpr>(loc, token, out_expr));
+ ParsePlainLoadStoreInstr<AtomicNotifyExpr>(loc, token, out_expr));
break;
}
diff --git a/src/wat-writer.cc b/src/wat-writer.cc
index 58e30249..60efe761 100644
--- a/src/wat-writer.cc
+++ b/src/wat-writer.cc
@@ -551,8 +551,8 @@ class WatWriter::ExprVisitorDelegate : public ExprVisitor::Delegate {
Result OnConstExpr(ConstExpr*) override;
Result OnConvertExpr(ConvertExpr*) override;
Result OnDropExpr(DropExpr*) override;
- Result OnGetGlobalExpr(GetGlobalExpr*) override;
- Result OnGetLocalExpr(GetLocalExpr*) override;
+ Result OnGlobalGetExpr(GlobalGetExpr*) override;
+ Result OnGlobalSetExpr(GlobalSetExpr*) override;
Result BeginIfExpr(IfExpr*) override;
Result AfterIfTrueExpr(IfExpr*) override;
Result EndIfExpr(IfExpr*) override;
@@ -560,6 +560,9 @@ class WatWriter::ExprVisitorDelegate : public ExprVisitor::Delegate {
Result AfterIfExceptTrueExpr(IfExceptExpr*) override;
Result EndIfExceptExpr(IfExceptExpr*) override;
Result OnLoadExpr(LoadExpr*) override;
+ Result OnLocalGetExpr(LocalGetExpr*) override;
+ Result OnLocalSetExpr(LocalSetExpr*) override;
+ Result OnLocalTeeExpr(LocalTeeExpr*) override;
Result BeginLoopExpr(LoopExpr*) override;
Result EndLoopExpr(LoopExpr*) override;
Result OnMemoryCopyExpr(MemoryCopyExpr*) override;
@@ -576,10 +579,7 @@ class WatWriter::ExprVisitorDelegate : public ExprVisitor::Delegate {
Result OnReturnCallExpr(ReturnCallExpr*) override;
Result OnReturnCallIndirectExpr(ReturnCallIndirectExpr*) override;
Result OnSelectExpr(SelectExpr*) override;
- Result OnSetGlobalExpr(SetGlobalExpr*) override;
- Result OnSetLocalExpr(SetLocalExpr*) override;
Result OnStoreExpr(StoreExpr*) override;
- Result OnTeeLocalExpr(TeeLocalExpr*) override;
Result OnUnaryExpr(UnaryExpr*) override;
Result OnUnreachableExpr(UnreachableExpr*) override;
Result BeginTryExpr(TryExpr*) override;
@@ -588,7 +588,7 @@ class WatWriter::ExprVisitorDelegate : public ExprVisitor::Delegate {
Result OnThrowExpr(ThrowExpr*) override;
Result OnRethrowExpr(RethrowExpr*) override;
Result OnAtomicWaitExpr(AtomicWaitExpr*) override;
- Result OnAtomicWakeExpr(AtomicWakeExpr*) override;
+ Result OnAtomicNotifyExpr(AtomicNotifyExpr*) override;
Result OnAtomicLoadExpr(AtomicLoadExpr*) override;
Result OnAtomicStoreExpr(AtomicStoreExpr*) override;
Result OnAtomicRmwExpr(AtomicRmwExpr*) override;
@@ -673,14 +673,14 @@ Result WatWriter::ExprVisitorDelegate::OnDropExpr(DropExpr* expr) {
return Result::Ok;
}
-Result WatWriter::ExprVisitorDelegate::OnGetGlobalExpr(GetGlobalExpr* expr) {
- writer_->WritePutsSpace(Opcode::GetGlobal_Opcode.GetName());
+Result WatWriter::ExprVisitorDelegate::OnGlobalGetExpr(GlobalGetExpr* expr) {
+ writer_->WritePutsSpace(Opcode::GlobalGet_Opcode.GetName());
writer_->WriteVar(expr->var, NextChar::Newline);
return Result::Ok;
}
-Result WatWriter::ExprVisitorDelegate::OnGetLocalExpr(GetLocalExpr* expr) {
- writer_->WritePutsSpace(Opcode::GetLocal_Opcode.GetName());
+Result WatWriter::ExprVisitorDelegate::OnGlobalSetExpr(GlobalSetExpr* expr) {
+ writer_->WritePutsSpace(Opcode::GlobalSet_Opcode.GetName());
writer_->WriteVar(expr->var, NextChar::Newline);
return Result::Ok;
}
@@ -734,6 +734,24 @@ Result WatWriter::ExprVisitorDelegate::OnLoadExpr(LoadExpr* expr) {
return Result::Ok;
}
+Result WatWriter::ExprVisitorDelegate::OnLocalGetExpr(LocalGetExpr* expr) {
+ writer_->WritePutsSpace(Opcode::LocalGet_Opcode.GetName());
+ writer_->WriteVar(expr->var, NextChar::Newline);
+ return Result::Ok;
+}
+
+Result WatWriter::ExprVisitorDelegate::OnLocalSetExpr(LocalSetExpr* expr) {
+ writer_->WritePutsSpace(Opcode::LocalSet_Opcode.GetName());
+ writer_->WriteVar(expr->var, NextChar::Newline);
+ return Result::Ok;
+}
+
+Result WatWriter::ExprVisitorDelegate::OnLocalTeeExpr(LocalTeeExpr* expr) {
+ writer_->WritePutsSpace(Opcode::LocalTee_Opcode.GetName());
+ writer_->WriteVar(expr->var, NextChar::Newline);
+ return Result::Ok;
+}
+
Result WatWriter::ExprVisitorDelegate::BeginLoopExpr(LoopExpr* expr) {
writer_->WriteBeginBlock(LabelType::Loop, expr->block,
Opcode::Loop_Opcode.GetName());
@@ -824,29 +842,11 @@ Result WatWriter::ExprVisitorDelegate::OnSelectExpr(SelectExpr* expr) {
return Result::Ok;
}
-Result WatWriter::ExprVisitorDelegate::OnSetGlobalExpr(SetGlobalExpr* expr) {
- writer_->WritePutsSpace(Opcode::SetGlobal_Opcode.GetName());
- writer_->WriteVar(expr->var, NextChar::Newline);
- return Result::Ok;
-}
-
-Result WatWriter::ExprVisitorDelegate::OnSetLocalExpr(SetLocalExpr* expr) {
- writer_->WritePutsSpace(Opcode::SetLocal_Opcode.GetName());
- writer_->WriteVar(expr->var, NextChar::Newline);
- return Result::Ok;
-}
-
Result WatWriter::ExprVisitorDelegate::OnStoreExpr(StoreExpr* expr) {
writer_->WriteLoadStoreExpr<StoreExpr>(expr);
return Result::Ok;
}
-Result WatWriter::ExprVisitorDelegate::OnTeeLocalExpr(TeeLocalExpr* expr) {
- writer_->WritePutsSpace(Opcode::TeeLocal_Opcode.GetName());
- writer_->WriteVar(expr->var, NextChar::Newline);
- return Result::Ok;
-}
-
Result WatWriter::ExprVisitorDelegate::OnUnaryExpr(UnaryExpr* expr) {
writer_->WritePutsNewline(expr->opcode.GetName());
return Result::Ok;
@@ -894,8 +894,9 @@ Result WatWriter::ExprVisitorDelegate::OnAtomicWaitExpr(AtomicWaitExpr* expr) {
return Result::Ok;
}
-Result WatWriter::ExprVisitorDelegate::OnAtomicWakeExpr(AtomicWakeExpr* expr) {
- writer_->WriteLoadStoreExpr<AtomicWakeExpr>(expr);
+Result WatWriter::ExprVisitorDelegate::OnAtomicNotifyExpr(
+ AtomicNotifyExpr* expr) {
+ writer_->WriteLoadStoreExpr<AtomicNotifyExpr>(expr);
return Result::Ok;
}
@@ -994,8 +995,8 @@ Index WatWriter::GetFuncResultCount(const Var& var) {
void WatWriter::WriteFoldedExpr(const Expr* expr) {
WABT_TRACE_ARGS(WriteFoldedExpr, "%s", GetExprTypeName(*expr));
switch (expr->type()) {
+ case ExprType::AtomicNotify:
case ExprType::AtomicRmw:
- case ExprType::AtomicWake:
case ExprType::Binary:
case ExprType::Compare:
PushExpr(expr, 2, 1);
@@ -1052,9 +1053,9 @@ void WatWriter::WriteFoldedExpr(const Expr* expr) {
}
case ExprType::Const:
+ case ExprType::GlobalGet:
+ case ExprType::LocalGet:
case ExprType::MemorySize:
- case ExprType::GetGlobal:
- case ExprType::GetLocal:
case ExprType::Unreachable:
PushExpr(expr, 0, 1);
break;
@@ -1074,16 +1075,16 @@ void WatWriter::WriteFoldedExpr(const Expr* expr) {
case ExprType::AtomicLoad:
case ExprType::Convert:
- case ExprType::MemoryGrow:
case ExprType::Load:
- case ExprType::TeeLocal:
+ case ExprType::LocalTee:
+ case ExprType::MemoryGrow:
case ExprType::Unary:
PushExpr(expr, 1, 1);
break;
case ExprType::Drop:
- case ExprType::SetGlobal:
- case ExprType::SetLocal:
+ case ExprType::GlobalSet:
+ case ExprType::LocalSet:
PushExpr(expr, 1, 0);
break;