summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/binary-reader-ir.cc45
-rw-r--r--src/binary-reader-logging.cc19
-rw-r--r--src/binary-reader-logging.h11
-rw-r--r--src/binary-reader-nop.h11
-rw-r--r--src/binary-reader-objdump.cc8
-rw-r--r--src/binary-reader.cc96
-rw-r--r--src/binary-reader.h11
-rw-r--r--src/binary-writer.cc58
-rw-r--r--src/binary.h6
-rw-r--r--src/c-writer.cc10
-rw-r--r--src/expr-visitor.cc28
-rw-r--r--src/expr-visitor.h14
-rw-r--r--src/feature.def1
-rw-r--r--src/interp/interp-disassemble.cc29
-rw-r--r--src/interp/interp-trace.cc28
-rw-r--r--src/interp/interp.cc29
-rw-r--r--src/ir.cc11
-rw-r--r--src/ir.h44
-rw-r--r--src/opcode.cc9
-rw-r--r--src/opcode.def9
-rw-r--r--src/prebuilt/wast-lexer-gen.cc9366
-rw-r--r--src/token.def8
-rw-r--r--src/type-checker.cc28
-rw-r--r--src/type-checker.h7
-rw-r--r--src/validator.cc81
-rw-r--r--src/wast-lexer.cc8
-rw-r--r--src/wast-parser.cc74
-rw-r--r--src/wat-writer.cc75
-rw-r--r--test/dump/callindirect.txt2
-rw-r--r--test/dump/invalid-data-segment-no-memory.txt2
-rw-r--r--test/dump/invalid-data-segment-offset.txt2
-rw-r--r--test/dump/invalid-elem-segment-no-table.txt2
-rw-r--r--test/dump/invalid-elem-segment-offset.txt2
-rw-r--r--test/dump/memory-hex.txt2
-rw-r--r--test/dump/memory.txt4
-rw-r--r--test/dump/no-canonicalize.txt2
-rw-r--r--test/dump/table.txt4
-rw-r--r--test/help/spectest-interp.txt1
-rw-r--r--test/help/wasm-interp.txt1
-rw-r--r--test/help/wasm-validate.txt1
-rw-r--r--test/help/wasm2wat.txt1
-rw-r--r--test/help/wast2json.txt1
-rw-r--r--test/help/wat-desugar.txt1
-rw-r--r--test/help/wat2wasm.txt1
-rw-r--r--test/interp/logging-all-opcodes.txt4
-rw-r--r--test/parse/expr/memory-copy.txt10
-rw-r--r--test/parse/expr/memory-drop.txt9
-rw-r--r--test/parse/expr/memory-fill.txt10
-rw-r--r--test/parse/expr/memory-init.txt12
-rw-r--r--test/parse/expr/table-copy.txt12
-rw-r--r--test/parse/expr/table-drop.txt12
-rw-r--r--test/parse/expr/table-init.txt15
-rw-r--r--test/parse/module/memory-segment-passive.txt4
-rw-r--r--test/roundtrip/bulk-memory.txt75
-rwxr-xr-xtest/run-roundtrip.py3
55 files changed, 5673 insertions, 4646 deletions
diff --git a/src/binary-reader-ir.cc b/src/binary-reader-ir.cc
index 1c43c9d2..c89ba38c 100644
--- a/src/binary-reader-ir.cc
+++ b/src/binary-reader-ir.cc
@@ -161,8 +161,15 @@ class BinaryReaderIR : public BinaryReaderNop {
uint32_t alignment_log2,
Address offset) override;
Result OnLoopExpr(Type sig_type) override;
+ Result OnMemoryCopyExpr() override;
+ Result OnMemoryDropExpr(Index segment_index) override;
+ Result OnMemoryFillExpr() override;
Result OnMemoryGrowExpr() override;
+ Result OnMemoryInitExpr(Index segment_index) override;
Result OnMemorySizeExpr() override;
+ Result OnTableCopyExpr() override;
+ Result OnTableDropExpr(Index segment_index) override;
+ Result OnTableInitExpr(Index segment_index) override;
Result OnNopExpr() override;
Result OnRethrowExpr() override;
Result OnReturnExpr() override;
@@ -183,14 +190,14 @@ class BinaryReaderIR : public BinaryReaderNop {
Result OnSimdShuffleOpExpr(Opcode opcode, v128 value) override;
Result OnElemSegmentCount(Index count) override;
- Result BeginElemSegment(Index index, Index table_index) override;
+ Result BeginElemSegment(Index index, Index table_index, bool passive) override;
Result BeginElemSegmentInitExpr(Index index) override;
Result EndElemSegmentInitExpr(Index index) override;
Result OnElemSegmentFunctionIndexCount(Index index, Index count) override;
Result OnElemSegmentFunctionIndex(Index index, Index func_index) override;
Result OnDataSegmentCount(Index count) override;
- Result BeginDataSegment(Index index, Index memory_index) override;
+ Result BeginDataSegment(Index index, Index memory_index, bool passive) override;
Result BeginDataSegmentInitExpr(Index index) override;
Result EndDataSegmentInitExpr(Index index) override;
Result OnDataSegmentData(Index index,
@@ -788,14 +795,42 @@ Result BinaryReaderIR::OnLoopExpr(Type sig_type) {
return Result::Ok;
}
+Result BinaryReaderIR::OnMemoryCopyExpr() {
+ return AppendExpr(MakeUnique<MemoryCopyExpr>());
+}
+
+Result BinaryReaderIR::OnMemoryDropExpr(Index segment) {
+ return AppendExpr(MakeUnique<MemoryDropExpr>(segment));
+}
+
+Result BinaryReaderIR::OnMemoryFillExpr() {
+ return AppendExpr(MakeUnique<MemoryFillExpr>());
+}
+
Result BinaryReaderIR::OnMemoryGrowExpr() {
return AppendExpr(MakeUnique<MemoryGrowExpr>());
}
+Result BinaryReaderIR::OnMemoryInitExpr(Index segment) {
+ return AppendExpr(MakeUnique<MemoryInitExpr>(segment));
+}
+
Result BinaryReaderIR::OnMemorySizeExpr() {
return AppendExpr(MakeUnique<MemorySizeExpr>());
}
+Result BinaryReaderIR::OnTableCopyExpr() {
+ return AppendExpr(MakeUnique<TableCopyExpr>());
+}
+
+Result BinaryReaderIR::OnTableDropExpr(Index segment) {
+ return AppendExpr(MakeUnique<TableDropExpr>(segment));
+}
+
+Result BinaryReaderIR::OnTableInitExpr(Index segment) {
+ return AppendExpr(MakeUnique<TableInitExpr>(segment));
+}
+
Result BinaryReaderIR::OnNopExpr() {
return AppendExpr(MakeUnique<NopExpr>());
}
@@ -895,10 +930,11 @@ Result BinaryReaderIR::OnElemSegmentCount(Index count) {
return Result::Ok;
}
-Result BinaryReaderIR::BeginElemSegment(Index index, Index table_index) {
+Result BinaryReaderIR::BeginElemSegment(Index index, Index table_index, bool passive) {
auto field = MakeUnique<ElemSegmentModuleField>(GetLocation());
ElemSegment& elem_segment = field->elem_segment;
elem_segment.table_var = Var(table_index, GetLocation());
+ elem_segment.passive = passive;
module_->AppendField(std::move(field));
return Result::Ok;
}
@@ -942,10 +978,11 @@ Result BinaryReaderIR::OnDataSegmentCount(Index count) {
return Result::Ok;
}
-Result BinaryReaderIR::BeginDataSegment(Index index, Index memory_index) {
+Result BinaryReaderIR::BeginDataSegment(Index index, Index memory_index, bool passive) {
auto field = MakeUnique<DataSegmentModuleField>(GetLocation());
DataSegment& data_segment = field->data_segment;
data_segment.memory_var = Var(memory_index, GetLocation());
+ data_segment.passive = passive;
module_->AppendField(std::move(field));
return Result::Ok;
}
diff --git a/src/binary-reader-logging.cc b/src/binary-reader-logging.cc
index 7edebdd1..7fea7da3 100644
--- a/src/binary-reader-logging.cc
+++ b/src/binary-reader-logging.cc
@@ -581,6 +581,14 @@ Result BinaryReaderLogging::OnInitFunction(uint32_t priority,
return reader_->name(value0, value1); \
}
+#define DEFINE_INDEX_INDEX_BOOL(name, desc0, desc1, desc2) \
+ Result BinaryReaderLogging::name(Index value0, Index value1, bool value2) { \
+ LOGF(#name "(" desc0 ": %" PRIindex ", " desc1 ": %" PRIindex \
+ ", " desc2 ": %s)\n", \
+ value0, value1, value2 ? "true" : "false"); \
+ return reader_->name(value0, value1, value2); \
+ }
+
#define DEFINE_OPCODE(name) \
Result BinaryReaderLogging::name(Opcode opcode) { \
LOGF(#name "(\"%s\" (%u))\n", opcode.GetName(), opcode.GetCode()); \
@@ -665,8 +673,15 @@ DEFINE0(OnEndExpr)
DEFINE_INDEX_DESC(OnGetGlobalExpr, "index")
DEFINE_INDEX_DESC(OnGetLocalExpr, "index")
DEFINE_LOAD_STORE_OPCODE(OnLoadExpr);
+DEFINE0(OnMemoryCopyExpr)
+DEFINE_INDEX(OnMemoryDropExpr)
+DEFINE0(OnMemoryFillExpr)
DEFINE0(OnMemoryGrowExpr)
+DEFINE_INDEX(OnMemoryInitExpr)
DEFINE0(OnMemorySizeExpr)
+DEFINE0(OnTableCopyExpr)
+DEFINE_INDEX(OnTableDropExpr)
+DEFINE_INDEX(OnTableInitExpr)
DEFINE0(OnNopExpr)
DEFINE0(OnRethrowExpr);
DEFINE0(OnReturnExpr)
@@ -683,7 +698,7 @@ DEFINE_END(EndCodeSection)
DEFINE_BEGIN(BeginElemSection)
DEFINE_INDEX(OnElemSegmentCount)
-DEFINE_INDEX_INDEX(BeginElemSegment, "index", "table_index")
+DEFINE_INDEX_INDEX_BOOL(BeginElemSegment, "index", "table_index", "passive")
DEFINE_INDEX(BeginElemSegmentInitExpr)
DEFINE_INDEX(EndElemSegmentInitExpr)
DEFINE_INDEX_INDEX(OnElemSegmentFunctionIndexCount, "index", "count")
@@ -693,7 +708,7 @@ DEFINE_END(EndElemSection)
DEFINE_BEGIN(BeginDataSection)
DEFINE_INDEX(OnDataSegmentCount)
-DEFINE_INDEX_INDEX(BeginDataSegment, "index", "memory_index")
+DEFINE_INDEX_INDEX_BOOL(BeginDataSegment, "index", "memory_index", "passive")
DEFINE_INDEX(BeginDataSegmentInitExpr)
DEFINE_INDEX(EndDataSegmentInitExpr)
DEFINE_INDEX(EndDataSegment)
diff --git a/src/binary-reader-logging.h b/src/binary-reader-logging.h
index 6791c622..f9cb47c9 100644
--- a/src/binary-reader-logging.h
+++ b/src/binary-reader-logging.h
@@ -175,8 +175,15 @@ class BinaryReaderLogging : public BinaryReaderDelegate {
uint32_t alignment_log2,
Address offset) override;
Result OnLoopExpr(Type sig_type) override;
+ Result OnMemoryCopyExpr() override;
+ Result OnMemoryDropExpr(Index segment_index) override;
+ Result OnMemoryFillExpr() override;
Result OnMemoryGrowExpr() override;
+ Result OnMemoryInitExpr(Index segment_index) override;
Result OnMemorySizeExpr() override;
+ Result OnTableCopyExpr() override;
+ Result OnTableDropExpr(Index segment_index) override;
+ Result OnTableInitExpr(Index segment_index) override;
Result OnNopExpr() override;
Result OnRethrowExpr() override;
Result OnReturnExpr() override;
@@ -205,7 +212,7 @@ class BinaryReaderLogging : public BinaryReaderDelegate {
Result BeginElemSection(Offset size) override;
Result OnElemSegmentCount(Index count) override;
- Result BeginElemSegment(Index index, Index table_index) override;
+ Result BeginElemSegment(Index index, Index table_index, bool passive) override;
Result BeginElemSegmentInitExpr(Index index) override;
Result EndElemSegmentInitExpr(Index index) override;
Result OnElemSegmentFunctionIndexCount(Index index, Index count) override;
@@ -215,7 +222,7 @@ class BinaryReaderLogging : public BinaryReaderDelegate {
Result BeginDataSection(Offset size) override;
Result OnDataSegmentCount(Index count) override;
- Result BeginDataSegment(Index index, Index memory_index) override;
+ Result BeginDataSegment(Index index, Index memory_index, bool passive) override;
Result BeginDataSegmentInitExpr(Index index) override;
Result EndDataSegmentInitExpr(Index index) override;
Result OnDataSegmentData(Index index,
diff --git a/src/binary-reader-nop.h b/src/binary-reader-nop.h
index f2370a78..42eee390 100644
--- a/src/binary-reader-nop.h
+++ b/src/binary-reader-nop.h
@@ -235,8 +235,15 @@ class BinaryReaderNop : public BinaryReaderDelegate {
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; }
+ Result OnMemoryFillExpr() override { return Result::Ok; }
Result OnMemoryGrowExpr() override { return Result::Ok; }
+ Result OnMemoryInitExpr(Index segment_index) override { return Result::Ok; }
Result OnMemorySizeExpr() override { return Result::Ok; }
+ Result OnTableCopyExpr() override { return Result::Ok; }
+ Result OnTableDropExpr(Index segment_index) override { return Result::Ok; }
+ Result OnTableInitExpr(Index segment_index) override { return Result::Ok; }
Result OnNopExpr() override { return Result::Ok; }
Result OnRethrowExpr() override { return Result::Ok; }
Result OnReturnExpr() override { return Result::Ok; }
@@ -266,7 +273,7 @@ class BinaryReaderNop : public BinaryReaderDelegate {
/* Elem section */
Result BeginElemSection(Offset size) override { return Result::Ok; }
Result OnElemSegmentCount(Index count) override { return Result::Ok; }
- Result BeginElemSegment(Index index, Index table_index) override {
+ Result BeginElemSegment(Index index, Index table_index, bool passive) override {
return Result::Ok;
}
Result BeginElemSegmentInitExpr(Index index) override { return Result::Ok; }
@@ -283,7 +290,7 @@ class BinaryReaderNop : public BinaryReaderDelegate {
/* Data section */
Result BeginDataSection(Offset size) override { return Result::Ok; }
Result OnDataSegmentCount(Index count) override { return Result::Ok; }
- Result BeginDataSegment(Index index, Index memory_index) override {
+ Result BeginDataSegment(Index index, Index memory_index, bool passive) override {
return Result::Ok;
}
Result BeginDataSegmentInitExpr(Index index) override { return Result::Ok; }
diff --git a/src/binary-reader-objdump.cc b/src/binary-reader-objdump.cc
index 420940f5..81f2926d 100644
--- a/src/binary-reader-objdump.cc
+++ b/src/binary-reader-objdump.cc
@@ -704,7 +704,7 @@ class BinaryReaderObjdump : public BinaryReaderObjdumpBase {
}
Result OnElemSegmentCount(Index count) override;
- Result BeginElemSegment(Index index, Index table_index) override;
+ Result BeginElemSegment(Index index, Index table_index, bool passive) override;
Result OnElemSegmentFunctionIndexCount(Index index, Index count) override;
Result OnElemSegmentFunctionIndex(Index segment_index,
Index func_index) override;
@@ -719,7 +719,7 @@ class BinaryReaderObjdump : public BinaryReaderObjdumpBase {
}
Result OnDataSegmentCount(Index count) override;
- Result BeginDataSegment(Index index, Index memory_index) override;
+ Result BeginDataSegment(Index index, Index memory_index, bool passive) override;
Result OnDataSegmentData(Index index,
const void* data,
Address size) override;
@@ -1104,7 +1104,7 @@ Result BinaryReaderObjdump::OnElemSegmentCount(Index count) {
return OnCount(count);
}
-Result BinaryReaderObjdump::BeginElemSegment(Index index, Index table_index) {
+Result BinaryReaderObjdump::BeginElemSegment(Index index, Index table_index, bool passive) {
table_index_ = table_index;
elem_index_ = 0;
return Result::Ok;
@@ -1273,7 +1273,7 @@ Result BinaryReaderObjdump::OnDataSegmentCount(Index count) {
return OnCount(count);
}
-Result BinaryReaderObjdump::BeginDataSegment(Index index, Index memory_index) {
+Result BinaryReaderObjdump::BeginDataSegment(Index index, Index memory_index, bool passive) {
// TODO(sbc): Display memory_index once multiple memories become a thing
// PrintDetails(" - memory[%" PRIindex "]", memory_index);
return Result::Ok;
diff --git a/src/binary-reader.cc b/src/binary-reader.cc
index 35e079f7..f1cf236a 100644
--- a/src/binary-reader.cc
+++ b/src/binary-reader.cc
@@ -1322,6 +1322,64 @@ Result BinaryReader::ReadFunctionBody(Offset end_offset) {
break;
}
+ case Opcode::TableInit: {
+ ERROR_UNLESS_OPCODE_ENABLED(opcode);
+ uint8_t reserved;
+ CHECK_RESULT(ReadU8(&reserved, "reserved table index"));
+ ERROR_UNLESS(reserved == 0, "reserved value must be 0");
+ Index segment;
+ CHECK_RESULT(ReadIndex(&segment, "elem segment index"));
+ CALLBACK(OnTableInitExpr, segment);
+ break;
+ }
+
+ case Opcode::MemoryInit: {
+ ERROR_UNLESS_OPCODE_ENABLED(opcode);
+ uint8_t reserved;
+ CHECK_RESULT(ReadU8(&reserved, "reserved memory index"));
+ ERROR_UNLESS(reserved == 0, "reserved value must be 0");
+ Index segment;
+ CHECK_RESULT(ReadIndex(&segment, "elem segment index"));
+ CALLBACK(OnMemoryInitExpr, segment);
+ break;
+ }
+
+ case Opcode::MemoryDrop:
+ case Opcode::TableDrop: {
+ ERROR_UNLESS_OPCODE_ENABLED(opcode);
+ Index segment;
+ CHECK_RESULT(ReadIndex(&segment, "segment index"));
+ if (opcode == Opcode::MemoryDrop) {
+ CALLBACK(OnMemoryDropExpr, segment);
+ } else {
+ CALLBACK(OnTableDropExpr, segment);
+ }
+ break;
+ }
+
+ case Opcode::MemoryCopy:
+ case Opcode::MemoryFill: {
+ ERROR_UNLESS_OPCODE_ENABLED(opcode);
+ uint8_t reserved;
+ CHECK_RESULT(ReadU8(&reserved, "reserved memory index"));
+ ERROR_UNLESS(reserved == 0, "reserved value must be 0");
+ if (opcode == Opcode::MemoryCopy) {
+ CALLBACK(OnMemoryCopyExpr);
+ } else {
+ CALLBACK(OnMemoryFillExpr);
+ }
+ break;
+ }
+
+ case Opcode::TableCopy: {
+ ERROR_UNLESS_OPCODE_ENABLED(opcode);
+ uint8_t reserved;
+ CHECK_RESULT(ReadU8(&reserved, "reserved table index"));
+ ERROR_UNLESS(reserved == 0, "reserved value must be 0");
+ CALLBACK(OnTableCopyExpr);
+ break;
+ }
+
default:
return ReportUnexpectedOpcode(opcode);
}
@@ -1888,12 +1946,19 @@ Result BinaryReader::ReadElemSection(Offset section_size) {
ERROR_UNLESS(num_elem_segments == 0 || NumTotalTables() > 0,
"elem section without table section");
for (Index i = 0; i < num_elem_segments; ++i) {
- Index table_index;
- CHECK_RESULT(ReadIndex(&table_index, "elem segment table index"));
- CALLBACK(BeginElemSegment, i, table_index);
- CALLBACK(BeginElemSegmentInitExpr, i);
- CHECK_RESULT(ReadI32InitExpr(i));
- CALLBACK(EndElemSegmentInitExpr, i);
+ uint8_t flags_byte;
+ CHECK_RESULT(ReadU8(&flags_byte, "elem segment flags"));
+ SegmentFlags flags = static_cast<SegmentFlags>(flags_byte);
+ Index table_index(0);
+ if (flags == SegmentFlags::IndexOther) {
+ CHECK_RESULT(ReadIndex(&table_index, "elem segment table index"));
+ }
+ CALLBACK(BeginElemSegment, i, table_index, flags == SegmentFlags::Passive);
+ if (flags != SegmentFlags::Passive) {
+ CALLBACK(BeginElemSegmentInitExpr, i);
+ CHECK_RESULT(ReadI32InitExpr(i));
+ CALLBACK(EndElemSegmentInitExpr, i);
+ }
Index num_function_indexes;
CHECK_RESULT(
@@ -1959,12 +2024,19 @@ Result BinaryReader::ReadDataSection(Offset section_size) {
ERROR_UNLESS(num_data_segments == 0 || NumTotalMemories() > 0,
"data section without memory section");
for (Index i = 0; i < num_data_segments; ++i) {
- Index memory_index;
- CHECK_RESULT(ReadIndex(&memory_index, "data segment memory index"));
- CALLBACK(BeginDataSegment, i, memory_index);
- CALLBACK(BeginDataSegmentInitExpr, i);
- CHECK_RESULT(ReadI32InitExpr(i));
- CALLBACK(EndDataSegmentInitExpr, i);
+ uint8_t flags_byte;
+ CHECK_RESULT(ReadU8(&flags_byte, "data segment flags"));
+ SegmentFlags flags = static_cast<SegmentFlags>(flags_byte);
+ Index memory_index(0);
+ if (flags == SegmentFlags::IndexOther) {
+ CHECK_RESULT(ReadIndex(&memory_index, "data segment memory index"));
+ }
+ CALLBACK(BeginDataSegment, i, memory_index, flags == SegmentFlags::Passive);
+ if (flags != SegmentFlags::Passive) {
+ CALLBACK(BeginDataSegmentInitExpr, i);
+ CHECK_RESULT(ReadI32InitExpr(i));
+ CALLBACK(EndDataSegmentInitExpr, i);
+ }
Address data_size;
const void* data;
diff --git a/src/binary-reader.h b/src/binary-reader.h
index b0e1cb98..a8a1d04f 100644
--- a/src/binary-reader.h
+++ b/src/binary-reader.h
@@ -231,8 +231,15 @@ class BinaryReaderDelegate {
uint32_t alignment_log2,
Address offset) = 0;
virtual Result OnLoopExpr(Type sig_type) = 0;
+ virtual Result OnMemoryCopyExpr() = 0;
+ virtual Result OnMemoryDropExpr(Index segment_index) = 0;
+ virtual Result OnMemoryFillExpr() = 0;
virtual Result OnMemoryGrowExpr() = 0;
+ virtual Result OnMemoryInitExpr(Index segment_index) = 0;
virtual Result OnMemorySizeExpr() = 0;
+ virtual Result OnTableCopyExpr() = 0;
+ virtual Result OnTableDropExpr(Index segment_index) = 0;
+ virtual Result OnTableInitExpr(Index segment_index) = 0;
virtual Result OnNopExpr() = 0;
virtual Result OnRethrowExpr() = 0;
virtual Result OnReturnExpr() = 0;
@@ -259,7 +266,7 @@ class BinaryReaderDelegate {
/* Elem section */
virtual Result BeginElemSection(Offset size) = 0;
virtual Result OnElemSegmentCount(Index count) = 0;
- virtual Result BeginElemSegment(Index index, Index table_index) = 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;
@@ -271,7 +278,7 @@ class BinaryReaderDelegate {
/* Data section */
virtual Result BeginDataSection(Offset size) = 0;
virtual Result OnDataSegmentCount(Index count) = 0;
- virtual Result BeginDataSegment(Index index, Index memory_index) = 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,
diff --git a/src/binary-writer.cc b/src/binary-writer.cc
index 326bc4b2..9b98985c 100644
--- a/src/binary-writer.cc
+++ b/src/binary-writer.cc
@@ -537,14 +537,52 @@ void BinaryWriter::WriteExpr(const Func* func, const Expr* expr) {
WriteExprList(func, cast<LoopExpr>(expr)->block.exprs);
WriteOpcode(stream_, Opcode::End);
break;
+ case ExprType::MemoryCopy:
+ WriteOpcode(stream_, Opcode::MemoryCopy);
+ WriteU32Leb128(stream_, 0, "memory.copy reserved");
+ break;
+ case ExprType::MemoryDrop: {
+ auto* drop_expr = cast<MemoryDropExpr>(expr);
+ WriteOpcode(stream_, Opcode::MemoryDrop);
+ WriteU32Leb128(stream_, drop_expr->segment, "memory.drop segment");
+ break;
+ }
+ case ExprType::MemoryFill:
+ WriteOpcode(stream_, Opcode::MemoryFill);
+ WriteU32Leb128(stream_, 0, "memory.fill reserved");
+ break;
case ExprType::MemoryGrow:
WriteOpcode(stream_, Opcode::MemoryGrow);
WriteU32Leb128(stream_, 0, "memory.grow reserved");
break;
+ case ExprType::MemoryInit: {
+ auto* init_expr = cast<MemoryInitExpr>(expr);
+ WriteOpcode(stream_, Opcode::MemoryInit);
+ WriteU32Leb128(stream_, 0, "memory.init reserved");
+ WriteU32Leb128(stream_, init_expr->segment, "memory.init segment");
+ break;
+ }
case ExprType::MemorySize:
WriteOpcode(stream_, Opcode::MemorySize);
WriteU32Leb128(stream_, 0, "memory.size reserved");
break;
+ case ExprType::TableCopy:
+ WriteOpcode(stream_, Opcode::TableCopy);
+ WriteU32Leb128(stream_, 0, "table.copy reserved");
+ break;
+ case ExprType::TableDrop: {
+ auto* drop_expr = cast<TableDropExpr>(expr);
+ WriteOpcode(stream_, Opcode::TableDrop);
+ WriteU32Leb128(stream_, drop_expr->segment, "table.drop segment");
+ break;
+ }
+ case ExprType::TableInit: {
+ auto* init_expr = cast<TableInitExpr>(expr);
+ WriteOpcode(stream_, Opcode::TableInit);
+ WriteU32Leb128(stream_, 0, "table.init reserved");
+ WriteU32Leb128(stream_, init_expr->segment, "table.init segment");
+ break;
+ }
case ExprType::Nop:
WriteOpcode(stream_, Opcode::Nop);
break;
@@ -914,10 +952,14 @@ Result BinaryWriter::WriteModule() {
WriteU32Leb128(stream_, module_->elem_segments.size(), "num elem segments");
for (size_t i = 0; i < module_->elem_segments.size(); ++i) {
ElemSegment* segment = module_->elem_segments[i];
- Index table_index = module_->GetTableIndex(segment->table_var);
WriteHeader("elem segment header", i);
- WriteU32Leb128(stream_, table_index, "table index");
- WriteInitExpr(segment->offset);
+ if (segment->passive) {
+ stream_->WriteU8(static_cast<uint8_t>(SegmentFlags::Passive));
+ } else {
+ assert(module_->GetTableIndex(segment->table_var) == 0);
+ stream_->WriteU8(static_cast<uint8_t>(SegmentFlags::IndexZero));
+ WriteInitExpr(segment->offset);
+ }
WriteU32Leb128(stream_, segment->vars.size(), "num function indices");
for (const Var& var : segment->vars) {
Index index = module_->GetFuncIndex(var);
@@ -964,9 +1006,13 @@ Result BinaryWriter::WriteModule() {
for (size_t i = 0; i < module_->data_segments.size(); ++i) {
const DataSegment* segment = module_->data_segments[i];
WriteHeader("data segment header", i);
- Index memory_index = module_->GetMemoryIndex(segment->memory_var);
- WriteU32Leb128(stream_, memory_index, "memory index");
- WriteInitExpr(segment->offset);
+ if (segment->passive) {
+ stream_->WriteU8(static_cast<uint8_t>(SegmentFlags::Passive));
+ } else {
+ assert(module_->GetMemoryIndex(segment->memory_var) == 0);
+ stream_->WriteU8(static_cast<uint8_t>(SegmentFlags::IndexZero));
+ WriteInitExpr(segment->offset);
+ }
WriteU32Leb128(stream_, segment->data.size(), "data segment size");
WriteHeader("data segment data", i);
stream_->WriteData(segment->data, "data segment data");
diff --git a/src/binary.h b/src/binary.h
index 12e1481a..7f62092e 100644
--- a/src/binary.h
+++ b/src/binary.h
@@ -64,6 +64,12 @@ enum class NameSectionSubsection {
Local = 2,
};
+enum class SegmentFlags: uint8_t {
+ IndexZero = 0,
+ Passive = 1,
+ IndexOther = 2,
+};
+
extern const char* g_section_name[];
static WABT_INLINE const char* GetSectionName(BinarySection sec) {
diff --git a/src/c-writer.cc b/src/c-writer.cc
index ae6896d6..280ef5f7 100644
--- a/src/c-writer.cc
+++ b/src/c-writer.cc
@@ -1565,6 +1565,16 @@ void CWriter::Write(const ExprList& exprs) {
break;
}
+ case ExprType::MemoryCopy:
+ case ExprType::MemoryDrop:
+ case ExprType::MemoryInit:
+ case ExprType::MemoryFill:
+ case ExprType::TableCopy:
+ case ExprType::TableDrop:
+ case ExprType::TableInit:
+ UNIMPLEMENTED("...");
+ break;
+
case ExprType::MemoryGrow: {
assert(module_->memories.size() == 1);
Memory* memory = module_->memories[0];
diff --git a/src/expr-visitor.cc b/src/expr-visitor.cc
index ef6fb441..6a96fa8b 100644
--- a/src/expr-visitor.cc
+++ b/src/expr-visitor.cc
@@ -266,14 +266,42 @@ Result ExprVisitor::HandleDefaultState(Expr* expr) {
break;
}
+ case ExprType::MemoryCopy:
+ CHECK_RESULT(delegate_->OnMemoryCopyExpr(cast<MemoryCopyExpr>(expr)));
+ break;
+
+ case ExprType::MemoryDrop:
+ CHECK_RESULT(delegate_->OnMemoryDropExpr(cast<MemoryDropExpr>(expr)));
+ break;
+
+ case ExprType::MemoryFill:
+ CHECK_RESULT(delegate_->OnMemoryFillExpr(cast<MemoryFillExpr>(expr)));
+ break;
+
case ExprType::MemoryGrow:
CHECK_RESULT(delegate_->OnMemoryGrowExpr(cast<MemoryGrowExpr>(expr)));
break;
+ case ExprType::MemoryInit:
+ CHECK_RESULT(delegate_->OnMemoryInitExpr(cast<MemoryInitExpr>(expr)));
+ break;
+
case ExprType::MemorySize:
CHECK_RESULT(delegate_->OnMemorySizeExpr(cast<MemorySizeExpr>(expr)));
break;
+ case ExprType::TableCopy:
+ CHECK_RESULT(delegate_->OnTableCopyExpr(cast<TableCopyExpr>(expr)));
+ break;
+
+ case ExprType::TableDrop:
+ CHECK_RESULT(delegate_->OnTableDropExpr(cast<TableDropExpr>(expr)));
+ break;
+
+ case ExprType::TableInit:
+ CHECK_RESULT(delegate_->OnTableInitExpr(cast<TableInitExpr>(expr)));
+ break;
+
case ExprType::Nop:
CHECK_RESULT(delegate_->OnNopExpr(cast<NopExpr>(expr)));
break;
diff --git a/src/expr-visitor.h b/src/expr-visitor.h
index d2b730c5..4b13097e 100644
--- a/src/expr-visitor.h
+++ b/src/expr-visitor.h
@@ -89,8 +89,15 @@ class ExprVisitor::Delegate {
virtual Result OnLoadExpr(LoadExpr*) = 0;
virtual Result BeginLoopExpr(LoopExpr*) = 0;
virtual Result EndLoopExpr(LoopExpr*) = 0;
+ virtual Result OnMemoryCopyExpr(MemoryCopyExpr*) = 0;
+ virtual Result OnMemoryDropExpr(MemoryDropExpr*) = 0;
+ virtual Result OnMemoryFillExpr(MemoryFillExpr*) = 0;
virtual Result OnMemoryGrowExpr(MemoryGrowExpr*) = 0;
+ virtual Result OnMemoryInitExpr(MemoryInitExpr*) = 0;
virtual Result OnMemorySizeExpr(MemorySizeExpr*) = 0;
+ virtual Result OnTableCopyExpr(TableCopyExpr*) = 0;
+ virtual Result OnTableDropExpr(TableDropExpr*) = 0;
+ virtual Result OnTableInitExpr(TableInitExpr*) = 0;
virtual Result OnNopExpr(NopExpr*) = 0;
virtual Result OnReturnExpr(ReturnExpr*) = 0;
virtual Result OnReturnCallExpr(ReturnCallExpr*) = 0;
@@ -143,8 +150,15 @@ class ExprVisitor::DelegateNop : public ExprVisitor::Delegate {
Result OnLoadExpr(LoadExpr*) 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; }
+ Result OnMemoryDropExpr(MemoryDropExpr*) override { return Result::Ok; }
+ Result OnMemoryFillExpr(MemoryFillExpr*) override { return Result::Ok; }
Result OnMemoryGrowExpr(MemoryGrowExpr*) override { return Result::Ok; }
+ Result OnMemoryInitExpr(MemoryInitExpr*) override { return Result::Ok; }
Result OnMemorySizeExpr(MemorySizeExpr*) override { return Result::Ok; }
+ Result OnTableCopyExpr(TableCopyExpr*) override { return Result::Ok; }
+ Result OnTableDropExpr(TableDropExpr*) override { return Result::Ok; }
+ Result OnTableInitExpr(TableInitExpr*) override { return Result::Ok; }
Result OnNopExpr(NopExpr*) override { return Result::Ok; }
Result OnReturnExpr(ReturnExpr*) override { return Result::Ok; }
Result OnReturnCallExpr(ReturnCallExpr*) override { return Result::Ok; }
diff --git a/src/feature.def b/src/feature.def
index 045fec96..bd510f87 100644
--- a/src/feature.def
+++ b/src/feature.def
@@ -30,3 +30,4 @@ WABT_FEATURE(simd, "simd", false, "SIMD support
WABT_FEATURE(threads, "threads", false, "Threading support")
WABT_FEATURE(multi_value, "multi-value", false, "Multi-value")
WABT_FEATURE(tail_call, "tail-call", false, "Tail-call support")
+WABT_FEATURE(bulk_memory, "bulk-memory", false, "Bulk-memory operations")
diff --git a/src/interp/interp-disassemble.cc b/src/interp/interp-disassemble.cc
index dfb82c3a..de475a92 100644
--- a/src/interp/interp-disassemble.cc
+++ b/src/interp/interp-disassemble.cc
@@ -579,6 +579,35 @@ void Environment::Disassemble(Stream* stream,
break;
}
+
+ case Opcode::MemoryInit:
+ WABT_UNREACHABLE;
+ break;
+
+ case Opcode::MemoryDrop:
+ WABT_UNREACHABLE;
+ break;
+
+ case Opcode::MemoryCopy:
+ WABT_UNREACHABLE;
+ break;
+
+ case Opcode::MemoryFill:
+ WABT_UNREACHABLE;
+ break;
+
+ case Opcode::TableInit:
+ WABT_UNREACHABLE;
+ break;
+
+ case Opcode::TableDrop:
+ WABT_UNREACHABLE;
+ break;
+
+ case Opcode::TableCopy:
+ WABT_UNREACHABLE;
+ break;
+
// The following opcodes are either never generated or should never be
// executed.
case Opcode::Block:
diff --git a/src/interp/interp-trace.cc b/src/interp/interp-trace.cc
index 15c3714b..3e473094 100644
--- a/src/interp/interp-trace.cc
+++ b/src/interp/interp-trace.cc
@@ -690,6 +690,34 @@ void Thread::Trace(Stream* stream) {
break;
}
+ case Opcode::MemoryInit:
+ WABT_UNREACHABLE;
+ break;
+
+ case Opcode::MemoryDrop:
+ WABT_UNREACHABLE;
+ break;
+
+ case Opcode::MemoryCopy:
+ WABT_UNREACHABLE;
+ break;
+
+ case Opcode::MemoryFill:
+ WABT_UNREACHABLE;
+ break;
+
+ case Opcode::TableInit:
+ WABT_UNREACHABLE;
+ break;
+
+ case Opcode::TableDrop:
+ WABT_UNREACHABLE;
+ break;
+
+ case Opcode::TableCopy:
+ WABT_UNREACHABLE;
+ break;
+
// The following opcodes are either never generated or should never be
// executed.
case Opcode::Block:
diff --git a/src/interp/interp.cc b/src/interp/interp.cc
index b7753b7d..07224d77 100644
--- a/src/interp/interp.cc
+++ b/src/interp/interp.cc
@@ -3218,6 +3218,35 @@ Result Thread::Run(int num_instructions) {
case Opcode::I64X2TruncUF64X2Sat:
CHECK_TRAP(SimdUnop<v128, uint64_t>(IntTruncSat<uint64_t, double>));
break;
+
+ case Opcode::MemoryInit:
+ WABT_UNREACHABLE;
+ break;
+
+ case Opcode::MemoryDrop:
+ WABT_UNREACHABLE;
+ break;
+
+ case Opcode::MemoryCopy:
+ WABT_UNREACHABLE;
+ break;
+
+ case Opcode::MemoryFill:
+ WABT_UNREACHABLE;
+ break;
+
+ case Opcode::TableInit:
+ WABT_UNREACHABLE;
+ break;
+
+ case Opcode::TableDrop:
+ WABT_UNREACHABLE;
+ break;
+
+ case Opcode::TableCopy:
+ WABT_UNREACHABLE;
+ break;
+
// The following opcodes are either never generated or should never be
// executed.
case Opcode::Block:
diff --git a/src/ir.cc b/src/ir.cc
index 4f2da379..bf706db0 100644
--- a/src/ir.cc
+++ b/src/ir.cc
@@ -41,15 +41,19 @@ const char* ExprTypeName[] = {
"Compare",
"Const",
"Convert",
- "CurrentMemory",
"Drop",
"GetGlobal",
"GetLocal",
- "GrowMemory",
"If",
"IfExcept",
"Load",
"Loop",
+ "MemoryCopy",
+ "MemoryDrop",
+ "MemoryFill",
+ "MemoryGrow",
+ "MemoryInit",
+ "MemorySize",
"Nop",
"Rethrow",
"Return",
@@ -61,6 +65,9 @@ const char* ExprTypeName[] = {
"SimdLaneOp",
"SimdShuffleOp",
"Store",
+ "TableInit",
+ "TableCopy",
+ "TableDrop",
"TeeLocal",
"Ternary",
"Throw",
diff --git a/src/ir.h b/src/ir.h
index 4db790f9..6a7c076e 100644
--- a/src/ir.h
+++ b/src/ir.h
@@ -179,7 +179,11 @@ enum class ExprType {
IfExcept,
Load,
Loop,
+ MemoryCopy,
+ MemoryDrop,
+ MemoryFill,
MemoryGrow,
+ MemoryInit,
MemorySize,
Nop,
Rethrow,
@@ -192,6 +196,9 @@ enum class ExprType {
SimdLaneOp,
SimdShuffleOp,
Store,
+ TableInit,
+ TableCopy,
+ TableDrop,
TeeLocal,
Ternary,
Throw,
@@ -250,6 +257,9 @@ class ExprMixin : public Expr {
typedef ExprMixin<ExprType::Drop> DropExpr;
typedef ExprMixin<ExprType::MemoryGrow> MemoryGrowExpr;
typedef ExprMixin<ExprType::MemorySize> MemorySizeExpr;
+typedef ExprMixin<ExprType::MemoryCopy> MemoryCopyExpr;
+typedef ExprMixin<ExprType::MemoryFill> MemoryFillExpr;
+typedef ExprMixin<ExprType::TableCopy> TableCopyExpr;
typedef ExprMixin<ExprType::Nop> NopExpr;
typedef ExprMixin<ExprType::Rethrow> RethrowExpr;
typedef ExprMixin<ExprType::Return> ReturnExpr;
@@ -289,6 +299,38 @@ class SimdShuffleOpExpr : public ExprMixin<ExprType::SimdShuffleOp> {
v128 val;
};
+class MemoryInitExpr : public ExprMixin<ExprType::MemoryInit> {
+ public:
+ MemoryInitExpr(Index segment, const Location& loc = Location())
+ : ExprMixin<ExprType::MemoryInit>(loc), segment(segment) {}
+
+ Index segment;
+};
+
+class MemoryDropExpr : public ExprMixin<ExprType::MemoryDrop> {
+ public:
+ MemoryDropExpr(Index segment, const Location& loc = Location())
+ : ExprMixin<ExprType::MemoryDrop>(loc), segment(segment) {}
+
+ Index segment;
+};
+
+class TableInitExpr : public ExprMixin<ExprType::TableInit> {
+ public:
+ TableInitExpr(Index segment, const Location& loc = Location())
+ : ExprMixin<ExprType::TableInit>(loc), segment(segment) {}
+
+ Index segment;
+};
+
+class TableDropExpr : public ExprMixin<ExprType::TableDrop> {
+ public:
+ TableDropExpr(Index segment, const Location& loc = Location())
+ : ExprMixin<ExprType::TableDrop>(loc), segment(segment) {}
+
+ Index segment;
+};
+
template <ExprType TypeEnum>
class VarExpr : public ExprMixin<TypeEnum> {
public:
@@ -513,6 +555,7 @@ struct Table {
struct ElemSegment {
Var table_var;
+ bool passive = false;
ExprList offset;
VarVector vars;
};
@@ -526,6 +569,7 @@ struct Memory {
struct DataSegment {
Var memory_var;
+ bool passive = false;
ExprList offset;
std::vector<uint8_t> data;
};
diff --git a/src/opcode.cc b/src/opcode.cc
index 44dddfde..8c07f70c 100644
--- a/src/opcode.cc
+++ b/src/opcode.cc
@@ -298,6 +298,15 @@ bool Opcode::IsEnabled(const Features& features) const {
case Opcode::I64X2TruncUF64X2Sat:
return features.simd_enabled();
+ case Opcode::MemoryInit:
+ case Opcode::MemoryDrop:
+ case Opcode::MemoryCopy:
+ case Opcode::MemoryFill:
+ case Opcode::TableInit:
+ case Opcode::TableDrop:
+ case Opcode::TableCopy:
+ return features.bulk_memory_enabled();
+
// Interpreter opcodes are never "enabled".
case Opcode::InterpAlloca:
case Opcode::InterpBrUnless:
diff --git a/src/opcode.def b/src/opcode.def
index 87f737d6..d9380732 100644
--- a/src/opcode.def
+++ b/src/opcode.def
@@ -238,6 +238,15 @@ WABT_OPCODE(I64, F32, ___, ___, 0, 0xfc, 0x05, I64TruncUSatF32, "i64.trunc_
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")
+/* Bulk-memory (--enable-bulk-memory) */
+WABT_OPCODE(___, I32, I32, I32, 0, 0xfc, 0x08, MemoryInit, "memory.init")
+WABT_OPCODE(___, ___, ___, ___, 0, 0xfc, 0x09, MemoryDrop, "memory.drop")
+WABT_OPCODE(___, I32, I32, I32, 0, 0xfc, 0x0a, MemoryCopy, "memory.copy")
+WABT_OPCODE(___, I32, I32, I32, 0, 0xfc, 0x0b, MemoryFill, "memory.fill")
+WABT_OPCODE(___, I32, I32, I32, 0, 0xfc, 0x0c, TableInit, "table.init")
+WABT_OPCODE(___, ___, ___, ___, 0, 0xfc, 0x0d, TableDrop, "table.drop")
+WABT_OPCODE(___, I32, I32, I32, 0, 0xfc, 0x0e, TableCopy, "table.copy")
+
/* Simd opcodes (--enable-simd) */
WABT_OPCODE(V128, ___, ___, ___, 0, 0xfd, 0x00, V128Const, "v128.const")
WABT_OPCODE(V128, I32, ___, ___, 16, 0xfd, 0x01, V128Load, "v128.load")
diff --git a/src/prebuilt/wast-lexer-gen.cc b/src/prebuilt/wast-lexer-gen.cc
index 6f969a1a..a03b7721 100644
--- a/src/prebuilt/wast-lexer-gen.cc
+++ b/src/prebuilt/wast-lexer-gen.cc
@@ -1,4 +1,4 @@
-/* Generated by re2c 1.0.3 */
+/* Generated by re2c 1.0.1 on Thu Oct 11 23:03:28 2018 */
#line 1 "src/wast-lexer.cc"
/*
* Copyright 2016 WebAssembly Community Group participants
@@ -358,7 +358,7 @@ YYCOND_i:
yy3:
++cursor_;
yy4:
-#line 714 "src/wast-lexer.cc"
+#line 722 "src/wast-lexer.cc"
{ ERROR("unexpected char"); continue; }
#line 364 "src/prebuilt/wast-lexer-gen.cc"
yy5:
@@ -368,12 +368,12 @@ yy5:
if (yybm[0+yych] & 4) {
goto yy5;
}
-#line 712 "src/wast-lexer.cc"
+#line 720 "src/wast-lexer.cc"
{ continue; }
#line 374 "src/prebuilt/wast-lexer-gen.cc"
yy8:
++cursor_;
-#line 711 "src/wast-lexer.cc"
+#line 719 "src/wast-lexer.cc"
{ NEWLINE; continue; }
#line 379 "src/prebuilt/wast-lexer-gen.cc"
yy10:
@@ -385,7 +385,7 @@ yy11:
goto yy10;
}
yy12:
-#line 713 "src/wast-lexer.cc"
+#line 721 "src/wast-lexer.cc"
{ RETURN_TEXT(Reserved); }
#line 391 "src/prebuilt/wast-lexer-gen.cc"
yy13:
@@ -637,7 +637,7 @@ yy44:
yy45:
++cursor_;
yy46:
-#line 715 "src/wast-lexer.cc"
+#line 723 "src/wast-lexer.cc"
{ MAYBE_MALFORMED_UTF8(""); }
#line 643 "src/prebuilt/wast-lexer-gen.cc"
yy47:
@@ -806,13 +806,13 @@ yy66:
if (yych <= ';') goto yy67;
if (yych <= '}') goto yy10;
yy67:
-#line 696 "src/wast-lexer.cc"
+#line 704 "src/wast-lexer.cc"
{ RETURN_TEXT(Var); }
#line 812 "src/prebuilt/wast-lexer-gen.cc"
yy68:
++cursor_;
BEGIN(YYCOND_BLOCK_COMMENT);
-#line 702 "src/wast-lexer.cc"
+#line 710 "src/wast-lexer.cc"
{ COMMENT_NESTING = 1; continue; }
#line 818 "src/prebuilt/wast-lexer-gen.cc"
yy70:
@@ -935,7 +935,7 @@ yy80:
yy81:
++cursor_;
BEGIN(YYCOND_LINE_COMMENT);
-#line 699 "src/wast-lexer.cc"
+#line 707 "src/wast-lexer.cc"
{ continue; }
#line 941 "src/prebuilt/wast-lexer-gen.cc"
yy83:
@@ -1115,67 +1115,69 @@ yy118:
goto yy11;
yy119:
yych = *++cursor_;
- if (yych == 'r') goto yy195;
+ if (yych <= 'q') goto yy11;
+ if (yych <= 'r') goto yy195;
+ if (yych <= 's') goto yy196;
goto yy11;
yy120:
yych = *++cursor_;
- if (yych == 'o') goto yy196;
+ if (yych == 'o') goto yy197;
goto yy11;
yy121:
yych = *++cursor_;
if (yych <= 'r') {
- if (yych == 'g') goto yy197;
+ if (yych == 'g') goto yy198;
goto yy11;
} else {
- if (yych <= 's') goto yy198;
- if (yych <= 't') goto yy199;
+ if (yych <= 's') goto yy199;
+ if (yych <= 't') goto yy200;
goto yy11;
}
yy122:
yych = *++cursor_;
- if (yych == 'l') goto yy200;
- if (yych == 't') goto yy201;
+ if (yych == 'l') goto yy201;
+ if (yych == 't') goto yy202;
goto yy11;
yy123:
yych = *++cursor_;
- if (yych == 'a') goto yy202;
+ if (yych == 'a') goto yy203;
goto yy11;
yy124:
yych = *++cursor_;
- if (yych == 'a') goto yy203;
+ if (yych == 'a') goto yy204;
goto yy11;
yy125:
yych = *++cursor_;
- if (yych == 'b') goto yy204;
+ if (yych == 'b') goto yy205;
goto yy11;
yy126:
yych = *++cursor_;
- if (yych == 'e') goto yy205;
+ if (yych == 'e') goto yy206;
goto yy11;
yy127:
yych = *++cursor_;
- if (yych == 'e') goto yy206;
- if (yych == 'r') goto yy207;
+ if (yych == 'e') goto yy207;
+ if (yych == 'r') goto yy208;
goto yy11;
yy128:
yych = *++cursor_;
- if (yych == 'y') goto yy208;
+ if (yych == 'y') goto yy209;
goto yy11;
yy129:
yych = *++cursor_;
- if (yych == 'p') goto yy210;
+ if (yych == 'p') goto yy211;
goto yy11;
yy130:
yych = *++cursor_;
- if (yych == 'r') goto yy211;
+ if (yych == 'r') goto yy212;
goto yy11;
yy131:
yych = *++cursor_;
- if (yych == '2') goto yy212;
+ if (yych == '2') goto yy213;
goto yy11;
yy132:
yych = *++cursor_;
- if (yych == 'x') goto yy213;
+ if (yych == 'x') goto yy214;
goto yy11;
yy133:
yych = *++cursor_;
@@ -1237,16 +1239,16 @@ yy137:
if (yych <= '\'') goto yy10;
if (yych <= ')') goto yy12;
if (yych <= '/') goto yy10;
- goto yy214;
+ goto yy215;
}
} else {
if (yych <= 'F') {
if (yych == ';') goto yy12;
if (yych <= '@') goto yy10;
- goto yy214;
+ goto yy215;
} else {
if (yych <= '`') goto yy10;
- if (yych <= 'f') goto yy214;
+ if (yych <= 'f') goto yy215;
if (yych <= '~') goto yy10;
goto yy12;
}
@@ -1278,7 +1280,7 @@ yy140:
goto yy10;
} else {
if (yych <= 'd') {
- if (yych <= '_') goto yy216;
+ if (yych <= '_') goto yy217;
goto yy10;
} else {
if (yych <= 'e') goto yy78;
@@ -1348,20 +1350,20 @@ yy144:
goto yy10;
} else {
if (yych <= ')') goto yy22;
- if (yych == '.') goto yy217;
+ if (yych == '.') goto yy218;
goto yy10;
}
} else {
if (yych <= '^') {
if (yych <= ';') goto yy22;
- if (yych == 'P') goto yy219;
+ if (yych == 'P') goto yy220;
goto yy10;
} else {
if (yych <= 'o') {
if (yych <= '_') goto yy80;
goto yy10;
} else {
- if (yych <= 'p') goto yy219;
+ if (yych <= 'p') goto yy220;
if (yych <= '~') goto yy10;
goto yy22;
}
@@ -1369,60 +1371,60 @@ yy144:
}
yy146:
yych = *++cursor_;
- if (yych == 'g') goto yy220;
+ if (yych == 'g') goto yy221;
goto yy11;
yy147:
yych = *++cursor_;
- if (yych == 'f') goto yy221;
+ if (yych == 'f') goto yy222;
goto yy11;
yy148:
yych = *++cursor_;
- if (yych == 'e') goto yy222;
+ if (yych == 'e') goto yy223;
goto yy11;
yy149:
yych = *++cursor_;
- if (yych == 'm') goto yy223;
+ if (yych == 'm') goto yy224;
goto yy11;
yy150:
yych = *++cursor_;
- if (yych == 'a') goto yy224;
+ if (yych == 'a') goto yy225;
goto yy11;
yy151:
yych = *++cursor_;
- if (yych == 'c') goto yy225;
+ if (yych == 'c') goto yy226;
goto yy11;
yy152:
yych = *++cursor_;
- if (yych == 'i') goto yy226;
- if (yych == 't') goto yy227;
+ if (yych == 'i') goto yy227;
+ if (yych == 't') goto yy228;
goto yy11;
yy153:
yych = *++cursor_;
- if (yych == 'l') goto yy228;
+ if (yych == 'l') goto yy229;
goto yy11;
yy154:
yych = *++cursor_;
- if (yych == 'c') goto yy230;
+ if (yych == 'c') goto yy231;
goto yy11;
yy155:
yych = *++cursor_;
- if (yych == 'r') goto yy231;
+ if (yych == 'r') goto yy232;
goto yy11;
yy156:
yych = *++cursor_;
- if (yych == 'a') goto yy232;
+ if (yych == 'a') goto yy233;
goto yy11;
yy157:
yych = *++cursor_;
- if (yych == 'p') goto yy234;
+ if (yych == 'p') goto yy235;
goto yy11;
yy158:
yych = *++cursor_;
- if (yych == 'm') goto yy236;
+ if (yych == 'm') goto yy237;
goto yy11;
yy159:
yych = *++cursor_;
- if (yych == 'e') goto yy238;
+ if (yych == 'e') goto yy239;
goto yy11;
yy160:
yych = *++cursor_;
@@ -1431,14 +1433,14 @@ yy160:
}
#line 274 "src/wast-lexer.cc"
{ RETURN_OPCODE0(End); }
-#line 1435 "src/prebuilt/wast-lexer-gen.cc"
+#line 1437 "src/prebuilt/wast-lexer-gen.cc"
yy162:
yych = *++cursor_;
- if (yych == 'e') goto yy240;
+ if (yych == 'e') goto yy241;
goto yy11;
yy163:
yych = *++cursor_;
- if (yych == 'o') goto yy241;
+ if (yych == 'o') goto yy242;
goto yy11;
yy164:
yych = *++cursor_;
@@ -1451,16 +1453,16 @@ yy164:
}
} else {
if (yych <= ';') {
- if (yych <= '.') goto yy242;
+ if (yych <= '.') goto yy243;
if (yych <= ':') goto yy10;
} else {
- if (yych == 'x') goto yy243;
+ if (yych == 'x') goto yy244;
if (yych <= '~') goto yy10;
}
}
#line 257 "src/wast-lexer.cc"
{ RETURN_TYPE(ValueType, F32); }
-#line 1464 "src/prebuilt/wast-lexer-gen.cc"
+#line 1466 "src/prebuilt/wast-lexer-gen.cc"
yy166:
yych = *++cursor_;
if (yych <= '-') {
@@ -1472,19 +1474,19 @@ yy166:
}
} else {
if (yych <= ';') {
- if (yych <= '.') goto yy244;
+ if (yych <= '.') goto yy245;
if (yych <= ':') goto yy10;
} else {
- if (yych == 'x') goto yy245;
+ if (yych == 'x') goto yy246;
if (yych <= '~') goto yy10;
}
}
#line 258 "src/wast-lexer.cc"
{ RETURN_TYPE(ValueType, F64); }
-#line 1485 "src/prebuilt/wast-lexer-gen.cc"
+#line 1487 "src/prebuilt/wast-lexer-gen.cc"
yy168:
yych = *++cursor_;
- if (yych == 'c') goto yy246;
+ if (yych == 'c') goto yy247;
goto yy11;
yy169:
yych = *++cursor_;
@@ -1499,25 +1501,25 @@ yy169:
if (yych <= '^') {
if (yych != ';') goto yy10;
} else {
- if (yych <= '_') goto yy248;
+ if (yych <= '_') goto yy249;
if (yych <= '~') goto yy10;
}
}
yy170:
-#line 682 "src/wast-lexer.cc"
+#line 690 "src/wast-lexer.cc"
{ RETURN(Get); }
-#line 1510 "src/prebuilt/wast-lexer-gen.cc"
+#line 1512 "src/prebuilt/wast-lexer-gen.cc"
yy171:
yych = *++cursor_;
- if (yych == 'b') goto yy249;
+ if (yych == 'b') goto yy250;
goto yy11;
yy172:
yych = *++cursor_;
- if (yych == 'w') goto yy250;
+ if (yych == 'w') goto yy251;
goto yy11;
yy173:
yych = *++cursor_;
- if (yych == 'x') goto yy251;
+ if (yych == 'x') goto yy252;
goto yy11;
yy174:
yych = *++cursor_;
@@ -1530,16 +1532,16 @@ yy174:
}
} else {
if (yych <= ';') {
- if (yych <= '.') goto yy252;
+ if (yych <= '.') goto yy253;
if (yych <= ':') goto yy10;
} else {
- if (yych == 'x') goto yy253;
+ if (yych == 'x') goto yy254;
if (yych <= '~') goto yy10;
}
}
#line 255 "src/wast-lexer.cc"
{ RETURN_TYPE(ValueType, I32); }
-#line 1543 "src/prebuilt/wast-lexer-gen.cc"
+#line 1545 "src/prebuilt/wast-lexer-gen.cc"
yy176:
yych = *++cursor_;
if (yych <= '-') {
@@ -1551,27 +1553,27 @@ yy176:
}
} else {
if (yych <= ';') {
- if (yych <= '.') goto yy254;
+ if (yych <= '.') goto yy255;
if (yych <= ':') goto yy10;
} else {
- if (yych == 'x') goto yy255;
+ if (yych == 'x') goto yy256;
if (yych <= '~') goto yy10;
}
}
#line 256 "src/wast-lexer.cc"
{ RETURN_TYPE(ValueType, I64); }
-#line 1564 "src/prebuilt/wast-lexer-gen.cc"
+#line 1566 "src/prebuilt/wast-lexer-gen.cc"
yy178:
yych = *++cursor_;
- if (yych == '1') goto yy256;
+ if (yych == '1') goto yy257;
goto yy11;
yy179:
yych = *++cursor_;
- if (yych == 'e') goto yy257;
+ if (yych == 'e') goto yy258;
goto yy11;
yy180:
yych = *++cursor_;
- if (yych == 'o') goto yy258;
+ if (yych == 'o') goto yy259;
goto yy11;
yy181:
yych = *++cursor_;
@@ -1580,26 +1582,26 @@ yy181:
}
#line 240 "src/wast-lexer.cc"
{ RETURN_LITERAL(Float, Infinity); }
-#line 1584 "src/prebuilt/wast-lexer-gen.cc"
+#line 1586 "src/prebuilt/wast-lexer-gen.cc"
yy183:
yych = *++cursor_;
- if (yych == 'o') goto yy259;
+ if (yych == 'o') goto yy260;
goto yy11;
yy184:
yych = *++cursor_;
- if (yych == 'a') goto yy260;
+ if (yych == 'a') goto yy261;
goto yy11;
yy185:
yych = *++cursor_;
- if (yych == 'p') goto yy261;
+ if (yych == 'p') goto yy262;
goto yy11;
yy186:
yych = *++cursor_;
- if (yych == 'o') goto yy263;
+ if (yych == 'o') goto yy264;
goto yy11;
yy187:
yych = *++cursor_;
- if (yych == 'u') goto yy264;
+ if (yych == 'u') goto yy265;
goto yy11;
yy188:
yych = *++cursor_;
@@ -1608,7 +1610,7 @@ yy188:
}
#line 261 "src/wast-lexer.cc"
{ RETURN(Mut); }
-#line 1612 "src/prebuilt/wast-lexer-gen.cc"
+#line 1614 "src/prebuilt/wast-lexer-gen.cc"
yy190:
yych = *++cursor_;
if (yych <= ')') {
@@ -1621,7 +1623,7 @@ yy190:
} else {
if (yych <= ':') {
if (yych <= '9') goto yy10;
- goto yy265;
+ goto yy266;
} else {
if (yych <= ';') goto yy191;
if (yych <= '~') goto yy10;
@@ -1630,7 +1632,7 @@ yy190:
yy191:
#line 241 "src/wast-lexer.cc"
{ RETURN_LITERAL(Float, Nan); }
-#line 1634 "src/prebuilt/wast-lexer-gen.cc"
+#line 1636 "src/prebuilt/wast-lexer-gen.cc"
yy192:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
@@ -1638,89 +1640,93 @@ yy192:
}
#line 262 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Nop); }
-#line 1642 "src/prebuilt/wast-lexer-gen.cc"
+#line 1644 "src/prebuilt/wast-lexer-gen.cc"
yy194:
yych = *++cursor_;
- if (yych == 's') goto yy266;
+ if (yych == 's') goto yy267;
goto yy11;
yy195:
yych = *++cursor_;
- if (yych == 'a') goto yy267;
+ if (yych == 'a') goto yy268;
goto yy11;
yy196:
yych = *++cursor_;
- if (yych == 't') goto yy268;
+ if (yych == 's') goto yy269;
goto yy11;
yy197:
yych = *++cursor_;
- if (yych == 'i') goto yy269;
+ if (yych == 't') goto yy270;
goto yy11;
yy198:
yych = *++cursor_;
- if (yych == 'u') goto yy270;
+ if (yych == 'i') goto yy271;
goto yy11;
yy199:
yych = *++cursor_;
- if (yych == 'h') goto yy271;
if (yych == 'u') goto yy272;
goto yy11;
yy200:
yych = *++cursor_;
- if (yych == 'e') goto yy273;
+ if (yych == 'h') goto yy273;
+ if (yych == 'u') goto yy274;
goto yy11;
yy201:
yych = *++cursor_;
- if (yych == '_') goto yy274;
+ if (yych == 'e') goto yy275;
goto yy11;
yy202:
yych = *++cursor_;
- if (yych == 'r') goto yy275;
+ if (yych == '_') goto yy276;
goto yy11;
yy203:
yych = *++cursor_;
- if (yych == 'r') goto yy276;
+ if (yych == 'r') goto yy277;
goto yy11;
yy204:
yych = *++cursor_;
- if (yych == 'l') goto yy277;
+ if (yych == 'r') goto yy278;
goto yy11;
yy205:
yych = *++cursor_;
- if (yych == '_') goto yy278;
+ if (yych == 'l') goto yy279;
goto yy11;
yy206:
yych = *++cursor_;
- if (yych == 'n') goto yy279;
+ if (yych == '_') goto yy280;
goto yy11;
yy207:
yych = *++cursor_;
- if (yych == 'o') goto yy281;
+ if (yych == 'n') goto yy281;
goto yy11;
yy208:
yych = *++cursor_;
+ if (yych == 'o') goto yy283;
+ goto yy11;
+yy209:
+ yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 691 "src/wast-lexer.cc"
+#line 699 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Try); }
-#line 1707 "src/prebuilt/wast-lexer-gen.cc"
-yy210:
- yych = *++cursor_;
- if (yych == 'e') goto yy282;
- goto yy11;
+#line 1713 "src/prebuilt/wast-lexer-gen.cc"
yy211:
yych = *++cursor_;
if (yych == 'e') goto yy284;
goto yy11;
yy212:
yych = *++cursor_;
- if (yych == '8') goto yy285;
+ if (yych == 'e') goto yy286;
goto yy11;
yy213:
yych = *++cursor_;
- if (yych == '1') goto yy287;
+ if (yych == '8') goto yy287;
goto yy11;
yy214:
+ yych = *++cursor_;
+ if (yych == '1') goto yy289;
+ goto yy11;
+yy215:
++cursor_;
if ((limit_ - cursor_) < 3) FILL(3);
yych = *cursor_;
@@ -1736,10 +1742,10 @@ yy214:
}
} else {
if (yych <= '/') {
- if (yych == '.') goto yy217;
+ if (yych == '.') goto yy218;
goto yy10;
} else {
- if (yych <= '9') goto yy214;
+ if (yych <= '9') goto yy215;
if (yych <= ':') goto yy10;
goto yy71;
}
@@ -1748,26 +1754,26 @@ yy214:
if (yych <= '_') {
if (yych <= 'O') {
if (yych <= '@') goto yy10;
- if (yych <= 'F') goto yy214;
+ if (yych <= 'F') goto yy215;
goto yy10;
} else {
- if (yych <= 'P') goto yy219;
+ if (yych <= 'P') goto yy220;
if (yych <= '^') goto yy10;
goto yy137;
}
} else {
if (yych <= 'o') {
if (yych <= '`') goto yy10;
- if (yych <= 'f') goto yy214;
+ if (yych <= 'f') goto yy215;
goto yy10;
} else {
- if (yych <= 'p') goto yy219;
+ if (yych <= 'p') goto yy220;
if (yych <= '~') goto yy10;
goto yy71;
}
}
}
-yy216:
+yy217:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
@@ -1791,325 +1797,321 @@ yy216:
goto yy12;
}
}
-yy217:
+yy218:
yych = *++cursor_;
if (yych == '_') goto yy10;
- goto yy289;
-yy218:
+ goto yy291;
+yy219:
#line 239 "src/wast-lexer.cc"
{ RETURN_LITERAL(Float, Hexfloat); }
-#line 1802 "src/prebuilt/wast-lexer-gen.cc"
-yy219:
+#line 1808 "src/prebuilt/wast-lexer-gen.cc"
+yy220:
yych = *++cursor_;
if (yych <= ',') {
- if (yych == '+') goto yy290;
+ if (yych == '+') goto yy292;
goto yy11;
} else {
- if (yych <= '-') goto yy290;
+ if (yych <= '-') goto yy292;
if (yych <= '/') goto yy11;
- if (yych <= '9') goto yy291;
+ if (yych <= '9') goto yy293;
goto yy11;
}
-yy220:
- yych = *++cursor_;
- if (yych == 'n') goto yy293;
- goto yy11;
yy221:
yych = *++cursor_;
- if (yych == 'u') goto yy294;
+ if (yych == 'n') goto yy295;
goto yy11;
yy222:
yych = *++cursor_;
- if (yych == 'r') goto yy295;
+ if (yych == 'u') goto yy296;
goto yy11;
yy223:
yych = *++cursor_;
- if (yych == 'i') goto yy296;
+ if (yych == 'r') goto yy297;
goto yy11;
yy224:
yych = *++cursor_;
- if (yych == 'r') goto yy297;
+ if (yych == 'i') goto yy298;
goto yy11;
yy225:
yych = *++cursor_;
- if (yych == 'k') goto yy298;
+ if (yych == 'r') goto yy299;
goto yy11;
yy226:
yych = *++cursor_;
- if (yych == 'f') goto yy300;
+ if (yych == 'k') goto yy300;
goto yy11;
yy227:
yych = *++cursor_;
- if (yych == 'a') goto yy302;
+ if (yych == 'f') goto yy302;
goto yy11;
yy228:
yych = *++cursor_;
+ if (yych == 'a') goto yy304;
+ goto yy11;
+yy229:
+ yych = *++cursor_;
if (yych <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy229;
+ if (yych <= '"') goto yy230;
if (yych <= '\'') goto yy10;
}
} else {
if (yych <= '^') {
if (yych != ';') goto yy10;
} else {
- if (yych <= '_') goto yy303;
+ if (yych <= '_') goto yy305;
if (yych <= '~') goto yy10;
}
}
-yy229:
+yy230:
#line 271 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Call); }
-#line 1866 "src/prebuilt/wast-lexer-gen.cc"
-yy230:
- yych = *++cursor_;
- if (yych == 'h') goto yy304;
- goto yy11;
+#line 1872 "src/prebuilt/wast-lexer-gen.cc"
yy231:
yych = *++cursor_;
- if (yych == 'e') goto yy306;
+ if (yych == 'h') goto yy306;
goto yy11;
yy232:
yych = *++cursor_;
+ if (yych == 'e') goto yy308;
+ goto yy11;
+yy233:
+ yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 675 "src/wast-lexer.cc"
+#line 682 "src/wast-lexer.cc"
{ RETURN(Data); }
-#line 1882 "src/prebuilt/wast-lexer-gen.cc"
-yy234:
+#line 1888 "src/prebuilt/wast-lexer-gen.cc"
+yy235:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 273 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Drop); }
-#line 1890 "src/prebuilt/wast-lexer-gen.cc"
-yy236:
+#line 1896 "src/prebuilt/wast-lexer-gen.cc"
+yy237:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 674 "src/wast-lexer.cc"
+#line 681 "src/wast-lexer.cc"
{ RETURN(Elem); }
-#line 1898 "src/prebuilt/wast-lexer-gen.cc"
-yy238:
+#line 1904 "src/prebuilt/wast-lexer-gen.cc"
+yy239:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 266 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Else); }
-#line 1906 "src/prebuilt/wast-lexer-gen.cc"
-yy240:
- yych = *++cursor_;
- if (yych == 'p') goto yy307;
- goto yy11;
+#line 1912 "src/prebuilt/wast-lexer-gen.cc"
yy241:
yych = *++cursor_;
- if (yych == 'r') goto yy308;
+ if (yych == 'p') goto yy309;
goto yy11;
yy242:
yych = *++cursor_;
+ if (yych == 'r') goto yy310;
+ goto yy11;
+yy243:
+ yych = *++cursor_;
switch (yych) {
- case 'a': goto yy309;
- case 'c': goto yy310;
- case 'd': goto yy311;
- case 'e': goto yy312;
- case 'f': goto yy313;
- case 'g': goto yy314;
- case 'l': goto yy315;
- case 'm': goto yy316;
- case 'n': goto yy317;
- case 'r': goto yy318;
- case 's': goto yy319;
- case 't': goto yy320;
+ 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;
}
-yy243:
+yy244:
yych = *++cursor_;
- if (yych == '4') goto yy321;
+ if (yych == '4') goto yy323;
goto yy11;
-yy244:
+yy245:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy322;
- case 'c': goto yy323;
- case 'd': goto yy324;
- case 'e': goto yy325;
- case 'f': goto yy326;
- case 'g': goto yy327;
- case 'l': goto yy328;
- case 'm': goto yy329;
- case 'n': goto yy330;
- case 'p': goto yy331;
- case 'r': goto yy332;
- case 's': goto yy333;
- case 't': goto yy334;
+ 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;
}
-yy245:
+yy246:
yych = *++cursor_;
- if (yych == '2') goto yy335;
+ if (yych == '2') goto yy337;
goto yy11;
-yy246:
+yy247:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 663 "src/wast-lexer.cc"
+#line 670 "src/wast-lexer.cc"
{ RETURN(Func); }
-#line 1965 "src/prebuilt/wast-lexer-gen.cc"
-yy248:
- yych = *++cursor_;
- if (yych == 'g') goto yy336;
- if (yych == 'l') goto yy337;
- goto yy11;
+#line 1971 "src/prebuilt/wast-lexer-gen.cc"
yy249:
yych = *++cursor_;
- if (yych == 'a') goto yy338;
+ if (yych == 'g') goto yy338;
+ if (yych == 'l') goto yy339;
goto yy11;
yy250:
yych = *++cursor_;
- if (yych == '_') goto yy339;
+ if (yych == 'a') goto yy340;
goto yy11;
yy251:
yych = *++cursor_;
- if (yych == '8') goto yy340;
+ if (yych == '_') goto yy341;
goto yy11;
yy252:
yych = *++cursor_;
+ if (yych == '8') goto yy342;
+ goto yy11;
+yy253:
+ yych = *++cursor_;
switch (yych) {
- case 'a': goto yy341;
- case 'c': goto yy342;
- case 'd': goto yy343;
- case 'e': goto yy344;
- case 'g': goto yy345;
- case 'l': goto yy346;
- case 'm': goto yy347;
- case 'n': goto yy348;
- case 'o': goto yy349;
- case 'p': goto yy350;
- case 'r': goto yy351;
- case 's': goto yy352;
- case 't': goto yy353;
- case 'w': goto yy354;
- case 'x': goto yy355;
+ 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;
}
-yy253:
+yy254:
yych = *++cursor_;
- if (yych == '4') goto yy356;
+ if (yych == '4') goto yy358;
goto yy11;
-yy254:
+yy255:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy357;
- case 'c': goto yy358;
- case 'd': goto yy359;
- case 'e': goto yy360;
- case 'g': goto yy361;
- case 'l': goto yy362;
- case 'm': goto yy363;
- case 'n': goto yy364;
- case 'o': goto yy365;
- case 'p': goto yy366;
- case 'r': goto yy367;
- case 's': goto yy368;
- case 't': goto yy369;
- case 'x': goto yy370;
+ 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;
}
-yy255:
- yych = *++cursor_;
- if (yych == '2') goto yy371;
- goto yy11;
yy256:
yych = *++cursor_;
- if (yych == '6') goto yy372;
+ if (yych == '2') goto yy373;
goto yy11;
yy257:
yych = *++cursor_;
- if (yych == 'x') goto yy373;
+ if (yych == '6') goto yy374;
goto yy11;
yy258:
yych = *++cursor_;
- if (yych == 'r') goto yy374;
+ if (yych == 'x') goto yy375;
goto yy11;
yy259:
yych = *++cursor_;
- if (yych == 'k') goto yy375;
+ if (yych == 'r') goto yy376;
goto yy11;
yy260:
yych = *++cursor_;
- if (yych == 'l') goto yy376;
+ if (yych == 'k') goto yy377;
goto yy11;
yy261:
yych = *++cursor_;
+ if (yych == 'l') goto yy378;
+ goto yy11;
+yy262:
+ yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 267 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Loop); }
-#line 2057 "src/prebuilt/wast-lexer-gen.cc"
-yy263:
- yych = *++cursor_;
- if (yych == 'r') goto yy378;
- goto yy11;
+#line 2063 "src/prebuilt/wast-lexer-gen.cc"
yy264:
yych = *++cursor_;
- if (yych == 'l') goto yy379;
+ if (yych == 'r') goto yy380;
goto yy11;
yy265:
yych = *++cursor_;
- if (yych == '0') goto yy380;
+ if (yych == 'l') goto yy381;
goto yy11;
yy266:
yych = *++cursor_;
- if (yych == 'e') goto yy381;
+ if (yych == '0') goto yy382;
goto yy11;
yy267:
yych = *++cursor_;
- if (yych == 'm') goto yy382;
+ if (yych == 'e') goto yy383;
goto yy11;
yy268:
yych = *++cursor_;
- if (yych == 'e') goto yy384;
+ if (yych == 'm') goto yy384;
goto yy11;
yy269:
yych = *++cursor_;
- if (yych == 's') goto yy386;
+ if (yych == 'i') goto yy386;
goto yy11;
yy270:
yych = *++cursor_;
- if (yych == 'l') goto yy387;
+ if (yych == 'e') goto yy387;
goto yy11;
yy271:
yych = *++cursor_;
- if (yych == 'r') goto yy388;
+ if (yych == 's') goto yy389;
goto yy11;
yy272:
yych = *++cursor_;
- if (yych == 'r') goto yy389;
+ if (yych == 'l') goto yy390;
goto yy11;
yy273:
yych = *++cursor_;
- if (yych == 'c') goto yy390;
+ if (yych == 'r') goto yy391;
goto yy11;
yy274:
yych = *++cursor_;
- if (yych == 'g') goto yy391;
- if (yych == 'l') goto yy392;
+ if (yych == 'r') goto yy392;
goto yy11;
yy275:
yych = *++cursor_;
- if (yych == 'e') goto yy393;
+ if (yych == 'c') goto yy393;
goto yy11;
yy276:
yych = *++cursor_;
- if (yych == 't') goto yy394;
+ if (yych == 'g') goto yy394;
+ if (yych == 'l') goto yy395;
goto yy11;
yy277:
yych = *++cursor_;
@@ -2117,105 +2119,113 @@ yy277:
goto yy11;
yy278:
yych = *++cursor_;
- if (yych == 'l') goto yy398;
+ if (yych == 't') goto yy397;
goto yy11;
yy279:
yych = *++cursor_;
+ if (yych == 'e') goto yy399;
+ goto yy11;
+yy280:
+ yych = *++cursor_;
+ if (yych == 'l') goto yy401;
+ goto yy11;
+yy281:
+ yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 265 "src/wast-lexer.cc"
{ RETURN(Then); }
-#line 2130 "src/prebuilt/wast-lexer-gen.cc"
-yy281:
+#line 2140 "src/prebuilt/wast-lexer-gen.cc"
+yy283:
yych = *++cursor_;
- if (yych == 'w') goto yy399;
+ if (yych == 'w') goto yy402;
goto yy11;
-yy282:
+yy284:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 662 "src/wast-lexer.cc"
+#line 669 "src/wast-lexer.cc"
{ RETURN(Type); }
-#line 2142 "src/prebuilt/wast-lexer-gen.cc"
-yy284:
+#line 2152 "src/prebuilt/wast-lexer-gen.cc"
+yy286:
yych = *++cursor_;
- if (yych == 'a') goto yy401;
+ if (yych == 'a') goto yy404;
goto yy11;
-yy285:
+yy287:
yych = *++cursor_;
if (yych <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy286;
+ if (yych <= '"') goto yy288;
if (yych <= '\'') goto yy10;
}
} else {
if (yych <= ':') {
- if (yych == '.') goto yy402;
+ if (yych == '.') goto yy405;
goto yy10;
} else {
- if (yych <= ';') goto yy286;
+ if (yych <= ';') goto yy288;
if (yych <= '~') goto yy10;
}
}
-yy286:
+yy288:
#line 259 "src/wast-lexer.cc"
{ RETURN_TYPE(ValueType, V128); }
-#line 2168 "src/prebuilt/wast-lexer-gen.cc"
-yy287:
+#line 2178 "src/prebuilt/wast-lexer-gen.cc"
+yy289:
yych = *++cursor_;
- if (yych == '6') goto yy403;
+ if (yych == '6') goto yy406;
goto yy11;
-yy288:
+yy290:
++cursor_;
if ((limit_ - cursor_) < 2) FILL(2);
yych = *cursor_;
-yy289:
+yy291:
if (yych <= '@') {
if (yych <= ')') {
if (yych <= '!') {
- if (yych <= ' ') goto yy218;
+ if (yych <= ' ') goto yy219;
goto yy10;
} else {
- if (yych <= '"') goto yy218;
+ if (yych <= '"') goto yy219;
if (yych <= '\'') goto yy10;
- goto yy218;
+ goto yy219;
}
} else {
if (yych <= '9') {
if (yych <= '/') goto yy10;
- goto yy288;
+ goto yy290;
} else {
- if (yych == ';') goto yy218;
+ if (yych == ';') goto yy219;
goto yy10;
}
}
} else {
if (yych <= '_') {
if (yych <= 'O') {
- if (yych <= 'F') goto yy288;
+ if (yych <= 'F') goto yy290;
goto yy10;
} else {
- if (yych <= 'P') goto yy219;
+ if (yych <= 'P') goto yy220;
if (yych <= '^') goto yy10;
- goto yy404;
+ goto yy407;
}
} else {
if (yych <= 'o') {
if (yych <= '`') goto yy10;
- if (yych <= 'f') goto yy288;
+ if (yych <= 'f') goto yy290;
goto yy10;
} else {
- if (yych <= 'p') goto yy219;
+ if (yych <= 'p') goto yy220;
if (yych <= '~') goto yy10;
- goto yy218;
+ goto yy219;
}
}
}
-yy290:
+yy292:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
@@ -2238,581 +2248,599 @@ yy290:
goto yy12;
}
}
-yy291:
+yy293:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= '/') {
if (yych <= '"') {
if (yych == '!') goto yy10;
- goto yy218;
+ goto yy219;
} else {
if (yych <= '\'') goto yy10;
- if (yych <= ')') goto yy218;
+ if (yych <= ')') goto yy219;
goto yy10;
}
} else {
if (yych <= ';') {
- if (yych <= '9') goto yy291;
+ if (yych <= '9') goto yy293;
if (yych <= ':') goto yy10;
- goto yy218;
+ goto yy219;
} else {
- if (yych == '_') goto yy290;
+ if (yych == '_') goto yy292;
if (yych <= '~') goto yy10;
- goto yy218;
+ goto yy219;
}
}
-yy293:
- yych = *++cursor_;
- if (yych == '=') goto yy405;
- goto yy11;
-yy294:
- yych = *++cursor_;
- if (yych == 'n') goto yy406;
- goto yy11;
yy295:
yych = *++cursor_;
- if (yych == 't') goto yy407;
+ if (yych == '=') goto yy408;
goto yy11;
yy296:
yych = *++cursor_;
- if (yych == 'c') goto yy408;
+ if (yych == 'n') goto yy409;
goto yy11;
yy297:
yych = *++cursor_;
- if (yych == 'y') goto yy409;
+ if (yych == 't') goto yy410;
goto yy11;
yy298:
yych = *++cursor_;
+ if (yych == 'c') goto yy411;
+ goto yy11;
+yy299:
+ yych = *++cursor_;
+ if (yych == 'y') goto yy412;
+ goto yy11;
+yy300:
+ yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 263 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Block); }
-#line 2293 "src/prebuilt/wast-lexer-gen.cc"
-yy300:
+#line 2303 "src/prebuilt/wast-lexer-gen.cc"
+yy302:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 269 "src/wast-lexer.cc"
{ RETURN_OPCODE0(BrIf); }
-#line 2301 "src/prebuilt/wast-lexer-gen.cc"
-yy302:
+#line 2311 "src/prebuilt/wast-lexer-gen.cc"
+yy304:
yych = *++cursor_;
- if (yych == 'b') goto yy411;
+ if (yych == 'b') goto yy414;
goto yy11;
-yy303:
+yy305:
yych = *++cursor_;
- if (yych == 'i') goto yy412;
+ if (yych == 'i') goto yy415;
goto yy11;
-yy304:
+yy306:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 692 "src/wast-lexer.cc"
+#line 700 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Catch); }
-#line 2317 "src/prebuilt/wast-lexer-gen.cc"
-yy306:
- yych = *++cursor_;
- if (yych == 'n') goto yy413;
- goto yy11;
-yy307:
- yych = *++cursor_;
- if (yych == 't') goto yy414;
- goto yy11;
+#line 2327 "src/prebuilt/wast-lexer-gen.cc"
yy308:
yych = *++cursor_;
- if (yych == 't') goto yy416;
+ if (yych == 'n') goto yy416;
goto yy11;
yy309:
yych = *++cursor_;
- if (yych == 'b') goto yy418;
- if (yych == 'd') goto yy419;
+ if (yych == 't') goto yy417;
goto yy11;
yy310:
yych = *++cursor_;
- if (yych == 'e') goto yy420;
- if (yych == 'o') goto yy421;
+ if (yych == 't') goto yy419;
goto yy11;
yy311:
yych = *++cursor_;
- if (yych == 'e') goto yy422;
- if (yych == 'i') goto yy423;
+ if (yych == 'b') goto yy421;
+ if (yych == 'd') goto yy422;
goto yy11;
yy312:
yych = *++cursor_;
- if (yych == 'q') goto yy424;
+ if (yych == 'e') goto yy423;
+ if (yych == 'o') goto yy424;
goto yy11;
yy313:
yych = *++cursor_;
- if (yych == 'l') goto yy426;
+ if (yych == 'e') goto yy425;
+ if (yych == 'i') goto yy426;
goto yy11;
yy314:
yych = *++cursor_;
- if (yych == 'e') goto yy427;
- if (yych == 't') goto yy429;
+ if (yych == 'q') goto yy427;
goto yy11;
yy315:
yych = *++cursor_;
+ if (yych == 'l') goto yy429;
+ goto yy11;
+yy316:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy430;
+ if (yych == 't') goto yy432;
+ goto yy11;
+yy317:
+ yych = *++cursor_;
if (yych <= 'n') {
- if (yych == 'e') goto yy431;
+ if (yych == 'e') goto yy434;
goto yy11;
} else {
- if (yych <= 'o') goto yy433;
- if (yych == 't') goto yy434;
+ if (yych <= 'o') goto yy436;
+ if (yych == 't') goto yy437;
goto yy11;
}
-yy316:
+yy318:
yych = *++cursor_;
if (yych <= 'h') {
- if (yych == 'a') goto yy436;
+ if (yych == 'a') goto yy439;
goto yy11;
} else {
- if (yych <= 'i') goto yy437;
- if (yych == 'u') goto yy438;
+ if (yych <= 'i') goto yy440;
+ if (yych == 'u') goto yy441;
goto yy11;
}
-yy317:
+yy319:
yych = *++cursor_;
- if (yych == 'e') goto yy439;
+ if (yych == 'e') goto yy442;
goto yy11;
-yy318:
+yy320:
yych = *++cursor_;
- if (yych == 'e') goto yy441;
+ if (yych == 'e') goto yy444;
goto yy11;
-yy319:
+yy321:
yych = *++cursor_;
if (yych <= 's') {
- if (yych == 'q') goto yy442;
+ if (yych == 'q') goto yy445;
goto yy11;
} else {
- if (yych <= 't') goto yy443;
- if (yych <= 'u') goto yy444;
+ if (yych <= 't') goto yy446;
+ if (yych <= 'u') goto yy447;
goto yy11;
}
-yy320:
- yych = *++cursor_;
- if (yych == 'r') goto yy445;
- goto yy11;
-yy321:
- yych = *++cursor_;
- if (yych == '.') goto yy446;
- goto yy11;
yy322:
yych = *++cursor_;
- if (yych == 'b') goto yy447;
- if (yych == 'd') goto yy448;
+ if (yych == 'r') goto yy448;
goto yy11;
yy323:
yych = *++cursor_;
- if (yych == 'e') goto yy449;
- if (yych == 'o') goto yy450;
+ if (yych == '.') goto yy449;
goto yy11;
yy324:
yych = *++cursor_;
- if (yych == 'i') goto yy451;
+ if (yych == 'b') goto yy450;
+ if (yych == 'd') goto yy451;
goto yy11;
yy325:
yych = *++cursor_;
- if (yych == 'q') goto yy452;
+ if (yych == 'e') goto yy452;
+ if (yych == 'o') goto yy453;
goto yy11;
yy326:
yych = *++cursor_;
- if (yych == 'l') goto yy454;
+ if (yych == 'i') goto yy454;
goto yy11;
yy327:
yych = *++cursor_;
- if (yych == 'e') goto yy455;
- if (yych == 't') goto yy457;
+ if (yych == 'q') goto yy455;
goto yy11;
yy328:
yych = *++cursor_;
+ if (yych == 'l') goto yy457;
+ goto yy11;
+yy329:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy458;
+ if (yych == 't') goto yy460;
+ goto yy11;
+yy330:
+ yych = *++cursor_;
if (yych <= 'n') {
- if (yych == 'e') goto yy459;
+ if (yych == 'e') goto yy462;
goto yy11;
} else {
- if (yych <= 'o') goto yy461;
- if (yych == 't') goto yy462;
+ if (yych <= 'o') goto yy464;
+ if (yych == 't') goto yy465;
goto yy11;
}
-yy329:
+yy331:
yych = *++cursor_;
if (yych <= 'h') {
- if (yych == 'a') goto yy464;
+ if (yych == 'a') goto yy467;
goto yy11;
} else {
- if (yych <= 'i') goto yy465;
- if (yych == 'u') goto yy466;
+ if (yych <= 'i') goto yy468;
+ if (yych == 'u') goto yy469;
goto yy11;
}
-yy330:
+yy332:
yych = *++cursor_;
- if (yych == 'e') goto yy467;
+ if (yych == 'e') goto yy470;
goto yy11;
-yy331:
+yy333:
yych = *++cursor_;
- if (yych == 'r') goto yy469;
+ if (yych == 'r') goto yy472;
goto yy11;
-yy332:
+yy334:
yych = *++cursor_;
- if (yych == 'e') goto yy470;
+ if (yych == 'e') goto yy473;
goto yy11;
-yy333:
+yy335:
yych = *++cursor_;
if (yych <= 's') {
- if (yych == 'q') goto yy471;
+ if (yych == 'q') goto yy474;
goto yy11;
} else {
- if (yych <= 't') goto yy472;
- if (yych <= 'u') goto yy473;
+ if (yych <= 't') goto yy475;
+ if (yych <= 'u') goto yy476;
goto yy11;
}
-yy334:
- yych = *++cursor_;
- if (yych == 'r') goto yy474;
- goto yy11;
-yy335:
- yych = *++cursor_;
- if (yych == '.') goto yy475;
- goto yy11;
yy336:
yych = *++cursor_;
- if (yych == 'l') goto yy476;
+ if (yych == 'r') goto yy477;
goto yy11;
yy337:
yych = *++cursor_;
- if (yych == 'o') goto yy477;
+ if (yych == '.') goto yy478;
goto yy11;
yy338:
yych = *++cursor_;
- if (yych == 'l') goto yy478;
+ if (yych == 'l') goto yy479;
goto yy11;
yy339:
yych = *++cursor_;
- if (yych == 'm') goto yy480;
+ if (yych == 'o') goto yy480;
goto yy11;
yy340:
yych = *++cursor_;
- if (yych == '.') goto yy481;
+ if (yych == 'l') goto yy481;
goto yy11;
yy341:
yych = *++cursor_;
+ if (yych == 'm') goto yy483;
+ goto yy11;
+yy342:
+ yych = *++cursor_;
+ if (yych == '.') goto yy484;
+ goto yy11;
+yy343:
+ yych = *++cursor_;
if (yych <= 'm') {
- if (yych == 'd') goto yy482;
+ if (yych == 'd') goto yy485;
goto yy11;
} else {
- if (yych <= 'n') goto yy483;
- if (yych == 't') goto yy484;
+ if (yych <= 'n') goto yy486;
+ if (yych == 't') goto yy487;
goto yy11;
}
-yy342:
+yy344:
yych = *++cursor_;
if (yych <= 'n') {
- if (yych == 'l') goto yy485;
+ if (yych == 'l') goto yy488;
goto yy11;
} else {
- if (yych <= 'o') goto yy486;
- if (yych == 't') goto yy487;
+ if (yych <= 'o') goto yy489;
+ if (yych == 't') goto yy490;
goto yy11;
}
-yy343:
+yy345:
yych = *++cursor_;
- if (yych == 'i') goto yy488;
+ if (yych == 'i') goto yy491;
goto yy11;
-yy344:
+yy346:
yych = *++cursor_;
- if (yych == 'q') goto yy489;
- if (yych == 'x') goto yy491;
+ if (yych == 'q') goto yy492;
+ if (yych == 'x') goto yy494;
goto yy11;
-yy345:
+yy347:
yych = *++cursor_;
- if (yych == 'e') goto yy492;
- if (yych == 't') goto yy493;
+ if (yych == 'e') goto yy495;
+ if (yych == 't') goto yy496;
goto yy11;
-yy346:
+yy348:
yych = *++cursor_;
if (yych <= 'n') {
- if (yych == 'e') goto yy494;
+ if (yych == 'e') goto yy497;
goto yy11;
} else {
- if (yych <= 'o') goto yy495;
- if (yych == 't') goto yy496;
+ if (yych <= 'o') goto yy498;
+ if (yych == 't') goto yy499;
goto yy11;
}
-yy347:
- yych = *++cursor_;
- if (yych == 'u') goto yy497;
- goto yy11;
-yy348:
- yych = *++cursor_;
- if (yych == 'e') goto yy498;
- goto yy11;
yy349:
yych = *++cursor_;
- if (yych == 'r') goto yy500;
+ if (yych == 'u') goto yy500;
goto yy11;
yy350:
yych = *++cursor_;
- if (yych == 'o') goto yy502;
+ if (yych == 'e') goto yy501;
goto yy11;
yy351:
yych = *++cursor_;
- if (yych == 'e') goto yy503;
- if (yych == 'o') goto yy504;
+ if (yych == 'r') goto yy503;
goto yy11;
yy352:
yych = *++cursor_;
+ if (yych == 'o') goto yy505;
+ goto yy11;
+yy353:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy506;
+ if (yych == 'o') goto yy507;
+ goto yy11;
+yy354:
+ yych = *++cursor_;
if (yych <= 's') {
- if (yych == 'h') goto yy505;
+ if (yych == 'h') goto yy508;
goto yy11;
} else {
- if (yych <= 't') goto yy506;
- if (yych <= 'u') goto yy507;
+ if (yych <= 't') goto yy509;
+ if (yych <= 'u') goto yy510;
goto yy11;
}
-yy353:
+yy355:
yych = *++cursor_;
- if (yych == 'r') goto yy508;
+ if (yych == 'r') goto yy511;
goto yy11;
-yy354:
+yy356:
yych = *++cursor_;
- if (yych == 'r') goto yy509;
+ if (yych == 'r') goto yy512;
goto yy11;
-yy355:
+yy357:
yych = *++cursor_;
- if (yych == 'o') goto yy510;
+ if (yych == 'o') goto yy513;
goto yy11;
-yy356:
+yy358:
yych = *++cursor_;
- if (yych == '.') goto yy511;
+ if (yych == '.') goto yy514;
goto yy11;
-yy357:
+yy359:
yych = *++cursor_;
if (yych <= 'm') {
- if (yych == 'd') goto yy512;
+ if (yych == 'd') goto yy515;
goto yy11;
} else {
- if (yych <= 'n') goto yy513;
- if (yych == 't') goto yy514;
+ if (yych <= 'n') goto yy516;
+ if (yych == 't') goto yy517;
goto yy11;
}
-yy358:
+yy360:
yych = *++cursor_;
if (yych <= 'n') {
- if (yych == 'l') goto yy515;
+ if (yych == 'l') goto yy518;
goto yy11;
} else {
- if (yych <= 'o') goto yy516;
- if (yych == 't') goto yy517;
+ if (yych <= 'o') goto yy519;
+ if (yych == 't') goto yy520;
goto yy11;
}
-yy359:
+yy361:
yych = *++cursor_;
- if (yych == 'i') goto yy518;
+ if (yych == 'i') goto yy521;
goto yy11;
-yy360:
+yy362:
yych = *++cursor_;
- if (yych == 'q') goto yy519;
- if (yych == 'x') goto yy521;
+ if (yych == 'q') goto yy522;
+ if (yych == 'x') goto yy524;
goto yy11;
-yy361:
+yy363:
yych = *++cursor_;
- if (yych == 'e') goto yy522;
- if (yych == 't') goto yy523;
+ if (yych == 'e') goto yy525;
+ if (yych == 't') goto yy526;
goto yy11;
-yy362:
+yy364:
yych = *++cursor_;
if (yych <= 'n') {
- if (yych == 'e') goto yy524;
+ if (yych == 'e') goto yy527;
goto yy11;
} else {
- if (yych <= 'o') goto yy525;
- if (yych == 't') goto yy526;
+ if (yych <= 'o') goto yy528;
+ if (yych == 't') goto yy529;
goto yy11;
}
-yy363:
- yych = *++cursor_;
- if (yych == 'u') goto yy527;
- goto yy11;
-yy364:
- yych = *++cursor_;
- if (yych == 'e') goto yy528;
- goto yy11;
yy365:
yych = *++cursor_;
- if (yych == 'r') goto yy530;
+ if (yych == 'u') goto yy530;
goto yy11;
yy366:
yych = *++cursor_;
- if (yych == 'o') goto yy532;
+ if (yych == 'e') goto yy531;
goto yy11;
yy367:
yych = *++cursor_;
- if (yych == 'e') goto yy533;
- if (yych == 'o') goto yy534;
+ if (yych == 'r') goto yy533;
goto yy11;
yy368:
yych = *++cursor_;
- if (yych <= 's') {
- if (yych == 'h') goto yy535;
- goto yy11;
- } else {
- if (yych <= 't') goto yy536;
- if (yych <= 'u') goto yy537;
- goto yy11;
- }
+ if (yych == 'o') goto yy535;
+ goto yy11;
yy369:
yych = *++cursor_;
- if (yych == 'r') goto yy538;
+ if (yych == 'e') goto yy536;
+ if (yych == 'o') goto yy537;
goto yy11;
yy370:
yych = *++cursor_;
- if (yych == 'o') goto yy539;
- goto yy11;
+ if (yych <= 's') {
+ if (yych == 'h') goto yy538;
+ goto yy11;
+ } else {
+ if (yych <= 't') goto yy539;
+ if (yych <= 'u') goto yy540;
+ goto yy11;
+ }
yy371:
yych = *++cursor_;
- if (yych == '.') goto yy540;
+ if (yych == 'r') goto yy541;
goto yy11;
yy372:
yych = *++cursor_;
- if (yych == '.') goto yy541;
+ if (yych == 'o') goto yy542;
goto yy11;
yy373:
yych = *++cursor_;
- if (yych == 'c') goto yy542;
+ if (yych == '.') goto yy543;
goto yy11;
yy374:
yych = *++cursor_;
- if (yych == 't') goto yy543;
+ if (yych == '.') goto yy544;
goto yy11;
yy375:
yych = *++cursor_;
- if (yych == 'e') goto yy545;
+ if (yych == 'c') goto yy545;
goto yy11;
yy376:
yych = *++cursor_;
+ if (yych == 't') goto yy546;
+ goto yy11;
+yy377:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy548;
+ goto yy11;
+yy378:
+ yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 666 "src/wast-lexer.cc"
+#line 673 "src/wast-lexer.cc"
{ RETURN(Local); }
-#line 2702 "src/prebuilt/wast-lexer-gen.cc"
-yy378:
- yych = *++cursor_;
- if (yych == 'y') goto yy547;
- goto yy11;
-yy379:
- yych = *++cursor_;
- if (yych == 'e') goto yy549;
- goto yy11;
+#line 2712 "src/prebuilt/wast-lexer-gen.cc"
yy380:
yych = *++cursor_;
- if (yych == 'x') goto yy551;
+ if (yych == 'y') goto yy550;
goto yy11;
yy381:
yych = *++cursor_;
- if (yych == 't') goto yy552;
+ if (yych == 'e') goto yy552;
goto yy11;
yy382:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
- }
-#line 664 "src/wast-lexer.cc"
- { RETURN(Param); }
-#line 2726 "src/prebuilt/wast-lexer-gen.cc"
+ if (yych == 'x') goto yy554;
+ goto yy11;
+yy383:
+ yych = *++cursor_;
+ if (yych == 't') goto yy555;
+ goto yy11;
yy384:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 670 "src/wast-lexer.cc"
- { RETURN(Quote); }
-#line 2734 "src/prebuilt/wast-lexer-gen.cc"
+#line 671 "src/wast-lexer.cc"
+ { RETURN(Param); }
+#line 2736 "src/prebuilt/wast-lexer-gen.cc"
yy386:
yych = *++cursor_;
- if (yych == 't') goto yy554;
+ if (yych == 'v') goto yy557;
goto yy11;
yy387:
yych = *++cursor_;
- if (yych == 't') goto yy555;
- goto yy11;
-yy388:
- yych = *++cursor_;
- if (yych == 'o') goto yy557;
- goto yy11;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 677 "src/wast-lexer.cc"
+ { RETURN(Quote); }
+#line 2748 "src/prebuilt/wast-lexer-gen.cc"
yy389:
yych = *++cursor_;
- if (yych == 'n') goto yy558;
+ if (yych == 't') goto yy558;
goto yy11;
yy390:
yych = *++cursor_;
- if (yych == 't') goto yy560;
+ if (yych == 't') goto yy559;
goto yy11;
yy391:
yych = *++cursor_;
- if (yych == 'l') goto yy562;
+ if (yych == 'o') goto yy561;
goto yy11;
yy392:
yych = *++cursor_;
- if (yych == 'o') goto yy563;
+ if (yych == 'n') goto yy562;
goto yy11;
yy393:
yych = *++cursor_;
- if (yych == 'd') goto yy564;
+ if (yych == 't') goto yy564;
goto yy11;
yy394:
yych = *++cursor_;
+ if (yych == 'l') goto yy566;
+ goto yy11;
+yy395:
+ yych = *++cursor_;
+ if (yych == 'o') goto yy567;
+ goto yy11;
+yy396:
+ yych = *++cursor_;
+ if (yych == 'd') goto yy568;
+ goto yy11;
+yy397:
+ yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 673 "src/wast-lexer.cc"
+#line 680 "src/wast-lexer.cc"
{ RETURN(Start); }
-#line 2774 "src/prebuilt/wast-lexer-gen.cc"
-yy396:
+#line 2788 "src/prebuilt/wast-lexer-gen.cc"
+yy399:
yych = *++cursor_;
- if (yybm[0+yych] & 8) {
- goto yy10;
+ if (yych <= ')') {
+ if (yych <= '!') {
+ if (yych >= '!') goto yy10;
+ } else {
+ if (yych <= '"') goto yy400;
+ if (yych <= '\'') goto yy10;
+ }
+ } else {
+ if (yych <= ':') {
+ if (yych == '.') goto yy570;
+ goto yy10;
+ } else {
+ if (yych <= ';') goto yy400;
+ if (yych <= '~') goto yy10;
+ }
}
-#line 671 "src/wast-lexer.cc"
+yy400:
+#line 678 "src/wast-lexer.cc"
{ RETURN(Table); }
-#line 2782 "src/prebuilt/wast-lexer-gen.cc"
-yy398:
+#line 2810 "src/prebuilt/wast-lexer-gen.cc"
+yy401:
yych = *++cursor_;
- if (yych == 'o') goto yy566;
+ if (yych == 'o') goto yy571;
goto yy11;
-yy399:
+yy402:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 693 "src/wast-lexer.cc"
+#line 701 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Throw); }
-#line 2794 "src/prebuilt/wast-lexer-gen.cc"
-yy401:
+#line 2822 "src/prebuilt/wast-lexer-gen.cc"
+yy404:
yych = *++cursor_;
- if (yych == 'c') goto yy567;
+ if (yych == 'c') goto yy572;
goto yy11;
-yy402:
+yy405:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy568;
- case 'b': goto yy569;
- case 'c': goto yy570;
- case 'l': goto yy571;
- case 'n': goto yy572;
- case 'o': goto yy573;
- case 's': goto yy574;
- case 'x': goto yy575;
+ 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;
}
-yy403:
+yy406:
yych = *++cursor_;
- if (yych == '.') goto yy576;
+ if (yych == '.') goto yy581;
goto yy11;
-yy404:
+yy407:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
@@ -2824,160 +2852,160 @@ yy404:
if (yych <= '\'') goto yy10;
if (yych <= ')') goto yy12;
if (yych <= '/') goto yy10;
- goto yy288;
+ goto yy290;
}
} else {
if (yych <= 'F') {
if (yych == ';') goto yy12;
if (yych <= '@') goto yy10;
- goto yy288;
+ goto yy290;
} else {
if (yych <= '`') goto yy10;
- if (yych <= 'f') goto yy288;
+ if (yych <= 'f') goto yy290;
if (yych <= '~') goto yy10;
goto yy12;
}
}
-yy405:
+yy408:
yych = *++cursor_;
if (yych <= '/') goto yy11;
- if (yych <= '0') goto yy577;
- if (yych <= '9') goto yy579;
+ if (yych <= '0') goto yy582;
+ if (yych <= '9') goto yy584;
goto yy11;
-yy406:
+yy409:
yych = *++cursor_;
- if (yych == 'c') goto yy581;
+ if (yych == 'c') goto yy586;
goto yy11;
-yy407:
+yy410:
yych = *++cursor_;
- if (yych == '_') goto yy583;
+ if (yych == '_') goto yy588;
goto yy11;
-yy408:
+yy411:
yych = *++cursor_;
- if (yych == '.') goto yy584;
+ if (yych == '.') goto yy589;
goto yy11;
-yy409:
+yy412:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 669 "src/wast-lexer.cc"
+#line 676 "src/wast-lexer.cc"
{ RETURN(Bin); }
-#line 2867 "src/prebuilt/wast-lexer-gen.cc"
-yy411:
+#line 2895 "src/prebuilt/wast-lexer-gen.cc"
+yy414:
yych = *++cursor_;
- if (yych == 'l') goto yy585;
+ if (yych == 'l') goto yy590;
goto yy11;
-yy412:
+yy415:
yych = *++cursor_;
- if (yych == 'n') goto yy586;
+ if (yych == 'n') goto yy591;
goto yy11;
-yy413:
+yy416:
yych = *++cursor_;
- if (yych == 't') goto yy587;
+ if (yych == 't') goto yy592;
goto yy11;
-yy414:
+yy417:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 679 "src/wast-lexer.cc"
+#line 686 "src/wast-lexer.cc"
{ RETURN(Except); }
-#line 2887 "src/prebuilt/wast-lexer-gen.cc"
-yy416:
+#line 2915 "src/prebuilt/wast-lexer-gen.cc"
+yy419:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 678 "src/wast-lexer.cc"
+#line 685 "src/wast-lexer.cc"
{ RETURN(Export); }
-#line 2895 "src/prebuilt/wast-lexer-gen.cc"
-yy418:
+#line 2923 "src/prebuilt/wast-lexer-gen.cc"
+yy421:
yych = *++cursor_;
- if (yych == 's') goto yy588;
+ if (yych == 's') goto yy593;
goto yy11;
-yy419:
+yy422:
yych = *++cursor_;
- if (yych == 'd') goto yy590;
+ if (yych == 'd') goto yy595;
goto yy11;
-yy420:
+yy423:
yych = *++cursor_;
- if (yych == 'i') goto yy592;
+ if (yych == 'i') goto yy597;
goto yy11;
-yy421:
+yy424:
yych = *++cursor_;
- if (yych == 'n') goto yy593;
- if (yych == 'p') goto yy594;
+ if (yych == 'n') goto yy598;
+ if (yych == 'p') goto yy599;
goto yy11;
-yy422:
+yy425:
yych = *++cursor_;
- if (yych == 'm') goto yy595;
+ if (yych == 'm') goto yy600;
goto yy11;
-yy423:
+yy426:
yych = *++cursor_;
- if (yych == 'v') goto yy596;
+ if (yych == 'v') goto yy601;
goto yy11;
-yy424:
+yy427:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 401 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32Eq); }
-#line 2928 "src/prebuilt/wast-lexer-gen.cc"
-yy426:
+#line 2956 "src/prebuilt/wast-lexer-gen.cc"
+yy429:
yych = *++cursor_;
- if (yych == 'o') goto yy598;
+ if (yych == 'o') goto yy603;
goto yy11;
-yy427:
+yy430:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 411 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32Ge); }
-#line 2940 "src/prebuilt/wast-lexer-gen.cc"
-yy429:
+#line 2968 "src/prebuilt/wast-lexer-gen.cc"
+yy432:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 409 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32Gt); }
-#line 2948 "src/prebuilt/wast-lexer-gen.cc"
-yy431:
+#line 2976 "src/prebuilt/wast-lexer-gen.cc"
+yy434:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 407 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32Le); }
-#line 2956 "src/prebuilt/wast-lexer-gen.cc"
-yy433:
+#line 2984 "src/prebuilt/wast-lexer-gen.cc"
+yy436:
yych = *++cursor_;
- if (yych == 'a') goto yy599;
+ if (yych == 'a') goto yy604;
goto yy11;
-yy434:
+yy437:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 405 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32Lt); }
-#line 2968 "src/prebuilt/wast-lexer-gen.cc"
-yy436:
+#line 2996 "src/prebuilt/wast-lexer-gen.cc"
+yy439:
yych = *++cursor_;
- if (yych == 'x') goto yy600;
+ if (yych == 'x') goto yy605;
goto yy11;
-yy437:
+yy440:
yych = *++cursor_;
- if (yych == 'n') goto yy602;
+ if (yych == 'n') goto yy607;
goto yy11;
-yy438:
+yy441:
yych = *++cursor_;
- if (yych == 'l') goto yy604;
+ if (yych == 'l') goto yy609;
goto yy11;
-yy439:
+yy442:
yych = *++cursor_;
if (yych <= ':') {
if (yych <= '"') {
@@ -2988,135 +3016,135 @@ yy439:
}
} else {
if (yych <= 'a') {
- if (yych <= ';') goto yy440;
+ if (yych <= ';') goto yy443;
if (yych <= '`') goto yy10;
- goto yy606;
+ goto yy611;
} else {
- if (yych == 'g') goto yy607;
+ if (yych == 'g') goto yy612;
if (yych <= '~') goto yy10;
}
}
-yy440:
+yy443:
#line 403 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32Ne); }
-#line 3003 "src/prebuilt/wast-lexer-gen.cc"
-yy441:
+#line 3031 "src/prebuilt/wast-lexer-gen.cc"
+yy444:
yych = *++cursor_;
- if (yych == 'i') goto yy609;
+ if (yych == 'i') goto yy614;
goto yy11;
-yy442:
+yy445:
yych = *++cursor_;
- if (yych == 'r') goto yy610;
+ if (yych == 'r') goto yy615;
goto yy11;
-yy443:
+yy446:
yych = *++cursor_;
- if (yych == 'o') goto yy611;
+ if (yych == 'o') goto yy616;
goto yy11;
-yy444:
+yy447:
yych = *++cursor_;
- if (yych == 'b') goto yy612;
+ if (yych == 'b') goto yy617;
goto yy11;
-yy445:
+yy448:
yych = *++cursor_;
- if (yych == 'u') goto yy614;
+ if (yych == 'u') goto yy619;
goto yy11;
-yy446:
+yy449:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy615;
- case 'c': goto yy616;
- case 'd': goto yy617;
- case 'e': goto yy618;
- case 'g': goto yy619;
- case 'l': goto yy620;
- case 'm': goto yy621;
- case 'n': goto yy622;
- case 'r': goto yy623;
- case 's': goto yy624;
+ 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;
}
-yy447:
+yy450:
yych = *++cursor_;
- if (yych == 's') goto yy625;
+ if (yych == 's') goto yy630;
goto yy11;
-yy448:
+yy451:
yych = *++cursor_;
- if (yych == 'd') goto yy627;
+ if (yych == 'd') goto yy632;
goto yy11;
-yy449:
+yy452:
yych = *++cursor_;
- if (yych == 'i') goto yy629;
+ if (yych == 'i') goto yy634;
goto yy11;
-yy450:
+yy453:
yych = *++cursor_;
- if (yych == 'n') goto yy630;
- if (yych == 'p') goto yy631;
+ if (yych == 'n') goto yy635;
+ if (yych == 'p') goto yy636;
goto yy11;
-yy451:
+yy454:
yych = *++cursor_;
- if (yych == 'v') goto yy632;
+ if (yych == 'v') goto yy637;
goto yy11;
-yy452:
+yy455:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 402 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64Eq); }
-#line 3067 "src/prebuilt/wast-lexer-gen.cc"
-yy454:
+#line 3095 "src/prebuilt/wast-lexer-gen.cc"
+yy457:
yych = *++cursor_;
- if (yych == 'o') goto yy634;
+ if (yych == 'o') goto yy639;
goto yy11;
-yy455:
+yy458:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 412 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64Ge); }
-#line 3079 "src/prebuilt/wast-lexer-gen.cc"
-yy457:
+#line 3107 "src/prebuilt/wast-lexer-gen.cc"
+yy460:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 410 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64Gt); }
-#line 3087 "src/prebuilt/wast-lexer-gen.cc"
-yy459:
+#line 3115 "src/prebuilt/wast-lexer-gen.cc"
+yy462:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 408 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64Le); }
-#line 3095 "src/prebuilt/wast-lexer-gen.cc"
-yy461:
+#line 3123 "src/prebuilt/wast-lexer-gen.cc"
+yy464:
yych = *++cursor_;
- if (yych == 'a') goto yy635;
+ if (yych == 'a') goto yy640;
goto yy11;
-yy462:
+yy465:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 406 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64Lt); }
-#line 3107 "src/prebuilt/wast-lexer-gen.cc"
-yy464:
+#line 3135 "src/prebuilt/wast-lexer-gen.cc"
+yy467:
yych = *++cursor_;
- if (yych == 'x') goto yy636;
+ if (yych == 'x') goto yy641;
goto yy11;
-yy465:
+yy468:
yych = *++cursor_;
- if (yych == 'n') goto yy638;
+ if (yych == 'n') goto yy643;
goto yy11;
-yy466:
+yy469:
yych = *++cursor_;
- if (yych == 'l') goto yy640;
+ if (yych == 'l') goto yy645;
goto yy11;
-yy467:
+yy470:
yych = *++cursor_;
if (yych <= ':') {
if (yych <= '"') {
@@ -3127,437 +3155,437 @@ yy467:
}
} else {
if (yych <= 'a') {
- if (yych <= ';') goto yy468;
+ if (yych <= ';') goto yy471;
if (yych <= '`') goto yy10;
- goto yy642;
+ goto yy647;
} else {
- if (yych == 'g') goto yy643;
+ if (yych == 'g') goto yy648;
if (yych <= '~') goto yy10;
}
}
-yy468:
+yy471:
#line 404 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64Ne); }
-#line 3142 "src/prebuilt/wast-lexer-gen.cc"
-yy469:
+#line 3170 "src/prebuilt/wast-lexer-gen.cc"
+yy472:
yych = *++cursor_;
- if (yych == 'o') goto yy645;
+ if (yych == 'o') goto yy650;
goto yy11;
-yy470:
+yy473:
yych = *++cursor_;
- if (yych == 'i') goto yy646;
+ if (yych == 'i') goto yy651;
goto yy11;
-yy471:
+yy474:
yych = *++cursor_;
- if (yych == 'r') goto yy647;
+ if (yych == 'r') goto yy652;
goto yy11;
-yy472:
+yy475:
yych = *++cursor_;
- if (yych == 'o') goto yy648;
+ if (yych == 'o') goto yy653;
goto yy11;
-yy473:
+yy476:
yych = *++cursor_;
- if (yych == 'b') goto yy649;
+ if (yych == 'b') goto yy654;
goto yy11;
-yy474:
+yy477:
yych = *++cursor_;
- if (yych == 'u') goto yy651;
+ if (yych == 'u') goto yy656;
goto yy11;
-yy475:
+yy478:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy652;
- case 'c': goto yy653;
- case 'd': goto yy654;
- case 'e': goto yy655;
- case 'g': goto yy656;
- case 'l': goto yy657;
- case 'm': goto yy658;
- case 'n': goto yy659;
- case 'r': goto yy660;
- case 's': goto yy661;
+ 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;
}
-yy476:
+yy479:
yych = *++cursor_;
- if (yych == 'o') goto yy662;
+ if (yych == 'o') goto yy667;
goto yy11;
-yy477:
+yy480:
yych = *++cursor_;
- if (yych == 'c') goto yy663;
+ if (yych == 'c') goto yy668;
goto yy11;
-yy478:
+yy481:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 667 "src/wast-lexer.cc"
+#line 674 "src/wast-lexer.cc"
{ RETURN(Global); }
-#line 3197 "src/prebuilt/wast-lexer-gen.cc"
-yy480:
+#line 3225 "src/prebuilt/wast-lexer-gen.cc"
+yy483:
yych = *++cursor_;
- if (yych == 'e') goto yy664;
+ if (yych == 'e') goto yy669;
goto yy11;
-yy481:
+yy484:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy665;
- case 'e': goto yy666;
- case 'g': goto yy667;
- case 'l': goto yy668;
- case 'm': goto yy669;
- case 'n': goto yy670;
- case 'r': goto yy671;
- case 's': goto yy672;
+ 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;
}
-yy482:
+yy485:
yych = *++cursor_;
- if (yych == 'd') goto yy673;
+ if (yych == 'd') goto yy678;
goto yy11;
-yy483:
+yy486:
yych = *++cursor_;
- if (yych == 'd') goto yy675;
+ if (yych == 'd') goto yy680;
goto yy11;
-yy484:
+yy487:
yych = *++cursor_;
- if (yych == 'o') goto yy677;
+ if (yych == 'o') goto yy682;
goto yy11;
-yy485:
+yy488:
yych = *++cursor_;
- if (yych == 'z') goto yy678;
+ if (yych == 'z') goto yy683;
goto yy11;
-yy486:
+yy489:
yych = *++cursor_;
- if (yych == 'n') goto yy680;
+ if (yych == 'n') goto yy685;
goto yy11;
-yy487:
+yy490:
yych = *++cursor_;
- if (yych == 'z') goto yy681;
+ if (yych == 'z') goto yy686;
goto yy11;
-yy488:
+yy491:
yych = *++cursor_;
- if (yych == 'v') goto yy683;
+ if (yych == 'v') goto yy688;
goto yy11;
-yy489:
+yy492:
yych = *++cursor_;
if (yych <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy490;
+ if (yych <= '"') goto yy493;
if (yych <= '\'') goto yy10;
}
} else {
if (yych <= 'y') {
if (yych != ';') goto yy10;
} else {
- if (yych <= 'z') goto yy684;
+ if (yych <= 'z') goto yy689;
if (yych <= '~') goto yy10;
}
}
-yy490:
+yy493:
#line 381 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32Eq); }
-#line 3263 "src/prebuilt/wast-lexer-gen.cc"
-yy491:
+#line 3291 "src/prebuilt/wast-lexer-gen.cc"
+yy494:
yych = *++cursor_;
- if (yych == 't') goto yy686;
+ if (yych == 't') goto yy691;
goto yy11;
-yy492:
+yy495:
yych = *++cursor_;
- if (yych == '_') goto yy687;
+ if (yych == '_') goto yy692;
goto yy11;
-yy493:
+yy496:
yych = *++cursor_;
- if (yych == '_') goto yy688;
+ if (yych == '_') goto yy693;
goto yy11;
-yy494:
+yy497:
yych = *++cursor_;
- if (yych == '_') goto yy689;
+ if (yych == '_') goto yy694;
goto yy11;
-yy495:
+yy498:
yych = *++cursor_;
- if (yych == 'a') goto yy690;
+ if (yych == 'a') goto yy695;
goto yy11;
-yy496:
+yy499:
yych = *++cursor_;
- if (yych == '_') goto yy691;
+ if (yych == '_') goto yy696;
goto yy11;
-yy497:
+yy500:
yych = *++cursor_;
- if (yych == 'l') goto yy692;
+ if (yych == 'l') goto yy697;
goto yy11;
-yy498:
+yy501:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 383 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32Ne); }
-#line 3299 "src/prebuilt/wast-lexer-gen.cc"
-yy500:
+#line 3327 "src/prebuilt/wast-lexer-gen.cc"
+yy503:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 353 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32Or); }
-#line 3307 "src/prebuilt/wast-lexer-gen.cc"
-yy502:
- yych = *++cursor_;
- if (yych == 'p') goto yy694;
- goto yy11;
-yy503:
- yych = *++cursor_;
- if (yych == 'i') goto yy695;
- if (yych == 'm') goto yy696;
- goto yy11;
-yy504:
- yych = *++cursor_;
- if (yych == 't') goto yy697;
- goto yy11;
+#line 3335 "src/prebuilt/wast-lexer-gen.cc"
yy505:
yych = *++cursor_;
- if (yych == 'l') goto yy698;
- if (yych == 'r') goto yy700;
+ if (yych == 'p') goto yy699;
goto yy11;
yy506:
yych = *++cursor_;
- if (yych == 'o') goto yy701;
+ if (yych == 'i') goto yy700;
+ if (yych == 'm') goto yy701;
goto yy11;
yy507:
yych = *++cursor_;
- if (yych == 'b') goto yy702;
+ if (yych == 't') goto yy702;
goto yy11;
yy508:
yych = *++cursor_;
- if (yych == 'u') goto yy704;
+ if (yych == 'l') goto yy703;
+ if (yych == 'r') goto yy705;
goto yy11;
yy509:
yych = *++cursor_;
- if (yych == 'a') goto yy705;
+ if (yych == 'o') goto yy706;
goto yy11;
yy510:
yych = *++cursor_;
- if (yych == 'r') goto yy706;
+ if (yych == 'b') goto yy707;
goto yy11;
yy511:
yych = *++cursor_;
- switch (yych) {
- case 'a': goto yy708;
- case 'e': goto yy709;
- case 'g': goto yy710;
- case 'l': goto yy711;
- case 'm': goto yy712;
- case 'n': goto yy713;
- case 'r': goto yy714;
- case 's': goto yy715;
- case 't': goto yy716;
- default: goto yy11;
- }
+ if (yych == 'u') goto yy709;
+ goto yy11;
yy512:
yych = *++cursor_;
- if (yych == 'd') goto yy717;
+ if (yych == 'a') goto yy710;
goto yy11;
yy513:
yych = *++cursor_;
- if (yych == 'd') goto yy719;
+ if (yych == 'r') goto yy711;
goto yy11;
yy514:
yych = *++cursor_;
- if (yych == 'o') goto yy721;
- goto yy11;
+ 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 == 'z') goto yy722;
+ if (yych == 'd') goto yy722;
goto yy11;
yy516:
yych = *++cursor_;
- if (yych == 'n') goto yy724;
+ if (yych == 'd') goto yy724;
goto yy11;
yy517:
yych = *++cursor_;
- if (yych == 'z') goto yy725;
+ if (yych == 'o') goto yy726;
goto yy11;
yy518:
yych = *++cursor_;
- if (yych == 'v') goto yy727;
+ if (yych == 'z') goto yy727;
goto yy11;
yy519:
yych = *++cursor_;
+ if (yych == 'n') goto yy729;
+ goto yy11;
+yy520:
+ yych = *++cursor_;
+ if (yych == 'z') goto yy730;
+ goto yy11;
+yy521:
+ yych = *++cursor_;
+ if (yych == 'v') goto yy732;
+ goto yy11;
+yy522:
+ yych = *++cursor_;
if (yych <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy520;
+ if (yych <= '"') goto yy523;
if (yych <= '\'') goto yy10;
}
} else {
if (yych <= 'y') {
if (yych != ';') goto yy10;
} else {
- if (yych <= 'z') goto yy728;
+ if (yych <= 'z') goto yy733;
if (yych <= '~') goto yy10;
}
}
-yy520:
+yy523:
#line 382 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64Eq); }
-#line 3408 "src/prebuilt/wast-lexer-gen.cc"
-yy521:
+#line 3436 "src/prebuilt/wast-lexer-gen.cc"
+yy524:
yych = *++cursor_;
- if (yych == 't') goto yy730;
+ if (yych == 't') goto yy735;
goto yy11;
-yy522:
+yy525:
yych = *++cursor_;
- if (yych == '_') goto yy731;
+ if (yych == '_') goto yy736;
goto yy11;
-yy523:
+yy526:
yych = *++cursor_;
- if (yych == '_') goto yy732;
+ if (yych == '_') goto yy737;
goto yy11;
-yy524:
+yy527:
yych = *++cursor_;
- if (yych == '_') goto yy733;
+ if (yych == '_') goto yy738;
goto yy11;
-yy525:
+yy528:
yych = *++cursor_;
- if (yych == 'a') goto yy734;
+ if (yych == 'a') goto yy739;
goto yy11;
-yy526:
+yy529:
yych = *++cursor_;
- if (yych == '_') goto yy735;
+ if (yych == '_') goto yy740;
goto yy11;
-yy527:
+yy530:
yych = *++cursor_;
- if (yych == 'l') goto yy736;
+ if (yych == 'l') goto yy741;
goto yy11;
-yy528:
+yy531:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 384 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64Ne); }
-#line 3444 "src/prebuilt/wast-lexer-gen.cc"
-yy530:
+#line 3472 "src/prebuilt/wast-lexer-gen.cc"
+yy533:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 354 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64Or); }
-#line 3452 "src/prebuilt/wast-lexer-gen.cc"
-yy532:
- yych = *++cursor_;
- if (yych == 'p') goto yy738;
- goto yy11;
-yy533:
- yych = *++cursor_;
- if (yych == 'i') goto yy739;
- if (yych == 'm') goto yy740;
- goto yy11;
-yy534:
- yych = *++cursor_;
- if (yych == 't') goto yy741;
- goto yy11;
+#line 3480 "src/prebuilt/wast-lexer-gen.cc"
yy535:
yych = *++cursor_;
- if (yych == 'l') goto yy742;
- if (yych == 'r') goto yy744;
+ if (yych == 'p') goto yy743;
goto yy11;
yy536:
yych = *++cursor_;
- if (yych == 'o') goto yy745;
+ if (yych == 'i') goto yy744;
+ if (yych == 'm') goto yy745;
goto yy11;
yy537:
yych = *++cursor_;
- if (yych == 'b') goto yy746;
+ if (yych == 't') goto yy746;
goto yy11;
yy538:
yych = *++cursor_;
- if (yych == 'u') goto yy748;
+ if (yych == 'l') goto yy747;
+ if (yych == 'r') goto yy749;
goto yy11;
yy539:
yych = *++cursor_;
- if (yych == 'r') goto yy749;
+ if (yych == 'o') goto yy750;
goto yy11;
yy540:
yych = *++cursor_;
+ if (yych == 'b') goto yy751;
+ goto yy11;
+yy541:
+ yych = *++cursor_;
+ if (yych == 'u') goto yy753;
+ goto yy11;
+yy542:
+ yych = *++cursor_;
+ if (yych == 'r') goto yy754;
+ goto yy11;
+yy543:
+ yych = *++cursor_;
switch (yych) {
- case 'a': goto yy751;
- case 'e': goto yy752;
- case 'n': goto yy753;
- case 'r': goto yy754;
- case 's': goto yy755;
- case 't': goto yy756;
+ 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;
}
-yy541:
+yy544:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy757;
- case 'e': goto yy758;
- case 'g': goto yy759;
- case 'l': goto yy760;
- case 'm': goto yy761;
- case 'n': goto yy762;
- case 'r': goto yy763;
- case 's': goto yy764;
+ 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;
}
-yy542:
+yy545:
yych = *++cursor_;
- if (yych == 'e') goto yy765;
+ if (yych == 'e') goto yy770;
goto yy11;
-yy543:
+yy546:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 677 "src/wast-lexer.cc"
+#line 684 "src/wast-lexer.cc"
{ RETURN(Import); }
-#line 3522 "src/prebuilt/wast-lexer-gen.cc"
-yy545:
+#line 3550 "src/prebuilt/wast-lexer-gen.cc"
+yy548:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 681 "src/wast-lexer.cc"
+#line 689 "src/wast-lexer.cc"
{ RETURN(Invoke); }
-#line 3530 "src/prebuilt/wast-lexer-gen.cc"
-yy547:
+#line 3558 "src/prebuilt/wast-lexer-gen.cc"
+yy550:
yych = *++cursor_;
if (yych <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy548;
+ if (yych <= '"') goto yy551;
if (yych <= '\'') goto yy10;
}
} else {
if (yych <= ':') {
- if (yych == '.') goto yy766;
+ if (yych == '.') goto yy771;
goto yy10;
} else {
- if (yych <= ';') goto yy548;
+ if (yych <= ';') goto yy551;
if (yych <= '~') goto yy10;
}
}
-yy548:
-#line 672 "src/wast-lexer.cc"
+yy551:
+#line 679 "src/wast-lexer.cc"
{ RETURN(Memory); }
-#line 3552 "src/prebuilt/wast-lexer-gen.cc"
-yy549:
+#line 3580 "src/prebuilt/wast-lexer-gen.cc"
+yy552:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 668 "src/wast-lexer.cc"
+#line 675 "src/wast-lexer.cc"
{ RETURN(Module); }
-#line 3560 "src/prebuilt/wast-lexer-gen.cc"
-yy551:
+#line 3588 "src/prebuilt/wast-lexer-gen.cc"
+yy554:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
@@ -3569,1033 +3597,1053 @@ yy551:
if (yych <= '\'') goto yy10;
if (yych <= ')') goto yy12;
if (yych <= '/') goto yy10;
- goto yy767;
+ goto yy772;
}
} else {
if (yych <= 'F') {
if (yych == ';') goto yy12;
if (yych <= '@') goto yy10;
- goto yy767;
+ goto yy772;
} else {
if (yych <= '`') goto yy10;
- if (yych <= 'f') goto yy767;
+ if (yych <= 'f') goto yy772;
if (yych <= '~') goto yy10;
goto yy12;
}
}
-yy552:
+yy555:
yych = *++cursor_;
if (yych <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy553;
+ if (yych <= '"') goto yy556;
if (yych <= '\'') goto yy10;
}
} else {
if (yych <= '<') {
if (yych != ';') goto yy10;
} else {
- if (yych <= '=') goto yy769;
+ if (yych <= '=') goto yy774;
if (yych <= '~') goto yy10;
}
}
-yy553:
-#line 676 "src/wast-lexer.cc"
+yy556:
+#line 683 "src/wast-lexer.cc"
{ RETURN(Offset); }
-#line 3607 "src/prebuilt/wast-lexer-gen.cc"
-yy554:
+#line 3635 "src/prebuilt/wast-lexer-gen.cc"
+yy557:
yych = *++cursor_;
- if (yych == 'e') goto yy770;
+ if (yych == 'e') goto yy775;
goto yy11;
-yy555:
+yy558:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy777;
+ goto yy11;
+yy559:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 665 "src/wast-lexer.cc"
+#line 672 "src/wast-lexer.cc"
{ RETURN(Result); }
-#line 3619 "src/prebuilt/wast-lexer-gen.cc"
-yy557:
+#line 3651 "src/prebuilt/wast-lexer-gen.cc"
+yy561:
yych = *++cursor_;
- if (yych == 'w') goto yy771;
+ if (yych == 'w') goto yy778;
goto yy11;
-yy558:
+yy562:
yych = *++cursor_;
if (yych <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy559;
+ if (yych <= '"') goto yy563;
if (yych <= '\'') goto yy10;
}
} else {
if (yych <= '^') {
if (yych != ';') goto yy10;
} else {
- if (yych <= '_') goto yy773;
+ if (yych <= '_') goto yy780;
if (yych <= '~') goto yy10;
}
}
-yy559:
+yy563:
#line 275 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Return); }
-#line 3644 "src/prebuilt/wast-lexer-gen.cc"
-yy560:
+#line 3676 "src/prebuilt/wast-lexer-gen.cc"
+yy564:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 446 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Select); }
-#line 3652 "src/prebuilt/wast-lexer-gen.cc"
-yy562:
+#line 3684 "src/prebuilt/wast-lexer-gen.cc"
+yy566:
yych = *++cursor_;
- if (yych == 'o') goto yy774;
+ if (yych == 'o') goto yy781;
goto yy11;
-yy563:
+yy567:
yych = *++cursor_;
- if (yych == 'c') goto yy775;
+ if (yych == 'c') goto yy782;
goto yy11;
-yy564:
+yy568:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 697 "src/wast-lexer.cc"
+#line 705 "src/wast-lexer.cc"
{ RETURN(Shared); }
-#line 3668 "src/prebuilt/wast-lexer-gen.cc"
-yy566:
- yych = *++cursor_;
- if (yych == 'c') goto yy776;
- goto yy11;
-yy567:
- yych = *++cursor_;
- if (yych == 'h') goto yy777;
- goto yy11;
-yy568:
- yych = *++cursor_;
- if (yych == 'n') goto yy778;
- goto yy11;
-yy569:
- yych = *++cursor_;
- if (yych == 'i') goto yy779;
- goto yy11;
+#line 3700 "src/prebuilt/wast-lexer-gen.cc"
yy570:
yych = *++cursor_;
- if (yych == 'o') goto yy780;
- goto yy11;
+ if (yych <= 'd') {
+ if (yych <= 'b') goto yy11;
+ if (yych <= 'c') goto yy783;
+ goto yy784;
+ } else {
+ if (yych == 'i') goto yy785;
+ goto yy11;
+ }
yy571:
yych = *++cursor_;
- if (yych == 'o') goto yy781;
+ if (yych == 'c') goto yy786;
goto yy11;
yy572:
yych = *++cursor_;
- if (yych == 'o') goto yy782;
+ if (yych == 'h') goto yy787;
goto yy11;
yy573:
yych = *++cursor_;
- if (yych == 'r') goto yy783;
+ if (yych == 'n') goto yy788;
goto yy11;
yy574:
yych = *++cursor_;
- if (yych == 't') goto yy785;
+ if (yych == 'i') goto yy789;
goto yy11;
yy575:
yych = *++cursor_;
- if (yych == 'o') goto yy786;
+ if (yych == 'o') goto yy790;
goto yy11;
yy576:
yych = *++cursor_;
- if (yych == 's') goto yy787;
+ if (yych == 'o') goto yy791;
goto yy11;
yy577:
yych = *++cursor_;
- if (yych == 'x') goto yy789;
- goto yy580;
+ if (yych == 'o') goto yy792;
+ goto yy11;
yy578:
+ yych = *++cursor_;
+ if (yych == 'r') goto yy793;
+ goto yy11;
+yy579:
+ yych = *++cursor_;
+ if (yych == 't') goto yy795;
+ goto yy11;
+yy580:
+ yych = *++cursor_;
+ if (yych == 'o') goto yy796;
+ goto yy11;
+yy581:
+ yych = *++cursor_;
+ if (yych == 's') goto yy797;
+ goto yy11;
+yy582:
+ yych = *++cursor_;
+ if (yych == 'x') goto yy799;
+ goto yy585;
+yy583:
#line 305 "src/wast-lexer.cc"
{ RETURN_TEXT_AT(AlignEqNat, 6); }
-#line 3720 "src/prebuilt/wast-lexer-gen.cc"
-yy579:
+#line 3762 "src/prebuilt/wast-lexer-gen.cc"
+yy584:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
-yy580:
+yy585:
if (yych <= '/') {
if (yych <= '"') {
if (yych == '!') goto yy10;
- goto yy578;
+ goto yy583;
} else {
if (yych <= '\'') goto yy10;
- if (yych <= ')') goto yy578;
+ if (yych <= ')') goto yy583;
goto yy10;
}
} else {
if (yych <= ';') {
- if (yych <= '9') goto yy579;
+ if (yych <= '9') goto yy584;
if (yych <= ':') goto yy10;
- goto yy578;
+ goto yy583;
} else {
- if (yych == '_') goto yy788;
+ if (yych == '_') goto yy798;
if (yych <= '~') goto yy10;
- goto yy578;
+ goto yy583;
}
}
-yy581:
+yy586:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 260 "src/wast-lexer.cc"
{ RETURN(Anyfunc); }
-#line 3753 "src/prebuilt/wast-lexer-gen.cc"
-yy583:
+#line 3795 "src/prebuilt/wast-lexer-gen.cc"
+yy588:
yych = *++cursor_;
switch (yych) {
- case 'e': goto yy790;
- case 'i': goto yy791;
- case 'm': goto yy792;
- case 'r': goto yy793;
- case 't': goto yy794;
- case 'u': goto yy795;
+ 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;
}
-yy584:
+yy589:
yych = *++cursor_;
- if (yych == 'w') goto yy796;
+ if (yych == 'w') goto yy806;
goto yy11;
-yy585:
+yy590:
yych = *++cursor_;
- if (yych == 'e') goto yy797;
+ if (yych == 'e') goto yy807;
goto yy11;
-yy586:
+yy591:
yych = *++cursor_;
- if (yych == 'd') goto yy799;
+ if (yych == 'd') goto yy809;
goto yy11;
-yy587:
+yy592:
yych = *++cursor_;
- if (yych == '_') goto yy800;
+ if (yych == '_') goto yy810;
goto yy11;
-yy588:
+yy593:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 320 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32Abs); }
-#line 3788 "src/prebuilt/wast-lexer-gen.cc"
-yy590:
+#line 3830 "src/prebuilt/wast-lexer-gen.cc"
+yy595:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 367 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32Add); }
-#line 3796 "src/prebuilt/wast-lexer-gen.cc"
-yy592:
+#line 3838 "src/prebuilt/wast-lexer-gen.cc"
+yy597:
yych = *++cursor_;
- if (yych == 'l') goto yy801;
+ if (yych == 'l') goto yy811;
goto yy11;
-yy593:
+yy598:
yych = *++cursor_;
- if (yych == 's') goto yy803;
- if (yych == 'v') goto yy804;
+ if (yych == 's') goto yy813;
+ if (yych == 'v') goto yy814;
goto yy11;
-yy594:
+yy599:
yych = *++cursor_;
- if (yych == 'y') goto yy805;
+ if (yych == 'y') goto yy815;
goto yy11;
-yy595:
+yy600:
yych = *++cursor_;
- if (yych == 'o') goto yy806;
+ if (yych == 'o') goto yy816;
goto yy11;
-yy596:
+yy601:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 373 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32Div); }
-#line 3821 "src/prebuilt/wast-lexer-gen.cc"
-yy598:
+#line 3863 "src/prebuilt/wast-lexer-gen.cc"
+yy603:
yych = *++cursor_;
- if (yych == 'o') goto yy807;
+ if (yych == 'o') goto yy817;
goto yy11;
-yy599:
+yy604:
yych = *++cursor_;
- if (yych == 'd') goto yy808;
+ if (yych == 'd') goto yy818;
goto yy11;
-yy600:
+yy605:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 377 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32Max); }
-#line 3837 "src/prebuilt/wast-lexer-gen.cc"
-yy602:
+#line 3879 "src/prebuilt/wast-lexer-gen.cc"
+yy607:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 375 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32Min); }
-#line 3845 "src/prebuilt/wast-lexer-gen.cc"
-yy604:
+#line 3887 "src/prebuilt/wast-lexer-gen.cc"
+yy609:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 371 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32Mul); }
-#line 3853 "src/prebuilt/wast-lexer-gen.cc"
-yy606:
+#line 3895 "src/prebuilt/wast-lexer-gen.cc"
+yy611:
yych = *++cursor_;
- if (yych == 'r') goto yy810;
+ if (yych == 'r') goto yy820;
goto yy11;
-yy607:
+yy612:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 318 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32Neg); }
-#line 3865 "src/prebuilt/wast-lexer-gen.cc"
-yy609:
+#line 3907 "src/prebuilt/wast-lexer-gen.cc"
+yy614:
yych = *++cursor_;
- if (yych == 'n') goto yy811;
+ if (yych == 'n') goto yy821;
goto yy11;
-yy610:
+yy615:
yych = *++cursor_;
- if (yych == 't') goto yy812;
+ if (yych == 't') goto yy822;
goto yy11;
-yy611:
+yy616:
yych = *++cursor_;
- if (yych == 'r') goto yy814;
+ if (yych == 'r') goto yy824;
goto yy11;
-yy612:
+yy617:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 369 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32Sub); }
-#line 3885 "src/prebuilt/wast-lexer-gen.cc"
-yy614:
+#line 3927 "src/prebuilt/wast-lexer-gen.cc"
+yy619:
yych = *++cursor_;
- if (yych == 'n') goto yy815;
+ if (yych == 'n') goto yy825;
goto yy11;
-yy615:
+yy620:
yych = *++cursor_;
- if (yych == 'b') goto yy816;
- if (yych == 'd') goto yy817;
+ if (yych == 'b') goto yy826;
+ if (yych == 'd') goto yy827;
goto yy11;
-yy616:
+yy621:
yych = *++cursor_;
- if (yych == 'o') goto yy818;
+ if (yych == 'o') goto yy828;
goto yy11;
-yy617:
+yy622:
yych = *++cursor_;
- if (yych == 'i') goto yy819;
+ if (yych == 'i') goto yy829;
goto yy11;
-yy618:
+yy623:
yych = *++cursor_;
- if (yych == 'q') goto yy820;
- if (yych == 'x') goto yy822;
+ if (yych == 'q') goto yy830;
+ if (yych == 'x') goto yy832;
goto yy11;
-yy619:
+yy624:
yych = *++cursor_;
- if (yych == 'e') goto yy823;
- if (yych == 't') goto yy825;
+ if (yych == 'e') goto yy833;
+ if (yych == 't') goto yy835;
goto yy11;
-yy620:
+yy625:
yych = *++cursor_;
- if (yych == 'e') goto yy827;
- if (yych == 't') goto yy829;
+ if (yych == 'e') goto yy837;
+ if (yych == 't') goto yy839;
goto yy11;
-yy621:
+yy626:
yych = *++cursor_;
if (yych <= 'h') {
- if (yych == 'a') goto yy831;
+ if (yych == 'a') goto yy841;
goto yy11;
} else {
- if (yych <= 'i') goto yy832;
- if (yych == 'u') goto yy833;
+ if (yych <= 'i') goto yy842;
+ if (yych == 'u') goto yy843;
goto yy11;
}
-yy622:
+yy627:
yych = *++cursor_;
- if (yych == 'e') goto yy834;
+ if (yych == 'e') goto yy844;
goto yy11;
-yy623:
+yy628:
yych = *++cursor_;
- if (yych == 'e') goto yy836;
+ if (yych == 'e') goto yy846;
goto yy11;
-yy624:
+yy629:
yych = *++cursor_;
if (yych <= 'q') {
if (yych <= 'o') goto yy11;
- if (yych <= 'p') goto yy837;
- goto yy838;
+ if (yych <= 'p') goto yy847;
+ goto yy848;
} else {
- if (yych == 'u') goto yy839;
+ if (yych == 'u') goto yy849;
goto yy11;
}
-yy625:
+yy630:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 321 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64Abs); }
-#line 3953 "src/prebuilt/wast-lexer-gen.cc"
-yy627:
+#line 3995 "src/prebuilt/wast-lexer-gen.cc"
+yy632:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 368 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64Add); }
-#line 3961 "src/prebuilt/wast-lexer-gen.cc"
-yy629:
+#line 4003 "src/prebuilt/wast-lexer-gen.cc"
+yy634:
yych = *++cursor_;
- if (yych == 'l') goto yy840;
+ if (yych == 'l') goto yy850;
goto yy11;
-yy630:
+yy635:
yych = *++cursor_;
- if (yych == 's') goto yy842;
- if (yych == 'v') goto yy843;
+ if (yych == 's') goto yy852;
+ if (yych == 'v') goto yy853;
goto yy11;
-yy631:
+yy636:
yych = *++cursor_;
- if (yych == 'y') goto yy844;
+ if (yych == 'y') goto yy854;
goto yy11;
-yy632:
+yy637:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 374 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64Div); }
-#line 3982 "src/prebuilt/wast-lexer-gen.cc"
-yy634:
+#line 4024 "src/prebuilt/wast-lexer-gen.cc"
+yy639:
yych = *++cursor_;
- if (yych == 'o') goto yy845;
+ if (yych == 'o') goto yy855;
goto yy11;
-yy635:
+yy640:
yych = *++cursor_;
- if (yych == 'd') goto yy846;
+ if (yych == 'd') goto yy856;
goto yy11;
-yy636:
+yy641:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 378 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64Max); }
-#line 3998 "src/prebuilt/wast-lexer-gen.cc"
-yy638:
+#line 4040 "src/prebuilt/wast-lexer-gen.cc"
+yy643:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 376 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64Min); }
-#line 4006 "src/prebuilt/wast-lexer-gen.cc"
-yy640:
+#line 4048 "src/prebuilt/wast-lexer-gen.cc"
+yy645:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 372 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64Mul); }
-#line 4014 "src/prebuilt/wast-lexer-gen.cc"
-yy642:
+#line 4056 "src/prebuilt/wast-lexer-gen.cc"
+yy647:
yych = *++cursor_;
- if (yych == 'r') goto yy848;
+ if (yych == 'r') goto yy858;
goto yy11;
-yy643:
+yy648:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 319 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64Neg); }
-#line 4026 "src/prebuilt/wast-lexer-gen.cc"
-yy645:
+#line 4068 "src/prebuilt/wast-lexer-gen.cc"
+yy650:
yych = *++cursor_;
- if (yych == 'm') goto yy849;
+ if (yych == 'm') goto yy859;
goto yy11;
-yy646:
+yy651:
yych = *++cursor_;
- if (yych == 'n') goto yy850;
+ if (yych == 'n') goto yy860;
goto yy11;
-yy647:
+yy652:
yych = *++cursor_;
- if (yych == 't') goto yy851;
+ if (yych == 't') goto yy861;
goto yy11;
-yy648:
+yy653:
yych = *++cursor_;
- if (yych == 'r') goto yy853;
+ if (yych == 'r') goto yy863;
goto yy11;
-yy649:
+yy654:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 370 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64Sub); }
-#line 4050 "src/prebuilt/wast-lexer-gen.cc"
-yy651:
+#line 4092 "src/prebuilt/wast-lexer-gen.cc"
+yy656:
yych = *++cursor_;
- if (yych == 'n') goto yy854;
+ if (yych == 'n') goto yy864;
goto yy11;
-yy652:
+yy657:
yych = *++cursor_;
- if (yych == 'b') goto yy855;
- if (yych == 'd') goto yy856;
+ if (yych == 'b') goto yy865;
+ if (yych == 'd') goto yy866;
goto yy11;
-yy653:
+yy658:
yych = *++cursor_;
- if (yych == 'o') goto yy857;
+ if (yych == 'o') goto yy867;
goto yy11;
-yy654:
+yy659:
yych = *++cursor_;
- if (yych == 'i') goto yy858;
+ if (yych == 'i') goto yy868;
goto yy11;
-yy655:
+yy660:
yych = *++cursor_;
- if (yych == 'q') goto yy859;
- if (yych == 'x') goto yy861;
+ if (yych == 'q') goto yy869;
+ if (yych == 'x') goto yy871;
goto yy11;
-yy656:
+yy661:
yych = *++cursor_;
- if (yych == 'e') goto yy862;
- if (yych == 't') goto yy864;
+ if (yych == 'e') goto yy872;
+ if (yych == 't') goto yy874;
goto yy11;
-yy657:
+yy662:
yych = *++cursor_;
- if (yych == 'e') goto yy866;
- if (yych == 't') goto yy868;
+ if (yych == 'e') goto yy876;
+ if (yych == 't') goto yy878;
goto yy11;
-yy658:
+yy663:
yych = *++cursor_;
if (yych <= 'h') {
- if (yych == 'a') goto yy870;
+ if (yych == 'a') goto yy880;
goto yy11;
} else {
- if (yych <= 'i') goto yy871;
- if (yych == 'u') goto yy872;
+ if (yych <= 'i') goto yy881;
+ if (yych == 'u') goto yy882;
goto yy11;
}
-yy659:
+yy664:
yych = *++cursor_;
- if (yych == 'e') goto yy873;
+ if (yych == 'e') goto yy883;
goto yy11;
-yy660:
+yy665:
yych = *++cursor_;
- if (yych == 'e') goto yy875;
+ if (yych == 'e') goto yy885;
goto yy11;
-yy661:
+yy666:
yych = *++cursor_;
if (yych <= 'q') {
if (yych <= 'o') goto yy11;
- if (yych <= 'p') goto yy876;
- goto yy877;
+ if (yych <= 'p') goto yy886;
+ goto yy887;
} else {
- if (yych == 'u') goto yy878;
+ if (yych == 'u') goto yy888;
goto yy11;
}
-yy662:
+yy667:
yych = *++cursor_;
- if (yych == 'b') goto yy879;
+ if (yych == 'b') goto yy889;
goto yy11;
-yy663:
+yy668:
yych = *++cursor_;
- if (yych == 'a') goto yy880;
+ if (yych == 'a') goto yy890;
goto yy11;
-yy664:
+yy669:
yych = *++cursor_;
- if (yych == 'm') goto yy881;
+ if (yych == 'm') goto yy891;
goto yy11;
-yy665:
+yy670:
yych = *++cursor_;
if (yych <= 'k') {
- if (yych == 'd') goto yy882;
+ if (yych == 'd') goto yy892;
goto yy11;
} else {
- if (yych <= 'l') goto yy883;
- if (yych == 'n') goto yy884;
+ if (yych <= 'l') goto yy893;
+ if (yych == 'n') goto yy894;
goto yy11;
}
-yy666:
+yy671:
yych = *++cursor_;
- if (yych == 'q') goto yy885;
- if (yych == 'x') goto yy887;
+ if (yych == 'q') goto yy895;
+ if (yych == 'x') goto yy897;
goto yy11;
-yy667:
+yy672:
yych = *++cursor_;
- if (yych == 'e') goto yy888;
- if (yych == 't') goto yy889;
+ if (yych == 'e') goto yy898;
+ if (yych == 't') goto yy899;
goto yy11;
-yy668:
+yy673:
yych = *++cursor_;
- if (yych == 'e') goto yy890;
- if (yych == 't') goto yy891;
+ if (yych == 'e') goto yy900;
+ if (yych == 't') goto yy901;
goto yy11;
-yy669:
+yy674:
yych = *++cursor_;
- if (yych == 'u') goto yy892;
+ if (yych == 'u') goto yy902;
goto yy11;
-yy670:
+yy675:
yych = *++cursor_;
- if (yych == 'e') goto yy893;
+ if (yych == 'e') goto yy903;
goto yy11;
-yy671:
+yy676:
yych = *++cursor_;
- if (yych == 'e') goto yy895;
+ if (yych == 'e') goto yy905;
goto yy11;
-yy672:
+yy677:
yych = *++cursor_;
if (yych <= 'o') {
- if (yych == 'h') goto yy896;
+ if (yych == 'h') goto yy906;
goto yy11;
} else {
- if (yych <= 'p') goto yy897;
- if (yych == 'u') goto yy898;
+ if (yych <= 'p') goto yy907;
+ if (yych == 'u') goto yy908;
goto yy11;
}
-yy673:
+yy678:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 337 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32Add); }
-#line 4177 "src/prebuilt/wast-lexer-gen.cc"
-yy675:
+#line 4219 "src/prebuilt/wast-lexer-gen.cc"
+yy680:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 351 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32And); }
-#line 4185 "src/prebuilt/wast-lexer-gen.cc"
-yy677:
+#line 4227 "src/prebuilt/wast-lexer-gen.cc"
+yy682:
yych = *++cursor_;
- if (yych == 'm') goto yy899;
+ if (yych == 'm') goto yy909;
goto yy11;
-yy678:
+yy683:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 312 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I32Clz); }
-#line 4197 "src/prebuilt/wast-lexer-gen.cc"
-yy680:
+#line 4239 "src/prebuilt/wast-lexer-gen.cc"
+yy685:
yych = *++cursor_;
- if (yych == 's') goto yy900;
+ if (yych == 's') goto yy910;
goto yy11;
-yy681:
+yy686:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 314 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I32Ctz); }
-#line 4209 "src/prebuilt/wast-lexer-gen.cc"
-yy683:
+#line 4251 "src/prebuilt/wast-lexer-gen.cc"
+yy688:
yych = *++cursor_;
- if (yych == '_') goto yy901;
+ if (yych == '_') goto yy911;
goto yy11;
-yy684:
+yy689:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 310 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I32Eqz); }
-#line 4221 "src/prebuilt/wast-lexer-gen.cc"
-yy686:
+#line 4263 "src/prebuilt/wast-lexer-gen.cc"
+yy691:
yych = *++cursor_;
- if (yych == 'e') goto yy902;
+ if (yych == 'e') goto yy912;
goto yy11;
-yy687:
+yy692:
yych = *++cursor_;
- if (yych == 's') goto yy903;
- if (yych == 'u') goto yy905;
+ if (yych == 's') goto yy913;
+ if (yych == 'u') goto yy915;
goto yy11;
-yy688:
+yy693:
yych = *++cursor_;
- if (yych == 's') goto yy907;
- if (yych == 'u') goto yy909;
+ if (yych == 's') goto yy917;
+ if (yych == 'u') goto yy919;
goto yy11;
-yy689:
+yy694:
yych = *++cursor_;
- if (yych == 's') goto yy911;
- if (yych == 'u') goto yy913;
+ if (yych == 's') goto yy921;
+ if (yych == 'u') goto yy923;
goto yy11;
-yy690:
+yy695:
yych = *++cursor_;
- if (yych == 'd') goto yy915;
+ if (yych == 'd') goto yy925;
goto yy11;
-yy691:
+yy696:
yych = *++cursor_;
- if (yych == 's') goto yy917;
- if (yych == 'u') goto yy919;
+ if (yych == 's') goto yy927;
+ if (yych == 'u') goto yy929;
goto yy11;
-yy692:
+yy697:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 341 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32Mul); }
-#line 4257 "src/prebuilt/wast-lexer-gen.cc"
-yy694:
+#line 4299 "src/prebuilt/wast-lexer-gen.cc"
+yy699:
yych = *++cursor_;
- if (yych == 'c') goto yy921;
+ if (yych == 'c') goto yy931;
goto yy11;
-yy695:
+yy700:
yych = *++cursor_;
- if (yych == 'n') goto yy922;
+ if (yych == 'n') goto yy932;
goto yy11;
-yy696:
+yy701:
yych = *++cursor_;
- if (yych == '_') goto yy923;
+ if (yych == '_') goto yy933;
goto yy11;
-yy697:
+yy702:
yych = *++cursor_;
- if (yych == 'l') goto yy924;
- if (yych == 'r') goto yy926;
+ if (yych == 'l') goto yy934;
+ if (yych == 'r') goto yy936;
goto yy11;
-yy698:
+yy703:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 357 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32Shl); }
-#line 4282 "src/prebuilt/wast-lexer-gen.cc"
-yy700:
+#line 4324 "src/prebuilt/wast-lexer-gen.cc"
+yy705:
yych = *++cursor_;
- if (yych == '_') goto yy928;
+ if (yych == '_') goto yy938;
goto yy11;
-yy701:
+yy706:
yych = *++cursor_;
- if (yych == 'r') goto yy929;
+ if (yych == 'r') goto yy939;
goto yy11;
-yy702:
+yy707:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 339 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32Sub); }
-#line 4298 "src/prebuilt/wast-lexer-gen.cc"
-yy704:
+#line 4340 "src/prebuilt/wast-lexer-gen.cc"
+yy709:
yych = *++cursor_;
- if (yych == 'n') goto yy930;
+ if (yych == 'n') goto yy940;
goto yy11;
-yy705:
+yy710:
yych = *++cursor_;
- if (yych == 'p') goto yy931;
+ if (yych == 'p') goto yy941;
goto yy11;
-yy706:
+yy711:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 355 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32Xor); }
-#line 4314 "src/prebuilt/wast-lexer-gen.cc"
-yy708:
+#line 4356 "src/prebuilt/wast-lexer-gen.cc"
+yy713:
yych = *++cursor_;
if (yych <= 'k') {
- if (yych == 'd') goto yy932;
+ if (yych == 'd') goto yy942;
goto yy11;
} else {
- if (yych <= 'l') goto yy933;
- if (yych == 'n') goto yy934;
+ if (yych <= 'l') goto yy943;
+ if (yych == 'n') goto yy944;
goto yy11;
}
-yy709:
+yy714:
yych = *++cursor_;
- if (yych == 'q') goto yy935;
- if (yych == 'x') goto yy937;
+ if (yych == 'q') goto yy945;
+ if (yych == 'x') goto yy947;
goto yy11;
-yy710:
+yy715:
yych = *++cursor_;
- if (yych == 'e') goto yy938;
- if (yych == 't') goto yy939;
+ if (yych == 'e') goto yy948;
+ if (yych == 't') goto yy949;
goto yy11;
-yy711:
+yy716:
yych = *++cursor_;
- if (yych == 'e') goto yy940;
- if (yych == 't') goto yy941;
+ if (yych == 'e') goto yy950;
+ if (yych == 't') goto yy951;
goto yy11;
-yy712:
+yy717:
yych = *++cursor_;
- if (yych == 'u') goto yy942;
+ if (yych == 'u') goto yy952;
goto yy11;
-yy713:
+yy718:
yych = *++cursor_;
- if (yych == 'e') goto yy943;
+ if (yych == 'e') goto yy953;
goto yy11;
-yy714:
+yy719:
yych = *++cursor_;
- if (yych == 'e') goto yy945;
+ if (yych == 'e') goto yy955;
goto yy11;
-yy715:
+yy720:
yych = *++cursor_;
if (yych <= 'o') {
- if (yych == 'h') goto yy946;
+ if (yych == 'h') goto yy956;
goto yy11;
} else {
- if (yych <= 'p') goto yy947;
- if (yych == 'u') goto yy948;
+ if (yych <= 'p') goto yy957;
+ if (yych == 'u') goto yy958;
goto yy11;
}
-yy716:
+yy721:
yych = *++cursor_;
- if (yych == 'r') goto yy949;
+ if (yych == 'r') goto yy959;
goto yy11;
-yy717:
+yy722:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 338 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64Add); }
-#line 4373 "src/prebuilt/wast-lexer-gen.cc"
-yy719:
+#line 4415 "src/prebuilt/wast-lexer-gen.cc"
+yy724:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 352 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64And); }
-#line 4381 "src/prebuilt/wast-lexer-gen.cc"
-yy721:
+#line 4423 "src/prebuilt/wast-lexer-gen.cc"
+yy726:
yych = *++cursor_;
- if (yych == 'm') goto yy950;
+ if (yych == 'm') goto yy960;
goto yy11;
-yy722:
+yy727:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 313 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64Clz); }
-#line 4393 "src/prebuilt/wast-lexer-gen.cc"
-yy724:
+#line 4435 "src/prebuilt/wast-lexer-gen.cc"
+yy729:
yych = *++cursor_;
- if (yych == 's') goto yy951;
+ if (yych == 's') goto yy961;
goto yy11;
-yy725:
+yy730:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 315 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64Ctz); }
-#line 4405 "src/prebuilt/wast-lexer-gen.cc"
-yy727:
+#line 4447 "src/prebuilt/wast-lexer-gen.cc"
+yy732:
yych = *++cursor_;
- if (yych == '_') goto yy952;
+ if (yych == '_') goto yy962;
goto yy11;
-yy728:
+yy733:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 311 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I64Eqz); }
-#line 4417 "src/prebuilt/wast-lexer-gen.cc"
-yy730:
+#line 4459 "src/prebuilt/wast-lexer-gen.cc"
+yy735:
yych = *++cursor_;
- if (yych == 'e') goto yy953;
+ if (yych == 'e') goto yy963;
goto yy11;
-yy731:
+yy736:
yych = *++cursor_;
- if (yych == 's') goto yy954;
- if (yych == 'u') goto yy956;
+ if (yych == 's') goto yy964;
+ if (yych == 'u') goto yy966;
goto yy11;
-yy732:
+yy737:
yych = *++cursor_;
- if (yych == 's') goto yy958;
- if (yych == 'u') goto yy960;
+ if (yych == 's') goto yy968;
+ if (yych == 'u') goto yy970;
goto yy11;
-yy733:
+yy738:
yych = *++cursor_;
- if (yych == 's') goto yy962;
- if (yych == 'u') goto yy964;
+ if (yych == 's') goto yy972;
+ if (yych == 'u') goto yy974;
goto yy11;
-yy734:
+yy739:
yych = *++cursor_;
- if (yych == 'd') goto yy966;
+ if (yych == 'd') goto yy976;
goto yy11;
-yy735:
+yy740:
yych = *++cursor_;
- if (yych == 's') goto yy968;
- if (yych == 'u') goto yy970;
+ if (yych == 's') goto yy978;
+ if (yych == 'u') goto yy980;
goto yy11;
-yy736:
+yy741:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 342 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64Mul); }
-#line 4453 "src/prebuilt/wast-lexer-gen.cc"
-yy738:
+#line 4495 "src/prebuilt/wast-lexer-gen.cc"
+yy743:
yych = *++cursor_;
- if (yych == 'c') goto yy972;
+ if (yych == 'c') goto yy982;
goto yy11;
-yy739:
+yy744:
yych = *++cursor_;
- if (yych == 'n') goto yy973;
+ if (yych == 'n') goto yy983;
goto yy11;
-yy740:
+yy745:
yych = *++cursor_;
- if (yych == '_') goto yy974;
+ if (yych == '_') goto yy984;
goto yy11;
-yy741:
+yy746:
yych = *++cursor_;
- if (yych == 'l') goto yy975;
- if (yych == 'r') goto yy977;
+ if (yych == 'l') goto yy985;
+ if (yych == 'r') goto yy987;
goto yy11;
-yy742:
+yy747:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 358 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64Shl); }
-#line 4478 "src/prebuilt/wast-lexer-gen.cc"
-yy744:
+#line 4520 "src/prebuilt/wast-lexer-gen.cc"
+yy749:
yych = *++cursor_;
- if (yych == '_') goto yy979;
+ if (yych == '_') goto yy989;
goto yy11;
-yy745:
+yy750:
yych = *++cursor_;
- if (yych == 'r') goto yy980;
+ if (yych == 'r') goto yy990;
goto yy11;
-yy746:
+yy751:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 340 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64Sub); }
-#line 4494 "src/prebuilt/wast-lexer-gen.cc"
-yy748:
+#line 4536 "src/prebuilt/wast-lexer-gen.cc"
+yy753:
yych = *++cursor_;
- if (yych == 'n') goto yy981;
+ if (yych == 'n') goto yy991;
goto yy11;
-yy749:
+yy754:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 356 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64Xor); }
-#line 4506 "src/prebuilt/wast-lexer-gen.cc"
-yy751:
+#line 4548 "src/prebuilt/wast-lexer-gen.cc"
+yy756:
yych = *++cursor_;
if (yych <= 'k') {
- if (yych == 'd') goto yy982;
+ if (yych == 'd') goto yy992;
goto yy11;
} else {
- if (yych <= 'l') goto yy983;
- if (yych == 'n') goto yy984;
+ if (yych <= 'l') goto yy993;
+ if (yych == 'n') goto yy994;
goto yy11;
}
-yy752:
+yy757:
yych = *++cursor_;
- if (yych == 'x') goto yy985;
+ if (yych == 'x') goto yy995;
goto yy11;
-yy753:
+yy758:
yych = *++cursor_;
- if (yych == 'e') goto yy986;
+ if (yych == 'e') goto yy996;
goto yy11;
-yy754:
+yy759:
yych = *++cursor_;
- if (yych == 'e') goto yy987;
+ if (yych == 'e') goto yy997;
goto yy11;
-yy755:
+yy760:
yych = *++cursor_;
if (yych <= 'o') {
- if (yych == 'h') goto yy988;
+ if (yych == 'h') goto yy998;
goto yy11;
} else {
- if (yych <= 'p') goto yy989;
- if (yych == 'u') goto yy990;
+ if (yych <= 'p') goto yy999;
+ if (yych == 'u') goto yy1000;
goto yy11;
}
-yy756:
+yy761:
yych = *++cursor_;
- if (yych == 'r') goto yy991;
+ if (yych == 'r') goto yy1001;
goto yy11;
-yy757:
+yy762:
yych = *++cursor_;
if (yych <= 'k') {
- if (yych == 'd') goto yy992;
+ if (yych == 'd') goto yy1002;
goto yy11;
} else {
- if (yych <= 'l') goto yy993;
- if (yych == 'n') goto yy994;
+ if (yych <= 'l') goto yy1003;
+ if (yych == 'n') goto yy1004;
goto yy11;
}
-yy758:
+yy763:
yych = *++cursor_;
- if (yych == 'q') goto yy995;
- if (yych == 'x') goto yy997;
+ if (yych == 'q') goto yy1005;
+ if (yych == 'x') goto yy1007;
goto yy11;
-yy759:
+yy764:
yych = *++cursor_;
- if (yych == 'e') goto yy998;
- if (yych == 't') goto yy999;
+ if (yych == 'e') goto yy1008;
+ if (yych == 't') goto yy1009;
goto yy11;
-yy760:
+yy765:
yych = *++cursor_;
- if (yych == 'e') goto yy1000;
- if (yych == 't') goto yy1001;
+ if (yych == 'e') goto yy1010;
+ if (yych == 't') goto yy1011;
goto yy11;
-yy761:
+yy766:
yych = *++cursor_;
- if (yych == 'u') goto yy1002;
+ if (yych == 'u') goto yy1012;
goto yy11;
-yy762:
+yy767:
yych = *++cursor_;
- if (yych == 'e') goto yy1003;
+ if (yych == 'e') goto yy1013;
goto yy11;
-yy763:
+yy768:
yych = *++cursor_;
- if (yych == 'e') goto yy1005;
+ if (yych == 'e') goto yy1015;
goto yy11;
-yy764:
+yy769:
yych = *++cursor_;
if (yych <= 'o') {
- if (yych == 'h') goto yy1006;
+ if (yych == 'h') goto yy1016;
goto yy11;
} else {
- if (yych <= 'p') goto yy1007;
- if (yych == 'u') goto yy1008;
+ if (yych <= 'p') goto yy1017;
+ if (yych == 'u') goto yy1018;
goto yy11;
}
-yy765:
+yy770:
yych = *++cursor_;
- if (yych == 'p') goto yy1009;
+ if (yych == 'p') goto yy1019;
goto yy11;
-yy766:
+yy771:
yych = *++cursor_;
- if (yych == 'g') goto yy1010;
- if (yych == 's') goto yy1011;
- goto yy11;
-yy767:
+ 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:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
@@ -4607,105 +4655,125 @@ yy767:
} else {
if (yych <= ')') goto yy191;
if (yych <= '/') goto yy10;
- if (yych <= '9') goto yy767;
+ if (yych <= '9') goto yy772;
goto yy10;
}
} else {
if (yych <= '^') {
if (yych <= ';') goto yy191;
if (yych <= '@') goto yy10;
- if (yych <= 'F') goto yy767;
+ if (yych <= 'F') goto yy772;
goto yy10;
} else {
if (yych <= '`') {
- if (yych <= '_') goto yy551;
+ if (yych <= '_') goto yy554;
goto yy10;
} else {
- if (yych <= 'f') goto yy767;
+ if (yych <= 'f') goto yy772;
if (yych <= '~') goto yy10;
goto yy191;
}
}
}
-yy769:
+yy774:
yych = *++cursor_;
if (yych <= '/') goto yy11;
- if (yych <= '0') goto yy1012;
- if (yych <= '9') goto yy1014;
+ if (yych <= '0') goto yy1026;
+ if (yych <= '9') goto yy1028;
goto yy11;
-yy770:
+yy775:
yych = *++cursor_;
- if (yych == 'r') goto yy1016;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 687 "src/wast-lexer.cc"
+ { RETURN(Passive); }
+#line 4692 "src/prebuilt/wast-lexer-gen.cc"
+yy777:
+ yych = *++cursor_;
+ if (yych == 'r') goto yy1030;
goto yy11;
-yy771:
+yy778:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 694 "src/wast-lexer.cc"
+#line 702 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Rethrow); }
-#line 4648 "src/prebuilt/wast-lexer-gen.cc"
-yy773:
+#line 4704 "src/prebuilt/wast-lexer-gen.cc"
+yy780:
yych = *++cursor_;
- if (yych == 'c') goto yy1018;
+ if (yych == 'c') goto yy1032;
goto yy11;
-yy774:
+yy781:
yych = *++cursor_;
- if (yych == 'b') goto yy1019;
+ if (yych == 'b') goto yy1033;
goto yy11;
-yy775:
+yy782:
yych = *++cursor_;
- if (yych == 'a') goto yy1020;
+ if (yych == 'a') goto yy1034;
goto yy11;
-yy776:
+yy783:
yych = *++cursor_;
- if (yych == 'a') goto yy1021;
+ if (yych == 'o') goto yy1035;
goto yy11;
-yy777:
+yy784:
yych = *++cursor_;
- if (yych == 'a') goto yy1022;
+ if (yych == 'r') goto yy1036;
goto yy11;
-yy778:
+yy785:
yych = *++cursor_;
- if (yych == 'd') goto yy1023;
+ if (yych == 'n') goto yy1037;
goto yy11;
-yy779:
+yy786:
yych = *++cursor_;
- if (yych == 't') goto yy1025;
+ if (yych == 'a') goto yy1038;
goto yy11;
-yy780:
+yy787:
yych = *++cursor_;
- if (yych == 'n') goto yy1026;
+ if (yych == 'a') goto yy1039;
goto yy11;
-yy781:
+yy788:
yych = *++cursor_;
- if (yych == 'a') goto yy1027;
+ if (yych == 'd') goto yy1040;
goto yy11;
-yy782:
+yy789:
yych = *++cursor_;
- if (yych == 't') goto yy1028;
+ if (yych == 't') goto yy1042;
goto yy11;
-yy783:
+yy790:
+ yych = *++cursor_;
+ if (yych == 'n') goto yy1043;
+ goto yy11;
+yy791:
+ yych = *++cursor_;
+ if (yych == 'a') goto yy1044;
+ goto yy11;
+yy792:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1045;
+ goto yy11;
+yy793:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 579 "src/wast-lexer.cc"
+#line 586 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, V128Or); }
-#line 4696 "src/prebuilt/wast-lexer-gen.cc"
-yy785:
+#line 4764 "src/prebuilt/wast-lexer-gen.cc"
+yy795:
yych = *++cursor_;
- if (yych == 'o') goto yy1030;
+ if (yych == 'o') goto yy1047;
goto yy11;
-yy786:
+yy796:
yych = *++cursor_;
- if (yych == 'r') goto yy1031;
+ if (yych == 'r') goto yy1048;
goto yy11;
-yy787:
+yy797:
yych = *++cursor_;
- if (yych == 'h') goto yy1033;
+ if (yych == 'h') goto yy1050;
goto yy11;
-yy788:
+yy798:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
@@ -4721,7 +4789,7 @@ yy788:
} else {
if (yych <= ':') {
if (yych <= '/') goto yy10;
- if (yych <= '9') goto yy579;
+ if (yych <= '9') goto yy584;
goto yy10;
} else {
if (yych <= ';') goto yy12;
@@ -4729,7 +4797,7 @@ yy788:
goto yy12;
}
}
-yy789:
+yy799:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
@@ -4741,562 +4809,562 @@ yy789:
if (yych <= '\'') goto yy10;
if (yych <= ')') goto yy12;
if (yych <= '/') goto yy10;
- goto yy1034;
+ goto yy1051;
}
} else {
if (yych <= 'F') {
if (yych == ';') goto yy12;
if (yych <= '@') goto yy10;
- goto yy1034;
+ goto yy1051;
} else {
if (yych <= '`') goto yy10;
- if (yych <= 'f') goto yy1034;
+ if (yych <= 'f') goto yy1051;
if (yych <= '~') goto yy10;
goto yy12;
}
}
-yy790:
+yy800:
yych = *++cursor_;
- if (yych == 'x') goto yy1036;
+ if (yych == 'x') goto yy1053;
goto yy11;
-yy791:
+yy801:
yych = *++cursor_;
- if (yych == 'n') goto yy1037;
+ if (yych == 'n') goto yy1054;
goto yy11;
-yy792:
+yy802:
yych = *++cursor_;
- if (yych == 'a') goto yy1038;
+ if (yych == 'a') goto yy1055;
goto yy11;
-yy793:
+yy803:
yych = *++cursor_;
- if (yych == 'e') goto yy1039;
+ if (yych == 'e') goto yy1056;
goto yy11;
-yy794:
+yy804:
yych = *++cursor_;
- if (yych == 'r') goto yy1040;
+ if (yych == 'r') goto yy1057;
goto yy11;
-yy795:
+yy805:
yych = *++cursor_;
- if (yych == 'n') goto yy1041;
+ if (yych == 'n') goto yy1058;
goto yy11;
-yy796:
+yy806:
yych = *++cursor_;
- if (yych == 'a') goto yy1042;
+ if (yych == 'a') goto yy1059;
goto yy11;
-yy797:
+yy807:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 270 "src/wast-lexer.cc"
{ RETURN_OPCODE0(BrTable); }
-#line 4794 "src/prebuilt/wast-lexer-gen.cc"
-yy799:
+#line 4862 "src/prebuilt/wast-lexer-gen.cc"
+yy809:
yych = *++cursor_;
- if (yych == 'i') goto yy1043;
+ if (yych == 'i') goto yy1060;
goto yy11;
-yy800:
+yy810:
yych = *++cursor_;
- if (yych == 'm') goto yy1044;
+ if (yych == 'm') goto yy1061;
goto yy11;
-yy801:
+yy811:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 324 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32Ceil); }
-#line 4810 "src/prebuilt/wast-lexer-gen.cc"
-yy803:
+#line 4878 "src/prebuilt/wast-lexer-gen.cc"
+yy813:
yych = *++cursor_;
- if (yych == 't') goto yy1045;
+ if (yych == 't') goto yy1062;
goto yy11;
-yy804:
+yy814:
yych = *++cursor_;
- if (yych == 'e') goto yy1047;
+ if (yych == 'e') goto yy1064;
goto yy11;
-yy805:
+yy815:
yych = *++cursor_;
- if (yych == 's') goto yy1048;
+ if (yych == 's') goto yy1065;
goto yy11;
-yy806:
+yy816:
yych = *++cursor_;
- if (yych == 't') goto yy1049;
+ if (yych == 't') goto yy1066;
goto yy11;
-yy807:
+yy817:
yych = *++cursor_;
- if (yych == 'r') goto yy1050;
+ if (yych == 'r') goto yy1067;
goto yy11;
-yy808:
+yy818:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 283 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, F32Load); }
-#line 4838 "src/prebuilt/wast-lexer-gen.cc"
-yy810:
+#line 4906 "src/prebuilt/wast-lexer-gen.cc"
+yy820:
yych = *++cursor_;
- if (yych == 'e') goto yy1052;
+ if (yych == 'e') goto yy1069;
goto yy11;
-yy811:
+yy821:
yych = *++cursor_;
- if (yych == 't') goto yy1053;
+ if (yych == 't') goto yy1070;
goto yy11;
-yy812:
+yy822:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 322 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32Sqrt); }
-#line 4854 "src/prebuilt/wast-lexer-gen.cc"
-yy814:
+#line 4922 "src/prebuilt/wast-lexer-gen.cc"
+yy824:
yych = *++cursor_;
- if (yych == 'e') goto yy1054;
+ if (yych == 'e') goto yy1071;
goto yy11;
-yy815:
+yy825:
yych = *++cursor_;
- if (yych == 'c') goto yy1056;
+ if (yych == 'c') goto yy1073;
goto yy11;
-yy816:
+yy826:
yych = *++cursor_;
- if (yych == 's') goto yy1058;
+ if (yych == 's') goto yy1075;
goto yy11;
-yy817:
+yy827:
yych = *++cursor_;
- if (yych == 'd') goto yy1060;
+ if (yych == 'd') goto yy1077;
goto yy11;
-yy818:
+yy828:
yych = *++cursor_;
- if (yych == 'n') goto yy1062;
+ if (yych == 'n') goto yy1079;
goto yy11;
-yy819:
+yy829:
yych = *++cursor_;
- if (yych == 'v') goto yy1063;
+ if (yych == 'v') goto yy1080;
goto yy11;
-yy820:
+yy830:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 594 "src/wast-lexer.cc"
+#line 601 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32X4Eq); }
-#line 4886 "src/prebuilt/wast-lexer-gen.cc"
-yy822:
+#line 4954 "src/prebuilt/wast-lexer-gen.cc"
+yy832:
yych = *++cursor_;
- if (yych == 't') goto yy1065;
+ if (yych == 't') goto yy1082;
goto yy11;
-yy823:
+yy833:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 631 "src/wast-lexer.cc"
+#line 638 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32X4Ge); }
-#line 4898 "src/prebuilt/wast-lexer-gen.cc"
-yy825:
+#line 4966 "src/prebuilt/wast-lexer-gen.cc"
+yy835:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 623 "src/wast-lexer.cc"
+#line 630 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32X4Gt); }
-#line 4906 "src/prebuilt/wast-lexer-gen.cc"
-yy827:
+#line 4974 "src/prebuilt/wast-lexer-gen.cc"
+yy837:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 615 "src/wast-lexer.cc"
+#line 622 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32X4Le); }
-#line 4914 "src/prebuilt/wast-lexer-gen.cc"
-yy829:
+#line 4982 "src/prebuilt/wast-lexer-gen.cc"
+yy839:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 607 "src/wast-lexer.cc"
+#line 614 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32X4Lt); }
-#line 4922 "src/prebuilt/wast-lexer-gen.cc"
-yy831:
+#line 4990 "src/prebuilt/wast-lexer-gen.cc"
+yy841:
yych = *++cursor_;
- if (yych == 'x') goto yy1066;
+ if (yych == 'x') goto yy1083;
goto yy11;
-yy832:
+yy842:
yych = *++cursor_;
- if (yych == 'n') goto yy1068;
+ if (yych == 'n') goto yy1085;
goto yy11;
-yy833:
+yy843:
yych = *++cursor_;
- if (yych == 'l') goto yy1070;
+ if (yych == 'l') goto yy1087;
goto yy11;
-yy834:
+yy844:
yych = *++cursor_;
if (yych <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy835;
+ if (yych <= '"') goto yy845;
if (yych <= '\'') goto yy10;
}
} else {
if (yych <= 'f') {
if (yych != ';') goto yy10;
} else {
- if (yych <= 'g') goto yy1072;
+ if (yych <= 'g') goto yy1089;
if (yych <= '~') goto yy10;
}
}
-yy835:
-#line 599 "src/wast-lexer.cc"
+yy845:
+#line 606 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F32X4Ne); }
-#line 4955 "src/prebuilt/wast-lexer-gen.cc"
-yy836:
+#line 5023 "src/prebuilt/wast-lexer-gen.cc"
+yy846:
yych = *++cursor_;
- if (yych == 'p') goto yy1074;
+ if (yych == 'p') goto yy1091;
goto yy11;
-yy837:
+yy847:
yych = *++cursor_;
- if (yych == 'l') goto yy1075;
+ if (yych == 'l') goto yy1092;
goto yy11;
-yy838:
+yy848:
yych = *++cursor_;
- if (yych == 'r') goto yy1076;
+ if (yych == 'r') goto yy1093;
goto yy11;
-yy839:
+yy849:
yych = *++cursor_;
- if (yych == 'b') goto yy1077;
+ if (yych == 'b') goto yy1094;
goto yy11;
-yy840:
+yy850:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 325 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64Ceil); }
-#line 4979 "src/prebuilt/wast-lexer-gen.cc"
-yy842:
+#line 5047 "src/prebuilt/wast-lexer-gen.cc"
+yy852:
yych = *++cursor_;
- if (yych == 't') goto yy1079;
+ if (yych == 't') goto yy1096;
goto yy11;
-yy843:
+yy853:
yych = *++cursor_;
- if (yych == 'e') goto yy1081;
+ if (yych == 'e') goto yy1098;
goto yy11;
-yy844:
+yy854:
yych = *++cursor_;
- if (yych == 's') goto yy1082;
+ if (yych == 's') goto yy1099;
goto yy11;
-yy845:
+yy855:
yych = *++cursor_;
- if (yych == 'r') goto yy1083;
+ if (yych == 'r') goto yy1100;
goto yy11;
-yy846:
+yy856:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 284 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, F64Load); }
-#line 5003 "src/prebuilt/wast-lexer-gen.cc"
-yy848:
+#line 5071 "src/prebuilt/wast-lexer-gen.cc"
+yy858:
yych = *++cursor_;
- if (yych == 'e') goto yy1085;
+ if (yych == 'e') goto yy1102;
goto yy11;
-yy849:
+yy859:
yych = *++cursor_;
- if (yych == 'o') goto yy1086;
+ if (yych == 'o') goto yy1103;
goto yy11;
-yy850:
+yy860:
yych = *++cursor_;
- if (yych == 't') goto yy1087;
+ if (yych == 't') goto yy1104;
goto yy11;
-yy851:
+yy861:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 323 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64Sqrt); }
-#line 5023 "src/prebuilt/wast-lexer-gen.cc"
-yy853:
+#line 5091 "src/prebuilt/wast-lexer-gen.cc"
+yy863:
yych = *++cursor_;
- if (yych == 'e') goto yy1088;
+ if (yych == 'e') goto yy1105;
goto yy11;
-yy854:
+yy864:
yych = *++cursor_;
- if (yych == 'c') goto yy1090;
+ if (yych == 'c') goto yy1107;
goto yy11;
-yy855:
+yy865:
yych = *++cursor_;
- if (yych == 's') goto yy1092;
+ if (yych == 's') goto yy1109;
goto yy11;
-yy856:
+yy866:
yych = *++cursor_;
- if (yych == 'd') goto yy1094;
+ if (yych == 'd') goto yy1111;
goto yy11;
-yy857:
+yy867:
yych = *++cursor_;
- if (yych == 'n') goto yy1096;
+ if (yych == 'n') goto yy1113;
goto yy11;
-yy858:
+yy868:
yych = *++cursor_;
- if (yych == 'v') goto yy1097;
+ if (yych == 'v') goto yy1114;
goto yy11;
-yy859:
+yy869:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 595 "src/wast-lexer.cc"
+#line 602 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64X2Eq); }
-#line 5055 "src/prebuilt/wast-lexer-gen.cc"
-yy861:
+#line 5123 "src/prebuilt/wast-lexer-gen.cc"
+yy871:
yych = *++cursor_;
- if (yych == 't') goto yy1099;
+ if (yych == 't') goto yy1116;
goto yy11;
-yy862:
+yy872:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 632 "src/wast-lexer.cc"
+#line 639 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64X2Ge); }
-#line 5067 "src/prebuilt/wast-lexer-gen.cc"
-yy864:
+#line 5135 "src/prebuilt/wast-lexer-gen.cc"
+yy874:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 624 "src/wast-lexer.cc"
+#line 631 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64X2Gt); }
-#line 5075 "src/prebuilt/wast-lexer-gen.cc"
-yy866:
+#line 5143 "src/prebuilt/wast-lexer-gen.cc"
+yy876:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 616 "src/wast-lexer.cc"
+#line 623 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64X2Le); }
-#line 5083 "src/prebuilt/wast-lexer-gen.cc"
-yy868:
+#line 5151 "src/prebuilt/wast-lexer-gen.cc"
+yy878:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 608 "src/wast-lexer.cc"
+#line 615 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64X2Lt); }
-#line 5091 "src/prebuilt/wast-lexer-gen.cc"
-yy870:
+#line 5159 "src/prebuilt/wast-lexer-gen.cc"
+yy880:
yych = *++cursor_;
- if (yych == 'x') goto yy1100;
+ if (yych == 'x') goto yy1117;
goto yy11;
-yy871:
+yy881:
yych = *++cursor_;
- if (yych == 'n') goto yy1102;
+ if (yych == 'n') goto yy1119;
goto yy11;
-yy872:
+yy882:
yych = *++cursor_;
- if (yych == 'l') goto yy1104;
+ if (yych == 'l') goto yy1121;
goto yy11;
-yy873:
+yy883:
yych = *++cursor_;
if (yych <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy874;
+ if (yych <= '"') goto yy884;
if (yych <= '\'') goto yy10;
}
} else {
if (yych <= 'f') {
if (yych != ';') goto yy10;
} else {
- if (yych <= 'g') goto yy1106;
+ if (yych <= 'g') goto yy1123;
if (yych <= '~') goto yy10;
}
}
-yy874:
-#line 600 "src/wast-lexer.cc"
+yy884:
+#line 607 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, F64X2Ne); }
-#line 5124 "src/prebuilt/wast-lexer-gen.cc"
-yy875:
+#line 5192 "src/prebuilt/wast-lexer-gen.cc"
+yy885:
yych = *++cursor_;
- if (yych == 'p') goto yy1108;
+ if (yych == 'p') goto yy1125;
goto yy11;
-yy876:
+yy886:
yych = *++cursor_;
- if (yych == 'l') goto yy1109;
+ if (yych == 'l') goto yy1126;
goto yy11;
-yy877:
+yy887:
yych = *++cursor_;
- if (yych == 'r') goto yy1110;
+ if (yych == 'r') goto yy1127;
goto yy11;
-yy878:
+yy888:
yych = *++cursor_;
- if (yych == 'b') goto yy1111;
+ if (yych == 'b') goto yy1128;
goto yy11;
-yy879:
+yy889:
yych = *++cursor_;
- if (yych == 'a') goto yy1113;
+ if (yych == 'a') goto yy1130;
goto yy11;
-yy880:
+yy890:
yych = *++cursor_;
- if (yych == 'l') goto yy1114;
+ if (yych == 'l') goto yy1131;
goto yy11;
-yy881:
+yy891:
yych = *++cursor_;
- if (yych == 'o') goto yy1116;
+ if (yych == 'o') goto yy1133;
goto yy11;
-yy882:
+yy892:
yych = *++cursor_;
- if (yych == 'd') goto yy1117;
+ if (yych == 'd') goto yy1134;
goto yy11;
-yy883:
+yy893:
yych = *++cursor_;
- if (yych == 'l') goto yy1119;
+ if (yych == 'l') goto yy1136;
goto yy11;
-yy884:
+yy894:
yych = *++cursor_;
- if (yych == 'y') goto yy1120;
+ if (yych == 'y') goto yy1137;
goto yy11;
-yy885:
+yy895:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 592 "src/wast-lexer.cc"
+#line 599 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I16X8Eq); }
-#line 5172 "src/prebuilt/wast-lexer-gen.cc"
-yy887:
+#line 5240 "src/prebuilt/wast-lexer-gen.cc"
+yy897:
yych = *++cursor_;
- if (yych == 't') goto yy1121;
+ if (yych == 't') goto yy1138;
goto yy11;
-yy888:
+yy898:
yych = *++cursor_;
- if (yych == '_') goto yy1122;
+ if (yych == '_') goto yy1139;
goto yy11;
-yy889:
+yy899:
yych = *++cursor_;
- if (yych == '_') goto yy1123;
+ if (yych == '_') goto yy1140;
goto yy11;
-yy890:
+yy900:
yych = *++cursor_;
- if (yych == '_') goto yy1124;
+ if (yych == '_') goto yy1141;
goto yy11;
-yy891:
+yy901:
yych = *++cursor_;
- if (yych == '_') goto yy1125;
+ if (yych == '_') goto yy1142;
goto yy11;
-yy892:
+yy902:
yych = *++cursor_;
- if (yych == 'l') goto yy1126;
+ if (yych == 'l') goto yy1143;
goto yy11;
-yy893:
+yy903:
yych = *++cursor_;
if (yych <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy894;
+ if (yych <= '"') goto yy904;
if (yych <= '\'') goto yy10;
}
} else {
if (yych <= 'f') {
if (yych != ';') goto yy10;
} else {
- if (yych <= 'g') goto yy1128;
+ if (yych <= 'g') goto yy1145;
if (yych <= '~') goto yy10;
}
}
-yy894:
-#line 597 "src/wast-lexer.cc"
+yy904:
+#line 604 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I16X8Ne); }
-#line 5217 "src/prebuilt/wast-lexer-gen.cc"
-yy895:
+#line 5285 "src/prebuilt/wast-lexer-gen.cc"
+yy905:
yych = *++cursor_;
- if (yych == 'p') goto yy1130;
+ if (yych == 'p') goto yy1147;
goto yy11;
-yy896:
+yy906:
yych = *++cursor_;
- if (yych == 'l') goto yy1131;
- if (yych == 'r') goto yy1133;
+ if (yych == 'l') goto yy1148;
+ if (yych == 'r') goto yy1150;
goto yy11;
-yy897:
+yy907:
yych = *++cursor_;
- if (yych == 'l') goto yy1134;
+ if (yych == 'l') goto yy1151;
goto yy11;
-yy898:
+yy908:
yych = *++cursor_;
- if (yych == 'b') goto yy1135;
+ if (yych == 'b') goto yy1152;
goto yy11;
-yy899:
+yy909:
yych = *++cursor_;
- if (yych == 'i') goto yy1137;
+ if (yych == 'i') goto yy1154;
goto yy11;
-yy900:
+yy910:
yych = *++cursor_;
- if (yych == 't') goto yy1138;
+ if (yych == 't') goto yy1155;
goto yy11;
-yy901:
+yy911:
yych = *++cursor_;
- if (yych == 's') goto yy1140;
- if (yych == 'u') goto yy1142;
+ if (yych == 's') goto yy1157;
+ if (yych == 'u') goto yy1159;
goto yy11;
-yy902:
+yy912:
yych = *++cursor_;
- if (yych == 'n') goto yy1144;
+ if (yych == 'n') goto yy1161;
goto yy11;
-yy903:
+yy913:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 397 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32GeS); }
-#line 5259 "src/prebuilt/wast-lexer-gen.cc"
-yy905:
+#line 5327 "src/prebuilt/wast-lexer-gen.cc"
+yy915:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 399 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32GeU); }
-#line 5267 "src/prebuilt/wast-lexer-gen.cc"
-yy907:
+#line 5335 "src/prebuilt/wast-lexer-gen.cc"
+yy917:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 393 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32GtS); }
-#line 5275 "src/prebuilt/wast-lexer-gen.cc"
-yy909:
+#line 5343 "src/prebuilt/wast-lexer-gen.cc"
+yy919:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 395 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32GtU); }
-#line 5283 "src/prebuilt/wast-lexer-gen.cc"
-yy911:
+#line 5351 "src/prebuilt/wast-lexer-gen.cc"
+yy921:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 389 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32LeS); }
-#line 5291 "src/prebuilt/wast-lexer-gen.cc"
-yy913:
+#line 5359 "src/prebuilt/wast-lexer-gen.cc"
+yy923:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 391 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32LeU); }
-#line 5299 "src/prebuilt/wast-lexer-gen.cc"
-yy915:
+#line 5367 "src/prebuilt/wast-lexer-gen.cc"
+yy925:
yych = *++cursor_;
if (yych <= '0') {
if (yych <= '"') {
@@ -5307,1101 +5375,1129 @@ yy915:
}
} else {
if (yych <= '8') {
- if (yych <= '1') goto yy1145;
+ if (yych <= '1') goto yy1162;
if (yych <= '7') goto yy10;
- goto yy1146;
+ goto yy1163;
} else {
- if (yych == ';') goto yy916;
+ if (yych == ';') goto yy926;
if (yych <= '~') goto yy10;
}
}
-yy916:
+yy926:
#line 281 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I32Load); }
-#line 5322 "src/prebuilt/wast-lexer-gen.cc"
-yy917:
+#line 5390 "src/prebuilt/wast-lexer-gen.cc"
+yy927:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 385 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32LtS); }
-#line 5330 "src/prebuilt/wast-lexer-gen.cc"
-yy919:
+#line 5398 "src/prebuilt/wast-lexer-gen.cc"
+yy929:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 387 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32LtU); }
-#line 5338 "src/prebuilt/wast-lexer-gen.cc"
-yy921:
+#line 5406 "src/prebuilt/wast-lexer-gen.cc"
+yy931:
yych = *++cursor_;
- if (yych == 'n') goto yy1147;
+ if (yych == 'n') goto yy1164;
goto yy11;
-yy922:
+yy932:
yych = *++cursor_;
- if (yych == 't') goto yy1148;
+ if (yych == 't') goto yy1165;
goto yy11;
-yy923:
+yy933:
yych = *++cursor_;
- if (yych == 's') goto yy1149;
- if (yych == 'u') goto yy1151;
+ if (yych == 's') goto yy1166;
+ if (yych == 'u') goto yy1168;
goto yy11;
-yy924:
+yy934:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 363 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32Rotl); }
-#line 5359 "src/prebuilt/wast-lexer-gen.cc"
-yy926:
+#line 5427 "src/prebuilt/wast-lexer-gen.cc"
+yy936:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 365 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32Rotr); }
-#line 5367 "src/prebuilt/wast-lexer-gen.cc"
-yy928:
+#line 5435 "src/prebuilt/wast-lexer-gen.cc"
+yy938:
yych = *++cursor_;
- if (yych == 's') goto yy1153;
- if (yych == 'u') goto yy1155;
+ if (yych == 's') goto yy1170;
+ if (yych == 'u') goto yy1172;
goto yy11;
-yy929:
+yy939:
yych = *++cursor_;
- if (yych == 'e') goto yy1157;
+ if (yych == 'e') goto yy1174;
goto yy11;
-yy930:
+yy940:
yych = *++cursor_;
- if (yych == 'c') goto yy1159;
+ if (yych == 'c') goto yy1176;
goto yy11;
-yy931:
+yy941:
yych = *++cursor_;
- if (yych == '/') goto yy1160;
+ if (yych == '/') goto yy1177;
goto yy11;
-yy932:
+yy942:
yych = *++cursor_;
- if (yych == 'd') goto yy1161;
+ if (yych == 'd') goto yy1178;
goto yy11;
-yy933:
+yy943:
yych = *++cursor_;
- if (yych == 'l') goto yy1163;
+ if (yych == 'l') goto yy1180;
goto yy11;
-yy934:
+yy944:
yych = *++cursor_;
- if (yych == 'y') goto yy1164;
+ if (yych == 'y') goto yy1181;
goto yy11;
-yy935:
+yy945:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 593 "src/wast-lexer.cc"
+#line 600 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32X4Eq); }
-#line 5404 "src/prebuilt/wast-lexer-gen.cc"
-yy937:
+#line 5472 "src/prebuilt/wast-lexer-gen.cc"
+yy947:
yych = *++cursor_;
- if (yych == 't') goto yy1165;
+ if (yych == 't') goto yy1182;
goto yy11;
-yy938:
+yy948:
yych = *++cursor_;
- if (yych == '_') goto yy1166;
+ if (yych == '_') goto yy1183;
goto yy11;
-yy939:
+yy949:
yych = *++cursor_;
- if (yych == '_') goto yy1167;
+ if (yych == '_') goto yy1184;
goto yy11;
-yy940:
+yy950:
yych = *++cursor_;
- if (yych == '_') goto yy1168;
+ if (yych == '_') goto yy1185;
goto yy11;
-yy941:
+yy951:
yych = *++cursor_;
- if (yych == '_') goto yy1169;
+ if (yych == '_') goto yy1186;
goto yy11;
-yy942:
+yy952:
yych = *++cursor_;
- if (yych == 'l') goto yy1170;
+ if (yych == 'l') goto yy1187;
goto yy11;
-yy943:
+yy953:
yych = *++cursor_;
if (yych <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy944;
+ if (yych <= '"') goto yy954;
if (yych <= '\'') goto yy10;
}
} else {
if (yych <= 'f') {
if (yych != ';') goto yy10;
} else {
- if (yych <= 'g') goto yy1172;
+ if (yych <= 'g') goto yy1189;
if (yych <= '~') goto yy10;
}
}
-yy944:
-#line 598 "src/wast-lexer.cc"
+yy954:
+#line 605 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32X4Ne); }
-#line 5449 "src/prebuilt/wast-lexer-gen.cc"
-yy945:
+#line 5517 "src/prebuilt/wast-lexer-gen.cc"
+yy955:
yych = *++cursor_;
- if (yych == 'p') goto yy1174;
+ if (yych == 'p') goto yy1191;
goto yy11;
-yy946:
+yy956:
yych = *++cursor_;
- if (yych == 'l') goto yy1175;
- if (yych == 'r') goto yy1177;
+ if (yych == 'l') goto yy1192;
+ if (yych == 'r') goto yy1194;
goto yy11;
-yy947:
+yy957:
yych = *++cursor_;
- if (yych == 'l') goto yy1178;
+ if (yych == 'l') goto yy1195;
goto yy11;
-yy948:
+yy958:
yych = *++cursor_;
- if (yych == 'b') goto yy1179;
+ if (yych == 'b') goto yy1196;
goto yy11;
-yy949:
+yy959:
yych = *++cursor_;
- if (yych == 'u') goto yy1181;
+ if (yych == 'u') goto yy1198;
goto yy11;
-yy950:
+yy960:
yych = *++cursor_;
- if (yych == 'i') goto yy1182;
+ if (yych == 'i') goto yy1199;
goto yy11;
-yy951:
+yy961:
yych = *++cursor_;
- if (yych == 't') goto yy1183;
+ if (yych == 't') goto yy1200;
goto yy11;
-yy952:
+yy962:
yych = *++cursor_;
- if (yych == 's') goto yy1185;
- if (yych == 'u') goto yy1187;
+ if (yych == 's') goto yy1202;
+ if (yych == 'u') goto yy1204;
goto yy11;
-yy953:
+yy963:
yych = *++cursor_;
- if (yych == 'n') goto yy1189;
+ if (yych == 'n') goto yy1206;
goto yy11;
-yy954:
+yy964:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 398 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64GeS); }
-#line 5495 "src/prebuilt/wast-lexer-gen.cc"
-yy956:
+#line 5563 "src/prebuilt/wast-lexer-gen.cc"
+yy966:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 400 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64GeU); }
-#line 5503 "src/prebuilt/wast-lexer-gen.cc"
-yy958:
+#line 5571 "src/prebuilt/wast-lexer-gen.cc"
+yy968:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 394 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64GtS); }
-#line 5511 "src/prebuilt/wast-lexer-gen.cc"
-yy960:
+#line 5579 "src/prebuilt/wast-lexer-gen.cc"
+yy970:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 396 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64GtU); }
-#line 5519 "src/prebuilt/wast-lexer-gen.cc"
-yy962:
+#line 5587 "src/prebuilt/wast-lexer-gen.cc"
+yy972:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 390 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64LeS); }
-#line 5527 "src/prebuilt/wast-lexer-gen.cc"
-yy964:
+#line 5595 "src/prebuilt/wast-lexer-gen.cc"
+yy974:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 392 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64LeU); }
-#line 5535 "src/prebuilt/wast-lexer-gen.cc"
-yy966:
+#line 5603 "src/prebuilt/wast-lexer-gen.cc"
+yy976:
yych = *++cursor_;
if (yych <= '1') {
if (yych <= '"') {
if (yych == '!') goto yy10;
} else {
if (yych <= '\'') goto yy10;
- if (yych <= ')') goto yy967;
+ if (yych <= ')') goto yy977;
if (yych <= '0') goto yy10;
- goto yy1190;
+ goto yy1207;
}
} else {
if (yych <= '8') {
- if (yych == '3') goto yy1191;
+ if (yych == '3') goto yy1208;
if (yych <= '7') goto yy10;
- goto yy1192;
+ goto yy1209;
} else {
- if (yych == ';') goto yy967;
+ if (yych == ';') goto yy977;
if (yych <= '~') goto yy10;
}
}
-yy967:
+yy977:
#line 282 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I64Load); }
-#line 5560 "src/prebuilt/wast-lexer-gen.cc"
-yy968:
+#line 5628 "src/prebuilt/wast-lexer-gen.cc"
+yy978:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 386 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64LtS); }
-#line 5568 "src/prebuilt/wast-lexer-gen.cc"
-yy970:
+#line 5636 "src/prebuilt/wast-lexer-gen.cc"
+yy980:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 388 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I64LtU); }
-#line 5576 "src/prebuilt/wast-lexer-gen.cc"
-yy972:
+#line 5644 "src/prebuilt/wast-lexer-gen.cc"
+yy982:
yych = *++cursor_;
- if (yych == 'n') goto yy1193;
+ if (yych == 'n') goto yy1210;
goto yy11;
-yy973:
+yy983:
yych = *++cursor_;
- if (yych == 't') goto yy1194;
+ if (yych == 't') goto yy1211;
goto yy11;
-yy974:
+yy984:
yych = *++cursor_;
- if (yych == 's') goto yy1195;
- if (yych == 'u') goto yy1197;
+ if (yych == 's') goto yy1212;
+ if (yych == 'u') goto yy1214;
goto yy11;
-yy975:
+yy985:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 364 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64Rotl); }
-#line 5597 "src/prebuilt/wast-lexer-gen.cc"
-yy977:
+#line 5665 "src/prebuilt/wast-lexer-gen.cc"
+yy987:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 366 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64Rotr); }
-#line 5605 "src/prebuilt/wast-lexer-gen.cc"
-yy979:
+#line 5673 "src/prebuilt/wast-lexer-gen.cc"
+yy989:
yych = *++cursor_;
- if (yych == 's') goto yy1199;
- if (yych == 'u') goto yy1201;
+ if (yych == 's') goto yy1216;
+ if (yych == 'u') goto yy1218;
goto yy11;
-yy980:
+yy990:
yych = *++cursor_;
- if (yych == 'e') goto yy1203;
+ if (yych == 'e') goto yy1220;
goto yy11;
-yy981:
+yy991:
yych = *++cursor_;
- if (yych == 'c') goto yy1205;
+ if (yych == 'c') goto yy1222;
goto yy11;
-yy982:
+yy992:
yych = *++cursor_;
- if (yych == 'd') goto yy1206;
+ if (yych == 'd') goto yy1223;
goto yy11;
-yy983:
+yy993:
yych = *++cursor_;
- if (yych == 'l') goto yy1208;
+ if (yych == 'l') goto yy1225;
goto yy11;
-yy984:
+yy994:
yych = *++cursor_;
- if (yych == 'y') goto yy1209;
+ if (yych == 'y') goto yy1226;
goto yy11;
-yy985:
+yy995:
yych = *++cursor_;
- if (yych == 't') goto yy1210;
+ if (yych == 't') goto yy1227;
goto yy11;
-yy986:
+yy996:
yych = *++cursor_;
- if (yych == 'g') goto yy1211;
+ if (yych == 'g') goto yy1228;
goto yy11;
-yy987:
+yy997:
yych = *++cursor_;
- if (yych == 'p') goto yy1213;
+ if (yych == 'p') goto yy1230;
goto yy11;
-yy988:
+yy998:
yych = *++cursor_;
- if (yych == 'l') goto yy1214;
- if (yych == 'r') goto yy1216;
+ if (yych == 'l') goto yy1231;
+ if (yych == 'r') goto yy1233;
goto yy11;
-yy989:
+yy999:
yych = *++cursor_;
- if (yych == 'l') goto yy1217;
+ if (yych == 'l') goto yy1234;
goto yy11;
-yy990:
+yy1000:
yych = *++cursor_;
- if (yych == 'b') goto yy1218;
+ if (yych == 'b') goto yy1235;
goto yy11;
-yy991:
+yy1001:
yych = *++cursor_;
- if (yych == 'u') goto yy1220;
+ if (yych == 'u') goto yy1237;
goto yy11;
-yy992:
+yy1002:
yych = *++cursor_;
- if (yych == 'd') goto yy1221;
+ if (yych == 'd') goto yy1238;
goto yy11;
-yy993:
+yy1003:
yych = *++cursor_;
- if (yych == 'l') goto yy1223;
+ if (yych == 'l') goto yy1240;
goto yy11;
-yy994:
+yy1004:
yych = *++cursor_;
- if (yych == 'y') goto yy1224;
+ if (yych == 'y') goto yy1241;
goto yy11;
-yy995:
+yy1005:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 591 "src/wast-lexer.cc"
+#line 598 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16Eq); }
-#line 5679 "src/prebuilt/wast-lexer-gen.cc"
-yy997:
+#line 5747 "src/prebuilt/wast-lexer-gen.cc"
+yy1007:
yych = *++cursor_;
- if (yych == 't') goto yy1225;
+ if (yych == 't') goto yy1242;
goto yy11;
-yy998:
+yy1008:
yych = *++cursor_;
- if (yych == '_') goto yy1226;
+ if (yych == '_') goto yy1243;
goto yy11;
-yy999:
+yy1009:
yych = *++cursor_;
- if (yych == '_') goto yy1227;
+ if (yych == '_') goto yy1244;
goto yy11;
-yy1000:
+yy1010:
yych = *++cursor_;
- if (yych == '_') goto yy1228;
+ if (yych == '_') goto yy1245;
goto yy11;
-yy1001:
+yy1011:
yych = *++cursor_;
- if (yych == '_') goto yy1229;
+ if (yych == '_') goto yy1246;
goto yy11;
-yy1002:
+yy1012:
yych = *++cursor_;
- if (yych == 'l') goto yy1230;
+ if (yych == 'l') goto yy1247;
goto yy11;
-yy1003:
+yy1013:
yych = *++cursor_;
if (yych <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy1004;
+ if (yych <= '"') goto yy1014;
if (yych <= '\'') goto yy10;
}
} else {
if (yych <= 'f') {
if (yych != ';') goto yy10;
} else {
- if (yych <= 'g') goto yy1232;
+ if (yych <= 'g') goto yy1249;
if (yych <= '~') goto yy10;
}
}
-yy1004:
-#line 596 "src/wast-lexer.cc"
+yy1014:
+#line 603 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16Ne); }
-#line 5724 "src/prebuilt/wast-lexer-gen.cc"
-yy1005:
+#line 5792 "src/prebuilt/wast-lexer-gen.cc"
+yy1015:
yych = *++cursor_;
- if (yych == 'p') goto yy1234;
+ if (yych == 'p') goto yy1251;
goto yy11;
-yy1006:
+yy1016:
yych = *++cursor_;
- if (yych == 'l') goto yy1235;
- if (yych == 'r') goto yy1237;
+ if (yych == 'l') goto yy1252;
+ if (yych == 'r') goto yy1254;
goto yy11;
-yy1007:
+yy1017:
yych = *++cursor_;
- if (yych == 'l') goto yy1238;
+ if (yych == 'l') goto yy1255;
goto yy11;
-yy1008:
+yy1018:
yych = *++cursor_;
- if (yych == 'b') goto yy1239;
+ if (yych == 'b') goto yy1256;
goto yy11;
-yy1009:
+yy1019:
yych = *++cursor_;
- if (yych == 't') goto yy1241;
+ if (yych == 't') goto yy1258;
goto yy11;
-yy1010:
+yy1020:
yych = *++cursor_;
- if (yych == 'r') goto yy1243;
+ if (yych == 'o') goto yy1260;
goto yy11;
-yy1011:
+yy1021:
yych = *++cursor_;
- if (yych == 'i') goto yy1244;
+ if (yych == 'r') goto yy1261;
goto yy11;
-yy1012:
+yy1022:
yych = *++cursor_;
- if (yych == 'x') goto yy1246;
- goto yy1015;
-yy1013:
+ if (yych == 'i') goto yy1262;
+ goto yy11;
+yy1023:
+ yych = *++cursor_;
+ if (yych == 'r') goto yy1263;
+ goto yy11;
+yy1024:
+ yych = *++cursor_;
+ if (yych == 'n') goto yy1264;
+ goto yy11;
+yy1025:
+ yych = *++cursor_;
+ if (yych == 'i') goto yy1265;
+ goto yy11;
+yy1026:
+ yych = *++cursor_;
+ if (yych == 'x') goto yy1267;
+ goto yy1029;
+yy1027:
#line 304 "src/wast-lexer.cc"
{ RETURN_TEXT_AT(OffsetEqNat, 7); }
-#line 5761 "src/prebuilt/wast-lexer-gen.cc"
-yy1014:
+#line 5845 "src/prebuilt/wast-lexer-gen.cc"
+yy1028:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
-yy1015:
+yy1029:
if (yych <= '/') {
if (yych <= '"') {
if (yych == '!') goto yy10;
- goto yy1013;
+ goto yy1027;
} else {
if (yych <= '\'') goto yy10;
- if (yych <= ')') goto yy1013;
+ if (yych <= ')') goto yy1027;
goto yy10;
}
} else {
if (yych <= ';') {
- if (yych <= '9') goto yy1014;
+ if (yych <= '9') goto yy1028;
if (yych <= ':') goto yy10;
- goto yy1013;
+ goto yy1027;
} else {
- if (yych == '_') goto yy1245;
+ if (yych == '_') goto yy1266;
if (yych <= '~') goto yy10;
- goto yy1013;
+ goto yy1027;
}
}
-yy1016:
+yy1030:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 680 "src/wast-lexer.cc"
+#line 688 "src/wast-lexer.cc"
{ RETURN(Register); }
-#line 5794 "src/prebuilt/wast-lexer-gen.cc"
-yy1018:
+#line 5878 "src/prebuilt/wast-lexer-gen.cc"
+yy1032:
yych = *++cursor_;
- if (yych == 'a') goto yy1247;
+ if (yych == 'a') goto yy1268;
goto yy11;
-yy1019:
+yy1033:
yych = *++cursor_;
- if (yych == 'a') goto yy1248;
+ if (yych == 'a') goto yy1269;
goto yy11;
-yy1020:
+yy1034:
yych = *++cursor_;
- if (yych == 'l') goto yy1249;
+ if (yych == 'l') goto yy1270;
goto yy11;
-yy1021:
+yy1035:
yych = *++cursor_;
- if (yych == 'l') goto yy1251;
+ if (yych == 'p') goto yy1272;
goto yy11;
-yy1022:
+yy1036:
yych = *++cursor_;
- if (yych == 'b') goto yy1253;
+ if (yych == 'o') goto yy1273;
goto yy11;
-yy1023:
+yy1037:
+ yych = *++cursor_;
+ if (yych == 'i') goto yy1274;
+ goto yy11;
+yy1038:
+ yych = *++cursor_;
+ if (yych == 'l') goto yy1275;
+ goto yy11;
+yy1039:
+ yych = *++cursor_;
+ if (yych == 'b') goto yy1277;
+ goto yy11;
+yy1040:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 578 "src/wast-lexer.cc"
+#line 585 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, V128And); }
-#line 5822 "src/prebuilt/wast-lexer-gen.cc"
-yy1025:
+#line 5918 "src/prebuilt/wast-lexer-gen.cc"
+yy1042:
yych = *++cursor_;
- if (yych == 's') goto yy1254;
+ if (yych == 's') goto yy1278;
goto yy11;
-yy1026:
+yy1043:
yych = *++cursor_;
- if (yych == 's') goto yy1255;
+ if (yych == 's') goto yy1279;
goto yy11;
-yy1027:
+yy1044:
yych = *++cursor_;
- if (yych == 'd') goto yy1256;
+ if (yych == 'd') goto yy1280;
goto yy11;
-yy1028:
+yy1045:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 581 "src/wast-lexer.cc"
+#line 588 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, V128Not); }
-#line 5842 "src/prebuilt/wast-lexer-gen.cc"
-yy1030:
+#line 5938 "src/prebuilt/wast-lexer-gen.cc"
+yy1047:
yych = *++cursor_;
- if (yych == 'r') goto yy1258;
+ if (yych == 'r') goto yy1282;
goto yy11;
-yy1031:
+yy1048:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 580 "src/wast-lexer.cc"
+#line 587 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, V128Xor); }
-#line 5854 "src/prebuilt/wast-lexer-gen.cc"
-yy1033:
+#line 5950 "src/prebuilt/wast-lexer-gen.cc"
+yy1050:
yych = *++cursor_;
- if (yych == 'u') goto yy1259;
+ if (yych == 'u') goto yy1283;
goto yy11;
-yy1034:
+yy1051:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= ':') {
if (yych <= '\'') {
if (yych == '!') goto yy10;
- if (yych <= '"') goto yy578;
+ if (yych <= '"') goto yy583;
goto yy10;
} else {
- if (yych <= ')') goto yy578;
+ if (yych <= ')') goto yy583;
if (yych <= '/') goto yy10;
- if (yych <= '9') goto yy1034;
+ if (yych <= '9') goto yy1051;
goto yy10;
}
} else {
if (yych <= '^') {
- if (yych <= ';') goto yy578;
+ if (yych <= ';') goto yy583;
if (yych <= '@') goto yy10;
- if (yych <= 'F') goto yy1034;
+ if (yych <= 'F') goto yy1051;
goto yy10;
} else {
if (yych <= '`') {
- if (yych <= '_') goto yy789;
+ if (yych <= '_') goto yy799;
goto yy10;
} else {
- if (yych <= 'f') goto yy1034;
+ if (yych <= 'f') goto yy1051;
if (yych <= '~') goto yy10;
- goto yy578;
+ goto yy583;
}
}
}
-yy1036:
+yy1053:
yych = *++cursor_;
- if (yych == 'h') goto yy1260;
+ if (yych == 'h') goto yy1284;
goto yy11;
-yy1037:
+yy1054:
yych = *++cursor_;
- if (yych == 'v') goto yy1261;
+ if (yych == 'v') goto yy1285;
goto yy11;
-yy1038:
+yy1055:
yych = *++cursor_;
- if (yych == 'l') goto yy1262;
+ if (yych == 'l') goto yy1286;
goto yy11;
-yy1039:
+yy1056:
yych = *++cursor_;
- if (yych == 't') goto yy1263;
+ if (yych == 't') goto yy1287;
goto yy11;
-yy1040:
+yy1057:
yych = *++cursor_;
- if (yych == 'a') goto yy1264;
+ if (yych == 'a') goto yy1288;
goto yy11;
-yy1041:
+yy1058:
yych = *++cursor_;
- if (yych == 'l') goto yy1265;
+ if (yych == 'l') goto yy1289;
goto yy11;
-yy1042:
+yy1059:
yych = *++cursor_;
- if (yych == 'k') goto yy1266;
+ if (yych == 'k') goto yy1290;
goto yy11;
-yy1043:
+yy1060:
yych = *++cursor_;
- if (yych == 'r') goto yy1267;
+ if (yych == 'r') goto yy1291;
goto yy11;
-yy1044:
+yy1061:
yych = *++cursor_;
- if (yych == 'e') goto yy1268;
+ if (yych == 'e') goto yy1292;
goto yy11;
-yy1045:
+yy1062:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 308 "src/wast-lexer.cc"
{ RETURN_OPCODE(Const, F32Const); }
-#line 5934 "src/prebuilt/wast-lexer-gen.cc"
-yy1047:
+#line 6030 "src/prebuilt/wast-lexer-gen.cc"
+yy1064:
yych = *++cursor_;
- if (yych == 'r') goto yy1269;
+ if (yych == 'r') goto yy1293;
goto yy11;
-yy1048:
+yy1065:
yych = *++cursor_;
- if (yych == 'i') goto yy1270;
+ if (yych == 'i') goto yy1294;
goto yy11;
-yy1049:
+yy1066:
yych = *++cursor_;
- if (yych == 'e') goto yy1271;
+ if (yych == 'e') goto yy1295;
goto yy11;
-yy1050:
+yy1067:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 326 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32Floor); }
-#line 5954 "src/prebuilt/wast-lexer-gen.cc"
-yy1052:
+#line 6050 "src/prebuilt/wast-lexer-gen.cc"
+yy1069:
yych = *++cursor_;
- if (yych == 's') goto yy1272;
+ if (yych == 's') goto yy1296;
goto yy11;
-yy1053:
+yy1070:
yych = *++cursor_;
- if (yych == 'e') goto yy1273;
+ if (yych == 'e') goto yy1297;
goto yy11;
-yy1054:
+yy1071:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 287 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, F32Store); }
-#line 5970 "src/prebuilt/wast-lexer-gen.cc"
-yy1056:
+#line 6066 "src/prebuilt/wast-lexer-gen.cc"
+yy1073:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 328 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32Trunc); }
-#line 5978 "src/prebuilt/wast-lexer-gen.cc"
-yy1058:
+#line 6074 "src/prebuilt/wast-lexer-gen.cc"
+yy1075:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 635 "src/wast-lexer.cc"
+#line 642 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32X4Abs); }
-#line 5986 "src/prebuilt/wast-lexer-gen.cc"
-yy1060:
+#line 6082 "src/prebuilt/wast-lexer-gen.cc"
+yy1077:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 641 "src/wast-lexer.cc"
+#line 648 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32X4Add); }
-#line 5994 "src/prebuilt/wast-lexer-gen.cc"
-yy1062:
+#line 6090 "src/prebuilt/wast-lexer-gen.cc"
+yy1079:
yych = *++cursor_;
- if (yych == 'v') goto yy1274;
+ if (yych == 'v') goto yy1298;
goto yy11;
-yy1063:
+yy1080:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 645 "src/wast-lexer.cc"
+#line 652 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32X4Div); }
-#line 6006 "src/prebuilt/wast-lexer-gen.cc"
-yy1065:
+#line 6102 "src/prebuilt/wast-lexer-gen.cc"
+yy1082:
yych = *++cursor_;
- if (yych == 'r') goto yy1275;
+ if (yych == 'r') goto yy1299;
goto yy11;
-yy1066:
+yy1083:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 639 "src/wast-lexer.cc"
+#line 646 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32X4Max); }
-#line 6018 "src/prebuilt/wast-lexer-gen.cc"
-yy1068:
+#line 6114 "src/prebuilt/wast-lexer-gen.cc"
+yy1085:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 637 "src/wast-lexer.cc"
+#line 644 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32X4Min); }
-#line 6026 "src/prebuilt/wast-lexer-gen.cc"
-yy1070:
+#line 6122 "src/prebuilt/wast-lexer-gen.cc"
+yy1087:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 647 "src/wast-lexer.cc"
+#line 654 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32X4Mul); }
-#line 6034 "src/prebuilt/wast-lexer-gen.cc"
-yy1072:
+#line 6130 "src/prebuilt/wast-lexer-gen.cc"
+yy1089:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 633 "src/wast-lexer.cc"
+#line 640 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32X4Neg); }
-#line 6042 "src/prebuilt/wast-lexer-gen.cc"
-yy1074:
+#line 6138 "src/prebuilt/wast-lexer-gen.cc"
+yy1091:
yych = *++cursor_;
- if (yych == 'l') goto yy1276;
+ if (yych == 'l') goto yy1300;
goto yy11;
-yy1075:
+yy1092:
yych = *++cursor_;
- if (yych == 'a') goto yy1277;
+ if (yych == 'a') goto yy1301;
goto yy11;
-yy1076:
+yy1093:
yych = *++cursor_;
- if (yych == 't') goto yy1278;
+ if (yych == 't') goto yy1302;
goto yy11;
-yy1077:
+yy1094:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 643 "src/wast-lexer.cc"
+#line 650 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32X4Sub); }
-#line 6062 "src/prebuilt/wast-lexer-gen.cc"
-yy1079:
+#line 6158 "src/prebuilt/wast-lexer-gen.cc"
+yy1096:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 309 "src/wast-lexer.cc"
{ RETURN_OPCODE(Const, F64Const); }
-#line 6070 "src/prebuilt/wast-lexer-gen.cc"
-yy1081:
+#line 6166 "src/prebuilt/wast-lexer-gen.cc"
+yy1098:
yych = *++cursor_;
- if (yych == 'r') goto yy1280;
+ if (yych == 'r') goto yy1304;
goto yy11;
-yy1082:
+yy1099:
yych = *++cursor_;
- if (yych == 'i') goto yy1281;
+ if (yych == 'i') goto yy1305;
goto yy11;
-yy1083:
+yy1100:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 327 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64Floor); }
-#line 6086 "src/prebuilt/wast-lexer-gen.cc"
-yy1085:
+#line 6182 "src/prebuilt/wast-lexer-gen.cc"
+yy1102:
yych = *++cursor_;
- if (yych == 's') goto yy1282;
+ if (yych == 's') goto yy1306;
goto yy11;
-yy1086:
+yy1103:
yych = *++cursor_;
- if (yych == 't') goto yy1283;
+ if (yych == 't') goto yy1307;
goto yy11;
-yy1087:
+yy1104:
yych = *++cursor_;
- if (yych == 'e') goto yy1284;
+ if (yych == 'e') goto yy1308;
goto yy11;
-yy1088:
+yy1105:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 288 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, F64Store); }
-#line 6106 "src/prebuilt/wast-lexer-gen.cc"
-yy1090:
+#line 6202 "src/prebuilt/wast-lexer-gen.cc"
+yy1107:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 329 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64Trunc); }
-#line 6114 "src/prebuilt/wast-lexer-gen.cc"
-yy1092:
+#line 6210 "src/prebuilt/wast-lexer-gen.cc"
+yy1109:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 636 "src/wast-lexer.cc"
+#line 643 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64X2Abs); }
-#line 6122 "src/prebuilt/wast-lexer-gen.cc"
-yy1094:
+#line 6218 "src/prebuilt/wast-lexer-gen.cc"
+yy1111:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 642 "src/wast-lexer.cc"
+#line 649 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64X2Add); }
-#line 6130 "src/prebuilt/wast-lexer-gen.cc"
-yy1096:
+#line 6226 "src/prebuilt/wast-lexer-gen.cc"
+yy1113:
yych = *++cursor_;
- if (yych == 'v') goto yy1285;
+ if (yych == 'v') goto yy1309;
goto yy11;
-yy1097:
+yy1114:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 646 "src/wast-lexer.cc"
+#line 653 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64X2Div); }
-#line 6142 "src/prebuilt/wast-lexer-gen.cc"
-yy1099:
+#line 6238 "src/prebuilt/wast-lexer-gen.cc"
+yy1116:
yych = *++cursor_;
- if (yych == 'r') goto yy1286;
+ if (yych == 'r') goto yy1310;
goto yy11;
-yy1100:
+yy1117:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 640 "src/wast-lexer.cc"
+#line 647 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64X2Max); }
-#line 6154 "src/prebuilt/wast-lexer-gen.cc"
-yy1102:
+#line 6250 "src/prebuilt/wast-lexer-gen.cc"
+yy1119:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 638 "src/wast-lexer.cc"
+#line 645 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64X2Min); }
-#line 6162 "src/prebuilt/wast-lexer-gen.cc"
-yy1104:
+#line 6258 "src/prebuilt/wast-lexer-gen.cc"
+yy1121:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 648 "src/wast-lexer.cc"
+#line 655 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64X2Mul); }
-#line 6170 "src/prebuilt/wast-lexer-gen.cc"
-yy1106:
+#line 6266 "src/prebuilt/wast-lexer-gen.cc"
+yy1123:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 634 "src/wast-lexer.cc"
+#line 641 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64X2Neg); }
-#line 6178 "src/prebuilt/wast-lexer-gen.cc"
-yy1108:
+#line 6274 "src/prebuilt/wast-lexer-gen.cc"
+yy1125:
yych = *++cursor_;
- if (yych == 'l') goto yy1287;
+ if (yych == 'l') goto yy1311;
goto yy11;
-yy1109:
+yy1126:
yych = *++cursor_;
- if (yych == 'a') goto yy1288;
+ if (yych == 'a') goto yy1312;
goto yy11;
-yy1110:
+yy1127:
yych = *++cursor_;
- if (yych == 't') goto yy1289;
+ if (yych == 't') goto yy1313;
goto yy11;
-yy1111:
+yy1128:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 644 "src/wast-lexer.cc"
+#line 651 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64X2Sub); }
-#line 6198 "src/prebuilt/wast-lexer-gen.cc"
-yy1113:
+#line 6294 "src/prebuilt/wast-lexer-gen.cc"
+yy1130:
yych = *++cursor_;
- if (yych == 'l') goto yy1291;
+ if (yych == 'l') goto yy1315;
goto yy11;
-yy1114:
+yy1131:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 276 "src/wast-lexer.cc"
{ RETURN_OPCODE0(GetLocal); }
-#line 6210 "src/prebuilt/wast-lexer-gen.cc"
-yy1116:
+#line 6306 "src/prebuilt/wast-lexer-gen.cc"
+yy1133:
yych = *++cursor_;
- if (yych == 'r') goto yy1293;
+ if (yych == 'r') goto yy1317;
goto yy11;
-yy1117:
+yy1134:
yych = *++cursor_;
if (yych <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy1118;
+ if (yych <= '"') goto yy1135;
if (yych <= '\'') goto yy10;
}
} else {
if (yych <= '^') {
if (yych != ';') goto yy10;
} else {
- if (yych <= '_') goto yy1294;
+ if (yych <= '_') goto yy1318;
if (yych <= '~') goto yy10;
}
}
-yy1118:
-#line 544 "src/wast-lexer.cc"
+yy1135:
+#line 551 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8Add); }
-#line 6235 "src/prebuilt/wast-lexer-gen.cc"
-yy1119:
+#line 6331 "src/prebuilt/wast-lexer-gen.cc"
+yy1136:
yych = *++cursor_;
- if (yych == '_') goto yy1295;
+ if (yych == '_') goto yy1319;
goto yy11;
-yy1120:
+yy1137:
yych = *++cursor_;
- if (yych == '_') goto yy1296;
+ if (yych == '_') goto yy1320;
goto yy11;
-yy1121:
+yy1138:
yych = *++cursor_;
- if (yych == 'r') goto yy1297;
+ if (yych == 'r') goto yy1321;
goto yy11;
-yy1122:
+yy1139:
yych = *++cursor_;
- if (yych == 's') goto yy1298;
- if (yych == 'u') goto yy1300;
+ if (yych == 's') goto yy1322;
+ if (yych == 'u') goto yy1324;
goto yy11;
-yy1123:
+yy1140:
yych = *++cursor_;
- if (yych == 's') goto yy1302;
- if (yych == 'u') goto yy1304;
+ if (yych == 's') goto yy1326;
+ if (yych == 'u') goto yy1328;
goto yy11;
-yy1124:
+yy1141:
yych = *++cursor_;
- if (yych == 's') goto yy1306;
- if (yych == 'u') goto yy1308;
+ if (yych == 's') goto yy1330;
+ if (yych == 'u') goto yy1332;
goto yy11;
-yy1125:
+yy1142:
yych = *++cursor_;
- if (yych == 's') goto yy1310;
- if (yych == 'u') goto yy1312;
+ if (yych == 's') goto yy1334;
+ if (yych == 'u') goto yy1336;
goto yy11;
-yy1126:
+yy1143:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 552 "src/wast-lexer.cc"
+#line 559 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8Mul); }
-#line 6275 "src/prebuilt/wast-lexer-gen.cc"
-yy1128:
+#line 6371 "src/prebuilt/wast-lexer-gen.cc"
+yy1145:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 555 "src/wast-lexer.cc"
+#line 562 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I16X8Neg); }
-#line 6283 "src/prebuilt/wast-lexer-gen.cc"
-yy1130:
+#line 6379 "src/prebuilt/wast-lexer-gen.cc"
+yy1147:
yych = *++cursor_;
- if (yych == 'l') goto yy1314;
+ if (yych == 'l') goto yy1338;
goto yy11;
-yy1131:
+yy1148:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 567 "src/wast-lexer.cc"
+#line 574 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8Shl); }
-#line 6295 "src/prebuilt/wast-lexer-gen.cc"
-yy1133:
+#line 6391 "src/prebuilt/wast-lexer-gen.cc"
+yy1150:
yych = *++cursor_;
- if (yych == '_') goto yy1315;
+ if (yych == '_') goto yy1339;
goto yy11;
-yy1134:
+yy1151:
yych = *++cursor_;
- if (yych == 'a') goto yy1316;
+ if (yych == 'a') goto yy1340;
goto yy11;
-yy1135:
+yy1152:
yych = *++cursor_;
if (yych <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy1136;
+ if (yych <= '"') goto yy1153;
if (yych <= '\'') goto yy10;
}
} else {
if (yych <= '^') {
if (yych != ';') goto yy10;
} else {
- if (yych <= '_') goto yy1317;
+ if (yych <= '_') goto yy1341;
if (yych <= '~') goto yy10;
}
}
-yy1136:
-#line 548 "src/wast-lexer.cc"
+yy1153:
+#line 555 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8Sub); }
-#line 6324 "src/prebuilt/wast-lexer-gen.cc"
-yy1137:
+#line 6420 "src/prebuilt/wast-lexer-gen.cc"
+yy1154:
yych = *++cursor_;
- if (yych == 'c') goto yy1318;
+ if (yych == 'c') goto yy1342;
goto yy11;
-yy1138:
+yy1155:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 306 "src/wast-lexer.cc"
{ RETURN_OPCODE(Const, I32Const); }
-#line 6336 "src/prebuilt/wast-lexer-gen.cc"
-yy1140:
+#line 6432 "src/prebuilt/wast-lexer-gen.cc"
+yy1157:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 343 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32DivS); }
-#line 6344 "src/prebuilt/wast-lexer-gen.cc"
-yy1142:
+#line 6440 "src/prebuilt/wast-lexer-gen.cc"
+yy1159:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 345 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32DivU); }
-#line 6352 "src/prebuilt/wast-lexer-gen.cc"
-yy1144:
+#line 6448 "src/prebuilt/wast-lexer-gen.cc"
+yy1161:
yych = *++cursor_;
- if (yych == 'd') goto yy1319;
+ if (yych == 'd') goto yy1343;
goto yy11;
-yy1145:
+yy1162:
yych = *++cursor_;
- if (yych == '6') goto yy1320;
+ if (yych == '6') goto yy1344;
goto yy11;
-yy1146:
+yy1163:
yych = *++cursor_;
- if (yych == '_') goto yy1321;
+ if (yych == '_') goto yy1345;
goto yy11;
-yy1147:
+yy1164:
yych = *++cursor_;
- if (yych == 't') goto yy1322;
+ if (yych == 't') goto yy1346;
goto yy11;
-yy1148:
+yy1165:
yych = *++cursor_;
- if (yych == 'e') goto yy1324;
+ if (yych == 'e') goto yy1348;
goto yy11;
-yy1149:
+yy1166:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 347 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32RemS); }
-#line 6380 "src/prebuilt/wast-lexer-gen.cc"
-yy1151:
+#line 6476 "src/prebuilt/wast-lexer-gen.cc"
+yy1168:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 349 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32RemU); }
-#line 6388 "src/prebuilt/wast-lexer-gen.cc"
-yy1153:
+#line 6484 "src/prebuilt/wast-lexer-gen.cc"
+yy1170:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 359 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32ShrS); }
-#line 6396 "src/prebuilt/wast-lexer-gen.cc"
-yy1155:
+#line 6492 "src/prebuilt/wast-lexer-gen.cc"
+yy1172:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 361 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32ShrU); }
-#line 6404 "src/prebuilt/wast-lexer-gen.cc"
-yy1157:
+#line 6500 "src/prebuilt/wast-lexer-gen.cc"
+yy1174:
yych = *++cursor_;
if (yych <= '0') {
if (yych <= '"') {
@@ -6412,414 +6508,430 @@ yy1157:
}
} else {
if (yych <= '8') {
- if (yych <= '1') goto yy1325;
+ if (yych <= '1') goto yy1349;
if (yych <= '7') goto yy10;
- goto yy1326;
+ goto yy1350;
} else {
- if (yych == ';') goto yy1158;
+ if (yych == ';') goto yy1175;
if (yych <= '~') goto yy10;
}
}
-yy1158:
+yy1175:
#line 285 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, I32Store); }
-#line 6427 "src/prebuilt/wast-lexer-gen.cc"
-yy1159:
+#line 6523 "src/prebuilt/wast-lexer-gen.cc"
+yy1176:
yych = *++cursor_;
- if (yych == '_') goto yy1328;
+ if (yych == '_') goto yy1352;
goto yy11;
-yy1160:
+yy1177:
yych = *++cursor_;
- if (yych == 'i') goto yy1329;
+ if (yych == 'i') goto yy1353;
goto yy11;
-yy1161:
+yy1178:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 545 "src/wast-lexer.cc"
+#line 552 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32X4Add); }
-#line 6443 "src/prebuilt/wast-lexer-gen.cc"
-yy1163:
+#line 6539 "src/prebuilt/wast-lexer-gen.cc"
+yy1180:
yych = *++cursor_;
- if (yych == '_') goto yy1330;
+ if (yych == '_') goto yy1354;
goto yy11;
-yy1164:
+yy1181:
yych = *++cursor_;
- if (yych == '_') goto yy1331;
+ if (yych == '_') goto yy1355;
goto yy11;
-yy1165:
+yy1182:
yych = *++cursor_;
- if (yych == 'r') goto yy1332;
+ if (yych == 'r') goto yy1356;
goto yy11;
-yy1166:
+yy1183:
yych = *++cursor_;
- if (yych == 's') goto yy1333;
- if (yych == 'u') goto yy1335;
+ if (yych == 's') goto yy1357;
+ if (yych == 'u') goto yy1359;
goto yy11;
-yy1167:
+yy1184:
yych = *++cursor_;
- if (yych == 's') goto yy1337;
- if (yych == 'u') goto yy1339;
+ if (yych == 's') goto yy1361;
+ if (yych == 'u') goto yy1363;
goto yy11;
-yy1168:
+yy1185:
yych = *++cursor_;
- if (yych == 's') goto yy1341;
- if (yych == 'u') goto yy1343;
+ if (yych == 's') goto yy1365;
+ if (yych == 'u') goto yy1367;
goto yy11;
-yy1169:
+yy1186:
yych = *++cursor_;
- if (yych == 's') goto yy1345;
- if (yych == 'u') goto yy1347;
+ if (yych == 's') goto yy1369;
+ if (yych == 'u') goto yy1371;
goto yy11;
-yy1170:
+yy1187:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 553 "src/wast-lexer.cc"
+#line 560 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32X4Mul); }
-#line 6483 "src/prebuilt/wast-lexer-gen.cc"
-yy1172:
+#line 6579 "src/prebuilt/wast-lexer-gen.cc"
+yy1189:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 556 "src/wast-lexer.cc"
+#line 563 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I32X4Neg); }
-#line 6491 "src/prebuilt/wast-lexer-gen.cc"
-yy1174:
+#line 6587 "src/prebuilt/wast-lexer-gen.cc"
+yy1191:
yych = *++cursor_;
- if (yych == 'l') goto yy1349;
+ if (yych == 'l') goto yy1373;
goto yy11;
-yy1175:
+yy1192:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 568 "src/wast-lexer.cc"
+#line 575 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32X4Shl); }
-#line 6503 "src/prebuilt/wast-lexer-gen.cc"
-yy1177:
+#line 6599 "src/prebuilt/wast-lexer-gen.cc"
+yy1194:
yych = *++cursor_;
- if (yych == '_') goto yy1350;
+ if (yych == '_') goto yy1374;
goto yy11;
-yy1178:
+yy1195:
yych = *++cursor_;
- if (yych == 'a') goto yy1351;
+ if (yych == 'a') goto yy1375;
goto yy11;
-yy1179:
+yy1196:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 549 "src/wast-lexer.cc"
+#line 556 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32X4Sub); }
-#line 6519 "src/prebuilt/wast-lexer-gen.cc"
-yy1181:
+#line 6615 "src/prebuilt/wast-lexer-gen.cc"
+yy1198:
yych = *++cursor_;
- if (yych == 'n') goto yy1352;
+ if (yych == 'n') goto yy1376;
goto yy11;
-yy1182:
+yy1199:
yych = *++cursor_;
- if (yych == 'c') goto yy1353;
+ if (yych == 'c') goto yy1377;
goto yy11;
-yy1183:
+yy1200:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 307 "src/wast-lexer.cc"
{ RETURN_OPCODE(Const, I64Const); }
-#line 6535 "src/prebuilt/wast-lexer-gen.cc"
-yy1185:
+#line 6631 "src/prebuilt/wast-lexer-gen.cc"
+yy1202:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 344 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64DivS); }
-#line 6543 "src/prebuilt/wast-lexer-gen.cc"
-yy1187:
+#line 6639 "src/prebuilt/wast-lexer-gen.cc"
+yy1204:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 346 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64DivU); }
-#line 6551 "src/prebuilt/wast-lexer-gen.cc"
-yy1189:
+#line 6647 "src/prebuilt/wast-lexer-gen.cc"
+yy1206:
yych = *++cursor_;
- if (yych == 'd') goto yy1354;
+ if (yych == 'd') goto yy1378;
goto yy11;
-yy1190:
+yy1207:
yych = *++cursor_;
- if (yych == '6') goto yy1355;
+ if (yych == '6') goto yy1379;
goto yy11;
-yy1191:
+yy1208:
yych = *++cursor_;
- if (yych == '2') goto yy1356;
+ if (yych == '2') goto yy1380;
goto yy11;
-yy1192:
+yy1209:
yych = *++cursor_;
- if (yych == '_') goto yy1357;
+ if (yych == '_') goto yy1381;
goto yy11;
-yy1193:
+yy1210:
yych = *++cursor_;
- if (yych == 't') goto yy1358;
+ if (yych == 't') goto yy1382;
goto yy11;
-yy1194:
+yy1211:
yych = *++cursor_;
- if (yych == 'e') goto yy1360;
+ if (yych == 'e') goto yy1384;
goto yy11;
-yy1195:
+yy1212:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 348 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64RemS); }
-#line 6583 "src/prebuilt/wast-lexer-gen.cc"
-yy1197:
+#line 6679 "src/prebuilt/wast-lexer-gen.cc"
+yy1214:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 350 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64RemU); }
-#line 6591 "src/prebuilt/wast-lexer-gen.cc"
-yy1199:
+#line 6687 "src/prebuilt/wast-lexer-gen.cc"
+yy1216:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 360 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64ShrS); }
-#line 6599 "src/prebuilt/wast-lexer-gen.cc"
-yy1201:
+#line 6695 "src/prebuilt/wast-lexer-gen.cc"
+yy1218:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 362 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64ShrU); }
-#line 6607 "src/prebuilt/wast-lexer-gen.cc"
-yy1203:
+#line 6703 "src/prebuilt/wast-lexer-gen.cc"
+yy1220:
yych = *++cursor_;
if (yych <= '1') {
if (yych <= '"') {
if (yych == '!') goto yy10;
} else {
if (yych <= '\'') goto yy10;
- if (yych <= ')') goto yy1204;
+ if (yych <= ')') goto yy1221;
if (yych <= '0') goto yy10;
- goto yy1361;
+ goto yy1385;
}
} else {
if (yych <= '8') {
- if (yych == '3') goto yy1362;
+ if (yych == '3') goto yy1386;
if (yych <= '7') goto yy10;
- goto yy1363;
+ goto yy1387;
} else {
- if (yych == ';') goto yy1204;
+ if (yych == ';') goto yy1221;
if (yych <= '~') goto yy10;
}
}
-yy1204:
+yy1221:
#line 286 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, I64Store); }
-#line 6632 "src/prebuilt/wast-lexer-gen.cc"
-yy1205:
+#line 6728 "src/prebuilt/wast-lexer-gen.cc"
+yy1222:
yych = *++cursor_;
- if (yych == '_') goto yy1365;
+ if (yych == '_') goto yy1389;
goto yy11;
-yy1206:
+yy1223:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 546 "src/wast-lexer.cc"
+#line 553 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64X2Add); }
-#line 6644 "src/prebuilt/wast-lexer-gen.cc"
-yy1208:
+#line 6740 "src/prebuilt/wast-lexer-gen.cc"
+yy1225:
yych = *++cursor_;
- if (yych == '_') goto yy1366;
+ if (yych == '_') goto yy1390;
goto yy11;
-yy1209:
+yy1226:
yych = *++cursor_;
- if (yych == '_') goto yy1367;
+ if (yych == '_') goto yy1391;
goto yy11;
-yy1210:
+yy1227:
yych = *++cursor_;
- if (yych == 'r') goto yy1368;
+ if (yych == 'r') goto yy1392;
goto yy11;
-yy1211:
+yy1228:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 557 "src/wast-lexer.cc"
+#line 564 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64X2Neg); }
-#line 6664 "src/prebuilt/wast-lexer-gen.cc"
-yy1213:
+#line 6760 "src/prebuilt/wast-lexer-gen.cc"
+yy1230:
yych = *++cursor_;
- if (yych == 'l') goto yy1369;
+ if (yych == 'l') goto yy1393;
goto yy11;
-yy1214:
+yy1231:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 569 "src/wast-lexer.cc"
+#line 576 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64X2Shl); }
-#line 6676 "src/prebuilt/wast-lexer-gen.cc"
-yy1216:
+#line 6772 "src/prebuilt/wast-lexer-gen.cc"
+yy1233:
yych = *++cursor_;
- if (yych == '_') goto yy1370;
+ if (yych == '_') goto yy1394;
goto yy11;
-yy1217:
+yy1234:
yych = *++cursor_;
- if (yych == 'a') goto yy1371;
+ if (yych == 'a') goto yy1395;
goto yy11;
-yy1218:
+yy1235:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 550 "src/wast-lexer.cc"
+#line 557 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64X2Sub); }
-#line 6692 "src/prebuilt/wast-lexer-gen.cc"
-yy1220:
+#line 6788 "src/prebuilt/wast-lexer-gen.cc"
+yy1237:
yych = *++cursor_;
- if (yych == 'n') goto yy1372;
+ if (yych == 'n') goto yy1396;
goto yy11;
-yy1221:
+yy1238:
yych = *++cursor_;
if (yych <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy1222;
+ if (yych <= '"') goto yy1239;
if (yych <= '\'') goto yy10;
}
} else {
if (yych <= '^') {
if (yych != ';') goto yy10;
} else {
- if (yych <= '_') goto yy1373;
+ if (yych <= '_') goto yy1397;
if (yych <= '~') goto yy10;
}
}
-yy1222:
-#line 543 "src/wast-lexer.cc"
+yy1239:
+#line 550 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16Add); }
-#line 6717 "src/prebuilt/wast-lexer-gen.cc"
-yy1223:
+#line 6813 "src/prebuilt/wast-lexer-gen.cc"
+yy1240:
yych = *++cursor_;
- if (yych == '_') goto yy1374;
+ if (yych == '_') goto yy1398;
goto yy11;
-yy1224:
+yy1241:
yych = *++cursor_;
- if (yych == '_') goto yy1375;
+ if (yych == '_') goto yy1399;
goto yy11;
-yy1225:
+yy1242:
yych = *++cursor_;
- if (yych == 'r') goto yy1376;
+ if (yych == 'r') goto yy1400;
goto yy11;
-yy1226:
+yy1243:
yych = *++cursor_;
- if (yych == 's') goto yy1377;
- if (yych == 'u') goto yy1379;
+ if (yych == 's') goto yy1401;
+ if (yych == 'u') goto yy1403;
goto yy11;
-yy1227:
+yy1244:
yych = *++cursor_;
- if (yych == 's') goto yy1381;
- if (yych == 'u') goto yy1383;
+ if (yych == 's') goto yy1405;
+ if (yych == 'u') goto yy1407;
goto yy11;
-yy1228:
+yy1245:
yych = *++cursor_;
- if (yych == 's') goto yy1385;
- if (yych == 'u') goto yy1387;
+ if (yych == 's') goto yy1409;
+ if (yych == 'u') goto yy1411;
goto yy11;
-yy1229:
+yy1246:
yych = *++cursor_;
- if (yych == 's') goto yy1389;
- if (yych == 'u') goto yy1391;
+ if (yych == 's') goto yy1413;
+ if (yych == 'u') goto yy1415;
goto yy11;
-yy1230:
+yy1247:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 551 "src/wast-lexer.cc"
+#line 558 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16Mul); }
-#line 6757 "src/prebuilt/wast-lexer-gen.cc"
-yy1232:
+#line 6853 "src/prebuilt/wast-lexer-gen.cc"
+yy1249:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 554 "src/wast-lexer.cc"
+#line 561 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I8X16Neg); }
-#line 6765 "src/prebuilt/wast-lexer-gen.cc"
-yy1234:
+#line 6861 "src/prebuilt/wast-lexer-gen.cc"
+yy1251:
yych = *++cursor_;
- if (yych == 'l') goto yy1393;
+ if (yych == 'l') goto yy1417;
goto yy11;
-yy1235:
+yy1252:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 566 "src/wast-lexer.cc"
+#line 573 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16Shl); }
-#line 6777 "src/prebuilt/wast-lexer-gen.cc"
-yy1237:
+#line 6873 "src/prebuilt/wast-lexer-gen.cc"
+yy1254:
yych = *++cursor_;
- if (yych == '_') goto yy1394;
+ if (yych == '_') goto yy1418;
goto yy11;
-yy1238:
+yy1255:
yych = *++cursor_;
- if (yych == 'a') goto yy1395;
+ if (yych == 'a') goto yy1419;
goto yy11;
-yy1239:
+yy1256:
yych = *++cursor_;
if (yych <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy1240;
+ if (yych <= '"') goto yy1257;
if (yych <= '\'') goto yy10;
}
} else {
if (yych <= '^') {
if (yych != ';') goto yy10;
} else {
- if (yych <= '_') goto yy1396;
+ if (yych <= '_') goto yy1420;
if (yych <= '~') goto yy10;
}
}
-yy1240:
-#line 547 "src/wast-lexer.cc"
+yy1257:
+#line 554 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16Sub); }
-#line 6806 "src/prebuilt/wast-lexer-gen.cc"
-yy1241:
+#line 6902 "src/prebuilt/wast-lexer-gen.cc"
+yy1258:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 695 "src/wast-lexer.cc"
+#line 703 "src/wast-lexer.cc"
{ RETURN_OPCODE0(IfExcept); }
-#line 6814 "src/prebuilt/wast-lexer-gen.cc"
-yy1243:
+#line 6910 "src/prebuilt/wast-lexer-gen.cc"
+yy1260:
yych = *++cursor_;
- if (yych == 'o') goto yy1397;
+ if (yych == 'p') goto yy1421;
goto yy11;
-yy1244:
+yy1261:
yych = *++cursor_;
- if (yych == 'z') goto yy1398;
+ if (yych == 'o') goto yy1422;
goto yy11;
-yy1245:
+yy1262:
+ yych = *++cursor_;
+ if (yych == 'l') goto yy1423;
+ goto yy11;
+yy1263:
+ yych = *++cursor_;
+ if (yych == 'o') goto yy1424;
+ goto yy11;
+yy1264:
+ yych = *++cursor_;
+ if (yych == 'i') goto yy1425;
+ goto yy11;
+yy1265:
+ yych = *++cursor_;
+ if (yych == 'z') goto yy1426;
+ goto yy11;
+yy1266:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
@@ -6835,7 +6947,7 @@ yy1245:
} else {
if (yych <= ':') {
if (yych <= '/') goto yy10;
- if (yych <= '9') goto yy1014;
+ if (yych <= '9') goto yy1028;
goto yy10;
} else {
if (yych <= ';') goto yy12;
@@ -6843,7 +6955,7 @@ yy1245:
goto yy12;
}
}
-yy1246:
+yy1267:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
@@ -6855,2399 +6967,2483 @@ yy1246:
if (yych <= '\'') goto yy10;
if (yych <= ')') goto yy12;
if (yych <= '/') goto yy10;
- goto yy1399;
+ goto yy1427;
}
} else {
if (yych <= 'F') {
if (yych == ';') goto yy12;
if (yych <= '@') goto yy10;
- goto yy1399;
+ goto yy1427;
} else {
if (yych <= '`') goto yy10;
- if (yych <= 'f') goto yy1399;
+ if (yych <= 'f') goto yy1427;
if (yych <= '~') goto yy10;
goto yy12;
}
}
-yy1247:
+yy1268:
yych = *++cursor_;
- if (yych == 'l') goto yy1401;
+ if (yych == 'l') goto yy1429;
goto yy11;
-yy1248:
+yy1269:
yych = *++cursor_;
- if (yych == 'l') goto yy1402;
+ if (yych == 'l') goto yy1430;
goto yy11;
-yy1249:
+yy1270:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 277 "src/wast-lexer.cc"
{ RETURN_OPCODE0(SetLocal); }
-#line 6888 "src/prebuilt/wast-lexer-gen.cc"
-yy1251:
+#line 7000 "src/prebuilt/wast-lexer-gen.cc"
+yy1272:
+ yych = *++cursor_;
+ if (yych == 'y') goto yy1432;
+ goto yy11;
+yy1273:
+ yych = *++cursor_;
+ if (yych == 'p') goto yy1434;
+ goto yy11;
+yy1274:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1436;
+ goto yy11;
+yy1275:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 278 "src/wast-lexer.cc"
{ RETURN_OPCODE0(TeeLocal); }
-#line 6896 "src/prebuilt/wast-lexer-gen.cc"
-yy1253:
+#line 7020 "src/prebuilt/wast-lexer-gen.cc"
+yy1277:
yych = *++cursor_;
- if (yych == 'l') goto yy1404;
+ if (yych == 'l') goto yy1438;
goto yy11;
-yy1254:
+yy1278:
yych = *++cursor_;
- if (yych == 'e') goto yy1405;
+ if (yych == 'e') goto yy1439;
goto yy11;
-yy1255:
+yy1279:
yych = *++cursor_;
- if (yych == 't') goto yy1406;
+ if (yych == 't') goto yy1440;
goto yy11;
-yy1256:
+yy1280:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 520 "src/wast-lexer.cc"
+#line 527 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, V128Load); }
-#line 6916 "src/prebuilt/wast-lexer-gen.cc"
-yy1258:
+#line 7040 "src/prebuilt/wast-lexer-gen.cc"
+yy1282:
yych = *++cursor_;
- if (yych == 'e') goto yy1408;
+ if (yych == 'e') goto yy1442;
goto yy11;
-yy1259:
+yy1283:
yych = *++cursor_;
- if (yych == 'f') goto yy1410;
+ if (yych == 'f') goto yy1444;
goto yy11;
-yy1260:
+yy1284:
yych = *++cursor_;
- if (yych == 'a') goto yy1411;
+ if (yych == 'a') goto yy1445;
goto yy11;
-yy1261:
+yy1285:
yych = *++cursor_;
- if (yych == 'a') goto yy1412;
+ if (yych == 'a') goto yy1446;
goto yy11;
-yy1262:
+yy1286:
yych = *++cursor_;
- if (yych == 'f') goto yy1413;
+ if (yych == 'f') goto yy1447;
goto yy11;
-yy1263:
+yy1287:
yych = *++cursor_;
- if (yych == 'u') goto yy1414;
+ if (yych == 'u') goto yy1448;
goto yy11;
-yy1264:
+yy1288:
yych = *++cursor_;
- if (yych == 'p') goto yy1415;
+ if (yych == 'p') goto yy1449;
goto yy11;
-yy1265:
+yy1289:
yych = *++cursor_;
- if (yych == 'i') goto yy1417;
+ if (yych == 'i') goto yy1451;
goto yy11;
-yy1266:
+yy1290:
yych = *++cursor_;
- if (yych == 'e') goto yy1418;
+ if (yych == 'e') goto yy1452;
goto yy11;
-yy1267:
+yy1291:
yych = *++cursor_;
- if (yych == 'e') goto yy1420;
+ if (yych == 'e') goto yy1454;
goto yy11;
-yy1268:
+yy1292:
yych = *++cursor_;
- if (yych == 'm') goto yy1421;
+ if (yych == 'm') goto yy1455;
goto yy11;
-yy1269:
+yy1293:
yych = *++cursor_;
- if (yych == 't') goto yy1422;
+ if (yych == 't') goto yy1456;
goto yy11;
-yy1270:
+yy1294:
yych = *++cursor_;
- if (yych == 'g') goto yy1423;
+ if (yych == 'g') goto yy1457;
goto yy11;
-yy1271:
+yy1295:
yych = *++cursor_;
- if (yych == '/') goto yy1424;
+ if (yych == '/') goto yy1458;
goto yy11;
-yy1272:
+yy1296:
yych = *++cursor_;
- if (yych == 't') goto yy1425;
+ if (yych == 't') goto yy1459;
goto yy11;
-yy1273:
+yy1297:
yych = *++cursor_;
- if (yych == 'r') goto yy1427;
+ if (yych == 'r') goto yy1461;
goto yy11;
-yy1274:
+yy1298:
yych = *++cursor_;
- if (yych == 'e') goto yy1428;
+ if (yych == 'e') goto yy1462;
goto yy11;
-yy1275:
+yy1299:
yych = *++cursor_;
- if (yych == 'a') goto yy1429;
+ if (yych == 'a') goto yy1463;
goto yy11;
-yy1276:
+yy1300:
yych = *++cursor_;
- if (yych == 'a') goto yy1430;
+ if (yych == 'a') goto yy1464;
goto yy11;
-yy1277:
+yy1301:
yych = *++cursor_;
- if (yych == 't') goto yy1431;
+ if (yych == 't') goto yy1465;
goto yy11;
-yy1278:
+yy1302:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 649 "src/wast-lexer.cc"
+#line 656 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32X4Sqrt); }
-#line 7004 "src/prebuilt/wast-lexer-gen.cc"
-yy1280:
+#line 7128 "src/prebuilt/wast-lexer-gen.cc"
+yy1304:
yych = *++cursor_;
- if (yych == 't') goto yy1433;
+ if (yych == 't') goto yy1467;
goto yy11;
-yy1281:
+yy1305:
yych = *++cursor_;
- if (yych == 'g') goto yy1434;
+ if (yych == 'g') goto yy1468;
goto yy11;
-yy1282:
+yy1306:
yych = *++cursor_;
- if (yych == 't') goto yy1435;
+ if (yych == 't') goto yy1469;
goto yy11;
-yy1283:
+yy1307:
yych = *++cursor_;
- if (yych == 'e') goto yy1437;
+ if (yych == 'e') goto yy1471;
goto yy11;
-yy1284:
+yy1308:
yych = *++cursor_;
- if (yych == 'r') goto yy1438;
+ if (yych == 'r') goto yy1472;
goto yy11;
-yy1285:
+yy1309:
yych = *++cursor_;
- if (yych == 'e') goto yy1439;
+ if (yych == 'e') goto yy1473;
goto yy11;
-yy1286:
+yy1310:
yych = *++cursor_;
- if (yych == 'a') goto yy1440;
+ if (yych == 'a') goto yy1474;
goto yy11;
-yy1287:
+yy1311:
yych = *++cursor_;
- if (yych == 'a') goto yy1441;
+ if (yych == 'a') goto yy1475;
goto yy11;
-yy1288:
+yy1312:
yych = *++cursor_;
- if (yych == 't') goto yy1442;
+ if (yych == 't') goto yy1476;
goto yy11;
-yy1289:
+yy1313:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 650 "src/wast-lexer.cc"
+#line 657 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64X2Sqrt); }
-#line 7048 "src/prebuilt/wast-lexer-gen.cc"
-yy1291:
+#line 7172 "src/prebuilt/wast-lexer-gen.cc"
+yy1315:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 279 "src/wast-lexer.cc"
{ RETURN_OPCODE0(GetGlobal); }
-#line 7056 "src/prebuilt/wast-lexer-gen.cc"
-yy1293:
+#line 7180 "src/prebuilt/wast-lexer-gen.cc"
+yy1317:
yych = *++cursor_;
- if (yych == 'y') goto yy1444;
+ if (yych == 'y') goto yy1478;
goto yy11;
-yy1294:
+yy1318:
yych = *++cursor_;
- if (yych == 's') goto yy1446;
+ if (yych == 's') goto yy1480;
goto yy11;
-yy1295:
+yy1319:
yych = *++cursor_;
- if (yych == 't') goto yy1447;
+ if (yych == 't') goto yy1481;
goto yy11;
-yy1296:
+yy1320:
yych = *++cursor_;
- if (yych == 't') goto yy1448;
+ if (yych == 't') goto yy1482;
goto yy11;
-yy1297:
+yy1321:
yych = *++cursor_;
- if (yych == 'a') goto yy1449;
+ if (yych == 'a') goto yy1483;
goto yy11;
-yy1298:
+yy1322:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 627 "src/wast-lexer.cc"
+#line 634 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I16X8GeS); }
-#line 7084 "src/prebuilt/wast-lexer-gen.cc"
-yy1300:
+#line 7208 "src/prebuilt/wast-lexer-gen.cc"
+yy1324:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 628 "src/wast-lexer.cc"
+#line 635 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I16X8GeU); }
-#line 7092 "src/prebuilt/wast-lexer-gen.cc"
-yy1302:
+#line 7216 "src/prebuilt/wast-lexer-gen.cc"
+yy1326:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 619 "src/wast-lexer.cc"
+#line 626 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I16X8GtS); }
-#line 7100 "src/prebuilt/wast-lexer-gen.cc"
-yy1304:
+#line 7224 "src/prebuilt/wast-lexer-gen.cc"
+yy1328:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 620 "src/wast-lexer.cc"
+#line 627 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I16X8GtU); }
-#line 7108 "src/prebuilt/wast-lexer-gen.cc"
-yy1306:
+#line 7232 "src/prebuilt/wast-lexer-gen.cc"
+yy1330:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 611 "src/wast-lexer.cc"
+#line 618 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I16X8LeS); }
-#line 7116 "src/prebuilt/wast-lexer-gen.cc"
-yy1308:
+#line 7240 "src/prebuilt/wast-lexer-gen.cc"
+yy1332:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 612 "src/wast-lexer.cc"
+#line 619 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I16X8LeU); }
-#line 7124 "src/prebuilt/wast-lexer-gen.cc"
-yy1310:
+#line 7248 "src/prebuilt/wast-lexer-gen.cc"
+yy1334:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 603 "src/wast-lexer.cc"
+#line 610 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I16X8LtS); }
-#line 7132 "src/prebuilt/wast-lexer-gen.cc"
-yy1312:
+#line 7256 "src/prebuilt/wast-lexer-gen.cc"
+yy1336:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 604 "src/wast-lexer.cc"
+#line 611 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I16X8LtU); }
-#line 7140 "src/prebuilt/wast-lexer-gen.cc"
-yy1314:
+#line 7264 "src/prebuilt/wast-lexer-gen.cc"
+yy1338:
yych = *++cursor_;
- if (yych == 'a') goto yy1450;
+ if (yych == 'a') goto yy1484;
goto yy11;
-yy1315:
+yy1339:
yych = *++cursor_;
- if (yych == 's') goto yy1451;
- if (yych == 'u') goto yy1453;
+ if (yych == 's') goto yy1485;
+ if (yych == 'u') goto yy1487;
goto yy11;
-yy1316:
+yy1340:
yych = *++cursor_;
- if (yych == 't') goto yy1455;
+ if (yych == 't') goto yy1489;
goto yy11;
-yy1317:
+yy1341:
yych = *++cursor_;
- if (yych == 's') goto yy1457;
+ if (yych == 's') goto yy1491;
goto yy11;
-yy1318:
+yy1342:
yych = *++cursor_;
- if (yych == '.') goto yy1458;
+ if (yych == '.') goto yy1492;
goto yy11;
-yy1319:
+yy1343:
yych = *++cursor_;
- if (yych == '1') goto yy1459;
- if (yych == '8') goto yy1460;
+ if (yych == '1') goto yy1493;
+ if (yych == '8') goto yy1494;
goto yy11;
-yy1320:
+yy1344:
yych = *++cursor_;
- if (yych == '_') goto yy1461;
+ if (yych == '_') goto yy1495;
goto yy11;
-yy1321:
+yy1345:
yych = *++cursor_;
- if (yych == 's') goto yy1462;
- if (yych == 'u') goto yy1464;
+ if (yych == 's') goto yy1496;
+ if (yych == 'u') goto yy1498;
goto yy11;
-yy1322:
+yy1346:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 316 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I32Popcnt); }
-#line 7183 "src/prebuilt/wast-lexer-gen.cc"
-yy1324:
+#line 7307 "src/prebuilt/wast-lexer-gen.cc"
+yy1348:
yych = *++cursor_;
- if (yych == 'r') goto yy1466;
+ if (yych == 'r') goto yy1500;
goto yy11;
-yy1325:
+yy1349:
yych = *++cursor_;
- if (yych == '6') goto yy1467;
+ if (yych == '6') goto yy1501;
goto yy11;
-yy1326:
+yy1350:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 299 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, I32Store8); }
-#line 7199 "src/prebuilt/wast-lexer-gen.cc"
-yy1328:
+#line 7323 "src/prebuilt/wast-lexer-gen.cc"
+yy1352:
yych = *++cursor_;
- if (yych == 's') goto yy1469;
- if (yych == 'u') goto yy1470;
+ if (yych == 's') goto yy1503;
+ if (yych == 'u') goto yy1504;
goto yy11;
-yy1329:
+yy1353:
yych = *++cursor_;
- if (yych == '6') goto yy1471;
+ if (yych == '6') goto yy1505;
goto yy11;
-yy1330:
+yy1354:
yych = *++cursor_;
- if (yych == 't') goto yy1472;
+ if (yych == 't') goto yy1506;
goto yy11;
-yy1331:
+yy1355:
yych = *++cursor_;
- if (yych == 't') goto yy1473;
+ if (yych == 't') goto yy1507;
goto yy11;
-yy1332:
+yy1356:
yych = *++cursor_;
- if (yych == 'a') goto yy1474;
+ if (yych == 'a') goto yy1508;
goto yy11;
-yy1333:
+yy1357:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 629 "src/wast-lexer.cc"
+#line 636 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32X4GeS); }
-#line 7228 "src/prebuilt/wast-lexer-gen.cc"
-yy1335:
+#line 7352 "src/prebuilt/wast-lexer-gen.cc"
+yy1359:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 630 "src/wast-lexer.cc"
+#line 637 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32X4GeU); }
-#line 7236 "src/prebuilt/wast-lexer-gen.cc"
-yy1337:
+#line 7360 "src/prebuilt/wast-lexer-gen.cc"
+yy1361:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 621 "src/wast-lexer.cc"
+#line 628 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32X4GtS); }
-#line 7244 "src/prebuilt/wast-lexer-gen.cc"
-yy1339:
+#line 7368 "src/prebuilt/wast-lexer-gen.cc"
+yy1363:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 622 "src/wast-lexer.cc"
+#line 629 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32X4GtU); }
-#line 7252 "src/prebuilt/wast-lexer-gen.cc"
-yy1341:
+#line 7376 "src/prebuilt/wast-lexer-gen.cc"
+yy1365:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 613 "src/wast-lexer.cc"
+#line 620 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32X4LeS); }
-#line 7260 "src/prebuilt/wast-lexer-gen.cc"
-yy1343:
+#line 7384 "src/prebuilt/wast-lexer-gen.cc"
+yy1367:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 614 "src/wast-lexer.cc"
+#line 621 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32X4LeU); }
-#line 7268 "src/prebuilt/wast-lexer-gen.cc"
-yy1345:
+#line 7392 "src/prebuilt/wast-lexer-gen.cc"
+yy1369:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 605 "src/wast-lexer.cc"
+#line 612 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32X4LtS); }
-#line 7276 "src/prebuilt/wast-lexer-gen.cc"
-yy1347:
+#line 7400 "src/prebuilt/wast-lexer-gen.cc"
+yy1371:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 606 "src/wast-lexer.cc"
+#line 613 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I32X4LtU); }
-#line 7284 "src/prebuilt/wast-lexer-gen.cc"
-yy1349:
+#line 7408 "src/prebuilt/wast-lexer-gen.cc"
+yy1373:
yych = *++cursor_;
- if (yych == 'a') goto yy1475;
+ if (yych == 'a') goto yy1509;
goto yy11;
-yy1350:
+yy1374:
yych = *++cursor_;
- if (yych == 's') goto yy1476;
- if (yych == 'u') goto yy1478;
+ if (yych == 's') goto yy1510;
+ if (yych == 'u') goto yy1512;
goto yy11;
-yy1351:
+yy1375:
yych = *++cursor_;
- if (yych == 't') goto yy1480;
+ if (yych == 't') goto yy1514;
goto yy11;
-yy1352:
+yy1376:
yych = *++cursor_;
- if (yych == 'c') goto yy1482;
+ if (yych == 'c') goto yy1516;
goto yy11;
-yy1353:
+yy1377:
yych = *++cursor_;
- if (yych == '.') goto yy1483;
+ if (yych == '.') goto yy1517;
goto yy11;
-yy1354:
+yy1378:
yych = *++cursor_;
if (yych <= '3') {
- if (yych == '1') goto yy1484;
+ if (yych == '1') goto yy1518;
if (yych <= '2') goto yy11;
- goto yy1485;
+ goto yy1519;
} else {
if (yych <= '8') {
if (yych <= '7') goto yy11;
- goto yy1486;
+ goto yy1520;
} else {
- if (yych == '_') goto yy1487;
+ if (yych == '_') goto yy1521;
goto yy11;
}
}
-yy1355:
+yy1379:
yych = *++cursor_;
- if (yych == '_') goto yy1488;
+ if (yych == '_') goto yy1522;
goto yy11;
-yy1356:
+yy1380:
yych = *++cursor_;
- if (yych == '_') goto yy1489;
+ if (yych == '_') goto yy1523;
goto yy11;
-yy1357:
+yy1381:
yych = *++cursor_;
- if (yych == 's') goto yy1490;
- if (yych == 'u') goto yy1492;
+ if (yych == 's') goto yy1524;
+ if (yych == 'u') goto yy1526;
goto yy11;
-yy1358:
+yy1382:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 317 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64Popcnt); }
-#line 7341 "src/prebuilt/wast-lexer-gen.cc"
-yy1360:
+#line 7465 "src/prebuilt/wast-lexer-gen.cc"
+yy1384:
yych = *++cursor_;
- if (yych == 'r') goto yy1494;
+ if (yych == 'r') goto yy1528;
goto yy11;
-yy1361:
+yy1385:
yych = *++cursor_;
- if (yych == '6') goto yy1495;
+ if (yych == '6') goto yy1529;
goto yy11;
-yy1362:
+yy1386:
yych = *++cursor_;
- if (yych == '2') goto yy1497;
+ if (yych == '2') goto yy1531;
goto yy11;
-yy1363:
+yy1387:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 300 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, I64Store8); }
-#line 7361 "src/prebuilt/wast-lexer-gen.cc"
-yy1365:
+#line 7485 "src/prebuilt/wast-lexer-gen.cc"
+yy1389:
yych = *++cursor_;
- if (yych == 's') goto yy1499;
- if (yych == 'u') goto yy1500;
+ if (yych == 's') goto yy1533;
+ if (yych == 'u') goto yy1534;
goto yy11;
-yy1366:
+yy1390:
yych = *++cursor_;
- if (yych == 't') goto yy1501;
+ if (yych == 't') goto yy1535;
goto yy11;
-yy1367:
+yy1391:
yych = *++cursor_;
- if (yych == 't') goto yy1502;
+ if (yych == 't') goto yy1536;
goto yy11;
-yy1368:
+yy1392:
yych = *++cursor_;
- if (yych == 'a') goto yy1503;
+ if (yych == 'a') goto yy1537;
goto yy11;
-yy1369:
+yy1393:
yych = *++cursor_;
- if (yych == 'a') goto yy1504;
+ if (yych == 'a') goto yy1538;
goto yy11;
-yy1370:
+yy1394:
yych = *++cursor_;
- if (yych == 's') goto yy1505;
- if (yych == 'u') goto yy1507;
+ if (yych == 's') goto yy1539;
+ if (yych == 'u') goto yy1541;
goto yy11;
-yy1371:
+yy1395:
yych = *++cursor_;
- if (yych == 't') goto yy1509;
+ if (yych == 't') goto yy1543;
goto yy11;
-yy1372:
+yy1396:
yych = *++cursor_;
- if (yych == 'c') goto yy1511;
+ if (yych == 'c') goto yy1545;
goto yy11;
-yy1373:
+yy1397:
yych = *++cursor_;
- if (yych == 's') goto yy1512;
+ if (yych == 's') goto yy1546;
goto yy11;
-yy1374:
+yy1398:
yych = *++cursor_;
- if (yych == 't') goto yy1513;
+ if (yych == 't') goto yy1547;
goto yy11;
-yy1375:
+yy1399:
yych = *++cursor_;
- if (yych == 't') goto yy1514;
+ if (yych == 't') goto yy1548;
goto yy11;
-yy1376:
+yy1400:
yych = *++cursor_;
- if (yych == 'a') goto yy1515;
+ if (yych == 'a') goto yy1549;
goto yy11;
-yy1377:
+yy1401:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 625 "src/wast-lexer.cc"
+#line 632 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16GeS); }
-#line 7419 "src/prebuilt/wast-lexer-gen.cc"
-yy1379:
+#line 7543 "src/prebuilt/wast-lexer-gen.cc"
+yy1403:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 626 "src/wast-lexer.cc"
+#line 633 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16GeU); }
-#line 7427 "src/prebuilt/wast-lexer-gen.cc"
-yy1381:
+#line 7551 "src/prebuilt/wast-lexer-gen.cc"
+yy1405:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 617 "src/wast-lexer.cc"
+#line 624 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16GtS); }
-#line 7435 "src/prebuilt/wast-lexer-gen.cc"
-yy1383:
+#line 7559 "src/prebuilt/wast-lexer-gen.cc"
+yy1407:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 618 "src/wast-lexer.cc"
+#line 625 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16GtU); }
-#line 7443 "src/prebuilt/wast-lexer-gen.cc"
-yy1385:
+#line 7567 "src/prebuilt/wast-lexer-gen.cc"
+yy1409:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 609 "src/wast-lexer.cc"
+#line 616 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16LeS); }
-#line 7451 "src/prebuilt/wast-lexer-gen.cc"
-yy1387:
+#line 7575 "src/prebuilt/wast-lexer-gen.cc"
+yy1411:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 610 "src/wast-lexer.cc"
+#line 617 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16LeU); }
-#line 7459 "src/prebuilt/wast-lexer-gen.cc"
-yy1389:
+#line 7583 "src/prebuilt/wast-lexer-gen.cc"
+yy1413:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 601 "src/wast-lexer.cc"
+#line 608 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16LtS); }
-#line 7467 "src/prebuilt/wast-lexer-gen.cc"
-yy1391:
+#line 7591 "src/prebuilt/wast-lexer-gen.cc"
+yy1415:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 602 "src/wast-lexer.cc"
+#line 609 "src/wast-lexer.cc"
{ RETURN_OPCODE(Compare, I8X16LtU); }
-#line 7475 "src/prebuilt/wast-lexer-gen.cc"
-yy1393:
+#line 7599 "src/prebuilt/wast-lexer-gen.cc"
+yy1417:
yych = *++cursor_;
- if (yych == 'a') goto yy1516;
+ if (yych == 'a') goto yy1550;
goto yy11;
-yy1394:
+yy1418:
yych = *++cursor_;
- if (yych == 's') goto yy1517;
- if (yych == 'u') goto yy1519;
+ if (yych == 's') goto yy1551;
+ if (yych == 'u') goto yy1553;
goto yy11;
-yy1395:
+yy1419:
yych = *++cursor_;
- if (yych == 't') goto yy1521;
+ if (yych == 't') goto yy1555;
goto yy11;
-yy1396:
+yy1420:
yych = *++cursor_;
- if (yych == 's') goto yy1523;
+ if (yych == 's') goto yy1557;
goto yy11;
-yy1397:
+yy1421:
yych = *++cursor_;
- if (yych == 'w') goto yy1524;
+ if (yych == 'y') goto yy1558;
goto yy11;
-yy1398:
+yy1422:
yych = *++cursor_;
- if (yych == 'e') goto yy1526;
+ if (yych == 'p') goto yy1560;
goto yy11;
-yy1399:
+yy1423:
+ yych = *++cursor_;
+ if (yych == 'l') goto yy1562;
+ goto yy11;
+yy1424:
+ yych = *++cursor_;
+ if (yych == 'w') goto yy1564;
+ goto yy11;
+yy1425:
+ yych = *++cursor_;
+ if (yych == 't') goto yy1566;
+ goto yy11;
+yy1426:
+ yych = *++cursor_;
+ if (yych == 'e') goto yy1568;
+ goto yy11;
+yy1427:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yych <= ':') {
if (yych <= '\'') {
if (yych == '!') goto yy10;
- if (yych <= '"') goto yy1013;
+ if (yych <= '"') goto yy1027;
goto yy10;
} else {
- if (yych <= ')') goto yy1013;
+ if (yych <= ')') goto yy1027;
if (yych <= '/') goto yy10;
- if (yych <= '9') goto yy1399;
+ if (yych <= '9') goto yy1427;
goto yy10;
}
} else {
if (yych <= '^') {
- if (yych <= ';') goto yy1013;
+ if (yych <= ';') goto yy1027;
if (yych <= '@') goto yy10;
- if (yych <= 'F') goto yy1399;
+ if (yych <= 'F') goto yy1427;
goto yy10;
} else {
if (yych <= '`') {
- if (yych <= '_') goto yy1246;
+ if (yych <= '_') goto yy1267;
goto yy10;
} else {
- if (yych <= 'f') goto yy1399;
+ if (yych <= 'f') goto yy1427;
if (yych <= '~') goto yy10;
- goto yy1013;
+ goto yy1027;
}
}
}
-yy1401:
+yy1429:
yych = *++cursor_;
- if (yych == 'l') goto yy1528;
+ if (yych == 'l') goto yy1570;
goto yy11;
-yy1402:
+yy1430:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 280 "src/wast-lexer.cc"
{ RETURN_OPCODE0(SetGlobal); }
-#line 7544 "src/prebuilt/wast-lexer-gen.cc"
-yy1404:
+#line 7684 "src/prebuilt/wast-lexer-gen.cc"
+yy1432:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#line 458 "src/wast-lexer.cc"
+ { RETURN_OPCODE0(TableCopy); }
+#line 7692 "src/prebuilt/wast-lexer-gen.cc"
+yy1434:
yych = *++cursor_;
- if (yych == 'e') goto yy1530;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#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 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;
-yy1405:
+yy1439:
yych = *++cursor_;
- if (yych == 'l') goto yy1532;
+ if (yych == 'l') goto yy1574;
goto yy11;
-yy1406:
+yy1440:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 519 "src/wast-lexer.cc"
+#line 526 "src/wast-lexer.cc"
{ RETURN_OPCODE(Const, V128Const); }
-#line 7560 "src/prebuilt/wast-lexer-gen.cc"
-yy1408:
+#line 7724 "src/prebuilt/wast-lexer-gen.cc"
+yy1442:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 521 "src/wast-lexer.cc"
+#line 528 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, V128Store); }
-#line 7568 "src/prebuilt/wast-lexer-gen.cc"
-yy1410:
+#line 7732 "src/prebuilt/wast-lexer-gen.cc"
+yy1444:
yych = *++cursor_;
- if (yych == 'f') goto yy1533;
+ if (yych == 'f') goto yy1575;
goto yy11;
-yy1411:
+yy1445:
yych = *++cursor_;
- if (yych == 'u') goto yy1534;
+ if (yych == 'u') goto yy1576;
goto yy11;
-yy1412:
+yy1446:
yych = *++cursor_;
- if (yych == 'l') goto yy1535;
+ if (yych == 'l') goto yy1577;
goto yy11;
-yy1413:
+yy1447:
yych = *++cursor_;
- if (yych == 'o') goto yy1536;
+ if (yych == 'o') goto yy1578;
goto yy11;
-yy1414:
+yy1448:
yych = *++cursor_;
- if (yych == 'r') goto yy1537;
+ if (yych == 'r') goto yy1579;
goto yy11;
-yy1415:
+yy1449:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 689 "src/wast-lexer.cc"
+#line 697 "src/wast-lexer.cc"
{ RETURN(AssertTrap); }
-#line 7596 "src/prebuilt/wast-lexer-gen.cc"
-yy1417:
+#line 7760 "src/prebuilt/wast-lexer-gen.cc"
+yy1451:
yych = *++cursor_;
- if (yych == 'n') goto yy1538;
+ if (yych == 'n') goto yy1580;
goto yy11;
-yy1418:
+yy1452:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 455 "src/wast-lexer.cc"
+#line 462 "src/wast-lexer.cc"
{ RETURN_OPCODE0(AtomicWake); }
-#line 7608 "src/prebuilt/wast-lexer-gen.cc"
-yy1420:
+#line 7772 "src/prebuilt/wast-lexer-gen.cc"
+yy1454:
yych = *++cursor_;
- if (yych == 'c') goto yy1539;
+ if (yych == 'c') goto yy1581;
goto yy11;
-yy1421:
+yy1455:
yych = *++cursor_;
- if (yych == 'o') goto yy1540;
+ if (yych == 'o') goto yy1582;
goto yy11;
-yy1422:
+yy1456:
yych = *++cursor_;
- if (yych == '_') goto yy1541;
+ if (yych == '_') goto yy1583;
goto yy11;
-yy1423:
+yy1457:
yych = *++cursor_;
- if (yych == 'n') goto yy1542;
+ if (yych == 'n') goto yy1584;
goto yy11;
-yy1424:
+yy1458:
yych = *++cursor_;
- if (yych == 'f') goto yy1544;
+ if (yych == 'f') goto yy1586;
goto yy11;
-yy1425:
+yy1459:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 330 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32Nearest); }
-#line 7636 "src/prebuilt/wast-lexer-gen.cc"
-yy1427:
+#line 7800 "src/prebuilt/wast-lexer-gen.cc"
+yy1461:
yych = *++cursor_;
- if (yych == 'p') goto yy1545;
+ if (yych == 'p') goto yy1587;
goto yy11;
-yy1428:
+yy1462:
yych = *++cursor_;
- if (yych == 'r') goto yy1546;
+ if (yych == 'r') goto yy1588;
goto yy11;
-yy1429:
+yy1463:
yych = *++cursor_;
- if (yych == 'c') goto yy1547;
+ if (yych == 'c') goto yy1589;
goto yy11;
-yy1430:
+yy1464:
yych = *++cursor_;
- if (yych == 'c') goto yy1548;
+ if (yych == 'c') goto yy1590;
goto yy11;
-yy1431:
+yy1465:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 526 "src/wast-lexer.cc"
+#line 533 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32X4Splat); }
-#line 7660 "src/prebuilt/wast-lexer-gen.cc"
-yy1433:
+#line 7824 "src/prebuilt/wast-lexer-gen.cc"
+yy1467:
yych = *++cursor_;
- if (yych == '_') goto yy1549;
+ if (yych == '_') goto yy1591;
goto yy11;
-yy1434:
+yy1468:
yych = *++cursor_;
- if (yych == 'n') goto yy1550;
+ if (yych == 'n') goto yy1592;
goto yy11;
-yy1435:
+yy1469:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 331 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64Nearest); }
-#line 7676 "src/prebuilt/wast-lexer-gen.cc"
-yy1437:
+#line 7840 "src/prebuilt/wast-lexer-gen.cc"
+yy1471:
yych = *++cursor_;
- if (yych == '/') goto yy1552;
+ if (yych == '/') goto yy1594;
goto yy11;
-yy1438:
+yy1472:
yych = *++cursor_;
- if (yych == 'p') goto yy1553;
+ if (yych == 'p') goto yy1595;
goto yy11;
-yy1439:
+yy1473:
yych = *++cursor_;
- if (yych == 'r') goto yy1554;
+ if (yych == 'r') goto yy1596;
goto yy11;
-yy1440:
+yy1474:
yych = *++cursor_;
- if (yych == 'c') goto yy1555;
+ if (yych == 'c') goto yy1597;
goto yy11;
-yy1441:
+yy1475:
yych = *++cursor_;
- if (yych == 'c') goto yy1556;
+ if (yych == 'c') goto yy1598;
goto yy11;
-yy1442:
+yy1476:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 527 "src/wast-lexer.cc"
+#line 534 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64X2Splat); }
-#line 7704 "src/prebuilt/wast-lexer-gen.cc"
-yy1444:
+#line 7868 "src/prebuilt/wast-lexer-gen.cc"
+yy1478:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 451 "src/wast-lexer.cc"
+#line 455 "src/wast-lexer.cc"
{ RETURN_OPCODE0(MemoryGrow); }
-#line 7712 "src/prebuilt/wast-lexer-gen.cc"
-yy1446:
+#line 7876 "src/prebuilt/wast-lexer-gen.cc"
+yy1480:
yych = *++cursor_;
- if (yych == 'a') goto yy1557;
+ if (yych == 'a') goto yy1599;
goto yy11;
-yy1447:
+yy1481:
yych = *++cursor_;
- if (yych == 'r') goto yy1558;
+ if (yych == 'r') goto yy1600;
goto yy11;
-yy1448:
+yy1482:
yych = *++cursor_;
- if (yych == 'r') goto yy1559;
+ if (yych == 'r') goto yy1601;
goto yy11;
-yy1449:
+yy1483:
yych = *++cursor_;
- if (yych == 'c') goto yy1560;
+ if (yych == 'c') goto yy1602;
goto yy11;
-yy1450:
+yy1484:
yych = *++cursor_;
- if (yych == 'c') goto yy1561;
+ if (yych == 'c') goto yy1603;
goto yy11;
-yy1451:
+yy1485:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 572 "src/wast-lexer.cc"
+#line 579 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8ShrS); }
-#line 7740 "src/prebuilt/wast-lexer-gen.cc"
-yy1453:
+#line 7904 "src/prebuilt/wast-lexer-gen.cc"
+yy1487:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 573 "src/wast-lexer.cc"
+#line 580 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8ShrU); }
-#line 7748 "src/prebuilt/wast-lexer-gen.cc"
-yy1455:
+#line 7912 "src/prebuilt/wast-lexer-gen.cc"
+yy1489:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 523 "src/wast-lexer.cc"
+#line 530 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I16X8Splat); }
-#line 7756 "src/prebuilt/wast-lexer-gen.cc"
-yy1457:
+#line 7920 "src/prebuilt/wast-lexer-gen.cc"
+yy1491:
yych = *++cursor_;
- if (yych == 'a') goto yy1562;
+ if (yych == 'a') goto yy1604;
goto yy11;
-yy1458:
+yy1492:
yych = *++cursor_;
if (yych <= 'r') {
- if (yych == 'l') goto yy1563;
+ if (yych == 'l') goto yy1605;
if (yych <= 'q') goto yy11;
- goto yy1564;
+ goto yy1606;
} else {
- if (yych <= 's') goto yy1565;
- if (yych == 'w') goto yy1566;
+ if (yych <= 's') goto yy1607;
+ if (yych == 'w') goto yy1608;
goto yy11;
}
-yy1459:
+yy1493:
yych = *++cursor_;
- if (yych == '6') goto yy1567;
+ if (yych == '6') goto yy1609;
goto yy11;
-yy1460:
+yy1494:
yych = *++cursor_;
- if (yych == '_') goto yy1568;
+ if (yych == '_') goto yy1610;
goto yy11;
-yy1461:
+yy1495:
yych = *++cursor_;
- if (yych == 's') goto yy1569;
- if (yych == 'u') goto yy1571;
+ if (yych == 's') goto yy1611;
+ if (yych == 'u') goto yy1613;
goto yy11;
-yy1462:
+yy1496:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 289 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I32Load8S); }
-#line 7792 "src/prebuilt/wast-lexer-gen.cc"
-yy1464:
+#line 7956 "src/prebuilt/wast-lexer-gen.cc"
+yy1498:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 291 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I32Load8U); }
-#line 7800 "src/prebuilt/wast-lexer-gen.cc"
-yy1466:
+#line 7964 "src/prebuilt/wast-lexer-gen.cc"
+yy1500:
yych = *++cursor_;
- if (yych == 'p') goto yy1573;
+ if (yych == 'p') goto yy1615;
goto yy11;
-yy1467:
+yy1501:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 301 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, I32Store16); }
-#line 7812 "src/prebuilt/wast-lexer-gen.cc"
-yy1469:
+#line 7976 "src/prebuilt/wast-lexer-gen.cc"
+yy1503:
yych = *++cursor_;
- if (yych == '/') goto yy1574;
- if (yych == ':') goto yy1575;
+ if (yych == '/') goto yy1616;
+ if (yych == ':') goto yy1617;
goto yy11;
-yy1470:
+yy1504:
yych = *++cursor_;
- if (yych == '/') goto yy1576;
- if (yych == ':') goto yy1577;
+ if (yych == '/') goto yy1618;
+ if (yych == ':') goto yy1619;
goto yy11;
-yy1471:
+yy1505:
yych = *++cursor_;
- if (yych == '4') goto yy1578;
+ if (yych == '4') goto yy1620;
goto yy11;
-yy1472:
+yy1506:
yych = *++cursor_;
- if (yych == 'r') goto yy1580;
+ if (yych == 'r') goto yy1622;
goto yy11;
-yy1473:
+yy1507:
yych = *++cursor_;
- if (yych == 'r') goto yy1581;
+ if (yych == 'r') goto yy1623;
goto yy11;
-yy1474:
+yy1508:
yych = *++cursor_;
- if (yych == 'c') goto yy1582;
+ if (yych == 'c') goto yy1624;
goto yy11;
-yy1475:
+yy1509:
yych = *++cursor_;
- if (yych == 'c') goto yy1583;
+ if (yych == 'c') goto yy1625;
goto yy11;
-yy1476:
+yy1510:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 574 "src/wast-lexer.cc"
+#line 581 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32X4ShrS); }
-#line 7850 "src/prebuilt/wast-lexer-gen.cc"
-yy1478:
+#line 8014 "src/prebuilt/wast-lexer-gen.cc"
+yy1512:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 575 "src/wast-lexer.cc"
+#line 582 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I32X4ShrU); }
-#line 7858 "src/prebuilt/wast-lexer-gen.cc"
-yy1480:
+#line 8022 "src/prebuilt/wast-lexer-gen.cc"
+yy1514:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 524 "src/wast-lexer.cc"
+#line 531 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I32X4Splat); }
-#line 7866 "src/prebuilt/wast-lexer-gen.cc"
-yy1482:
+#line 8030 "src/prebuilt/wast-lexer-gen.cc"
+yy1516:
yych = *++cursor_;
- if (yych == '_') goto yy1584;
+ if (yych == '_') goto yy1626;
goto yy11;
-yy1483:
+yy1517:
yych = *++cursor_;
if (yych <= 'r') {
- if (yych == 'l') goto yy1585;
+ if (yych == 'l') goto yy1627;
if (yych <= 'q') goto yy11;
- goto yy1586;
+ goto yy1628;
} else {
- if (yych <= 's') goto yy1587;
- if (yych == 'w') goto yy1588;
+ if (yych <= 's') goto yy1629;
+ if (yych == 'w') goto yy1630;
goto yy11;
}
-yy1484:
+yy1518:
yych = *++cursor_;
- if (yych == '6') goto yy1589;
+ if (yych == '6') goto yy1631;
goto yy11;
-yy1485:
+yy1519:
yych = *++cursor_;
- if (yych == '2') goto yy1590;
+ if (yych == '2') goto yy1632;
goto yy11;
-yy1486:
+yy1520:
yych = *++cursor_;
- if (yych == '_') goto yy1591;
+ if (yych == '_') goto yy1633;
goto yy11;
-yy1487:
+yy1521:
yych = *++cursor_;
- if (yych == 's') goto yy1592;
- if (yych == 'u') goto yy1593;
+ if (yych == 's') goto yy1634;
+ if (yych == 'u') goto yy1635;
goto yy11;
-yy1488:
+yy1522:
yych = *++cursor_;
- if (yych == 's') goto yy1594;
- if (yych == 'u') goto yy1596;
+ if (yych == 's') goto yy1636;
+ if (yych == 'u') goto yy1638;
goto yy11;
-yy1489:
+yy1523:
yych = *++cursor_;
- if (yych == 's') goto yy1598;
- if (yych == 'u') goto yy1600;
+ if (yych == 's') goto yy1640;
+ if (yych == 'u') goto yy1642;
goto yy11;
-yy1490:
+yy1524:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 290 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I64Load8S); }
-#line 7916 "src/prebuilt/wast-lexer-gen.cc"
-yy1492:
+#line 8080 "src/prebuilt/wast-lexer-gen.cc"
+yy1526:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 292 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I64Load8U); }
-#line 7924 "src/prebuilt/wast-lexer-gen.cc"
-yy1494:
+#line 8088 "src/prebuilt/wast-lexer-gen.cc"
+yy1528:
yych = *++cursor_;
- if (yych == 'p') goto yy1602;
+ if (yych == 'p') goto yy1644;
goto yy11;
-yy1495:
+yy1529:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 302 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, I64Store16); }
-#line 7936 "src/prebuilt/wast-lexer-gen.cc"
-yy1497:
+#line 8100 "src/prebuilt/wast-lexer-gen.cc"
+yy1531:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 303 "src/wast-lexer.cc"
{ RETURN_OPCODE(Store, I64Store32); }
-#line 7944 "src/prebuilt/wast-lexer-gen.cc"
-yy1499:
+#line 8108 "src/prebuilt/wast-lexer-gen.cc"
+yy1533:
yych = *++cursor_;
- if (yych == '/') goto yy1603;
- if (yych == ':') goto yy1604;
+ if (yych == '/') goto yy1645;
+ if (yych == ':') goto yy1646;
goto yy11;
-yy1500:
+yy1534:
yych = *++cursor_;
- if (yych == '/') goto yy1605;
- if (yych == ':') goto yy1606;
+ if (yych == '/') goto yy1647;
+ if (yych == ':') goto yy1648;
goto yy11;
-yy1501:
+yy1535:
yych = *++cursor_;
- if (yych == 'r') goto yy1607;
+ if (yych == 'r') goto yy1649;
goto yy11;
-yy1502:
+yy1536:
yych = *++cursor_;
- if (yych == 'r') goto yy1608;
+ if (yych == 'r') goto yy1650;
goto yy11;
-yy1503:
+yy1537:
yych = *++cursor_;
- if (yych == 'c') goto yy1609;
+ if (yych == 'c') goto yy1651;
goto yy11;
-yy1504:
+yy1538:
yych = *++cursor_;
- if (yych == 'c') goto yy1610;
+ if (yych == 'c') goto yy1652;
goto yy11;
-yy1505:
+yy1539:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 576 "src/wast-lexer.cc"
+#line 583 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64X2ShrS); }
-#line 7978 "src/prebuilt/wast-lexer-gen.cc"
-yy1507:
+#line 8142 "src/prebuilt/wast-lexer-gen.cc"
+yy1541:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 577 "src/wast-lexer.cc"
+#line 584 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I64X2ShrU); }
-#line 7986 "src/prebuilt/wast-lexer-gen.cc"
-yy1509:
+#line 8150 "src/prebuilt/wast-lexer-gen.cc"
+yy1543:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 525 "src/wast-lexer.cc"
+#line 532 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64X2Splat); }
-#line 7994 "src/prebuilt/wast-lexer-gen.cc"
-yy1511:
+#line 8158 "src/prebuilt/wast-lexer-gen.cc"
+yy1545:
yych = *++cursor_;
- if (yych == '_') goto yy1611;
+ if (yych == '_') goto yy1653;
goto yy11;
-yy1512:
+yy1546:
yych = *++cursor_;
- if (yych == 'a') goto yy1612;
+ if (yych == 'a') goto yy1654;
goto yy11;
-yy1513:
+yy1547:
yych = *++cursor_;
- if (yych == 'r') goto yy1613;
+ if (yych == 'r') goto yy1655;
goto yy11;
-yy1514:
+yy1548:
yych = *++cursor_;
- if (yych == 'r') goto yy1614;
+ if (yych == 'r') goto yy1656;
goto yy11;
-yy1515:
+yy1549:
yych = *++cursor_;
- if (yych == 'c') goto yy1615;
+ if (yych == 'c') goto yy1657;
goto yy11;
-yy1516:
+yy1550:
yych = *++cursor_;
- if (yych == 'c') goto yy1616;
+ if (yych == 'c') goto yy1658;
goto yy11;
-yy1517:
+yy1551:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 570 "src/wast-lexer.cc"
+#line 577 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16ShrS); }
-#line 8026 "src/prebuilt/wast-lexer-gen.cc"
-yy1519:
+#line 8190 "src/prebuilt/wast-lexer-gen.cc"
+yy1553:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 571 "src/wast-lexer.cc"
+#line 578 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16ShrU); }
-#line 8034 "src/prebuilt/wast-lexer-gen.cc"
-yy1521:
+#line 8198 "src/prebuilt/wast-lexer-gen.cc"
+yy1555:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 522 "src/wast-lexer.cc"
+#line 529 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I8X16Splat); }
-#line 8042 "src/prebuilt/wast-lexer-gen.cc"
-yy1523:
+#line 8206 "src/prebuilt/wast-lexer-gen.cc"
+yy1557:
yych = *++cursor_;
- if (yych == 'a') goto yy1617;
+ if (yych == 'a') goto yy1659;
goto yy11;
-yy1524:
+yy1558:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#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 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 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 449 "src/wast-lexer.cc"
{ RETURN_OPCODE0(MemoryGrow); }
-#line 8054 "src/prebuilt/wast-lexer-gen.cc"
-yy1526:
+#line 8242 "src/prebuilt/wast-lexer-gen.cc"
+yy1566:
+ yych = *++cursor_;
+ if (yybm[0+yych] & 8) {
+ goto yy10;
+ }
+#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 448 "src/wast-lexer.cc"
{ RETURN_OPCODE0(MemorySize); }
-#line 8062 "src/prebuilt/wast-lexer-gen.cc"
-yy1528:
+#line 8258 "src/prebuilt/wast-lexer-gen.cc"
+yy1570:
yych = *++cursor_;
if (yych <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy1529;
+ if (yych <= '"') goto yy1571;
if (yych <= '\'') goto yy10;
}
} else {
if (yych <= '^') {
if (yych != ';') goto yy10;
} else {
- if (yych <= '_') goto yy1618;
+ if (yych <= '_') goto yy1660;
if (yych <= '~') goto yy10;
}
}
-yy1529:
-#line 659 "src/wast-lexer.cc"
+yy1571:
+#line 666 "src/wast-lexer.cc"
{ RETURN_OPCODE0(ReturnCall); }
-#line 8083 "src/prebuilt/wast-lexer-gen.cc"
-yy1530:
+#line 8279 "src/prebuilt/wast-lexer-gen.cc"
+yy1572:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 447 "src/wast-lexer.cc"
{ RETURN_OPCODE0(Unreachable); }
-#line 8091 "src/prebuilt/wast-lexer-gen.cc"
-yy1532:
+#line 8287 "src/prebuilt/wast-lexer-gen.cc"
+yy1574:
yych = *++cursor_;
- if (yych == 'e') goto yy1619;
+ if (yych == 'e') goto yy1661;
goto yy11;
-yy1533:
+yy1575:
yych = *++cursor_;
- if (yych == 'l') goto yy1620;
+ if (yych == 'l') goto yy1662;
goto yy11;
-yy1534:
+yy1576:
yych = *++cursor_;
- if (yych == 's') goto yy1621;
+ if (yych == 's') goto yy1663;
goto yy11;
-yy1535:
+yy1577:
yych = *++cursor_;
- if (yych == 'i') goto yy1622;
+ if (yych == 'i') goto yy1664;
goto yy11;
-yy1536:
+yy1578:
yych = *++cursor_;
- if (yych == 'r') goto yy1623;
+ if (yych == 'r') goto yy1665;
goto yy11;
-yy1537:
+yy1579:
yych = *++cursor_;
- if (yych == 'n') goto yy1624;
+ if (yych == 'n') goto yy1666;
goto yy11;
-yy1538:
+yy1580:
yych = *++cursor_;
- if (yych == 'k') goto yy1626;
+ if (yych == 'k') goto yy1668;
goto yy11;
-yy1539:
+yy1581:
yych = *++cursor_;
- if (yych == 't') goto yy1627;
+ if (yych == 't') goto yy1669;
goto yy11;
-yy1540:
+yy1582:
yych = *++cursor_;
- if (yych == 'r') goto yy1629;
+ if (yych == 'r') goto yy1671;
goto yy11;
-yy1541:
+yy1583:
yych = *++cursor_;
- if (yych == 's') goto yy1630;
- if (yych == 'u') goto yy1631;
+ if (yych == 's') goto yy1672;
+ if (yych == 'u') goto yy1673;
goto yy11;
-yy1542:
+yy1584:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 379 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F32Copysign); }
-#line 8140 "src/prebuilt/wast-lexer-gen.cc"
-yy1544:
+#line 8336 "src/prebuilt/wast-lexer-gen.cc"
+yy1586:
yych = *++cursor_;
- if (yych == '6') goto yy1632;
+ if (yych == '6') goto yy1674;
goto yy11;
-yy1545:
+yy1587:
yych = *++cursor_;
- if (yych == 'r') goto yy1633;
+ if (yych == 'r') goto yy1675;
goto yy11;
-yy1546:
+yy1588:
yych = *++cursor_;
- if (yych == 't') goto yy1634;
+ if (yych == 't') goto yy1676;
goto yy11;
-yy1547:
+yy1589:
yych = *++cursor_;
- if (yych == 't') goto yy1635;
+ if (yych == 't') goto yy1677;
goto yy11;
-yy1548:
+yy1590:
yych = *++cursor_;
- if (yych == 'e') goto yy1636;
+ if (yych == 'e') goto yy1678;
goto yy11;
-yy1549:
+yy1591:
yych = *++cursor_;
- if (yych == 's') goto yy1637;
- if (yych == 'u') goto yy1638;
+ if (yych == 's') goto yy1679;
+ if (yych == 'u') goto yy1680;
goto yy11;
-yy1550:
+yy1592:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 380 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, F64Copysign); }
-#line 8173 "src/prebuilt/wast-lexer-gen.cc"
-yy1552:
+#line 8369 "src/prebuilt/wast-lexer-gen.cc"
+yy1594:
yych = *++cursor_;
- if (yych == 'f') goto yy1639;
+ if (yych == 'f') goto yy1681;
goto yy11;
-yy1553:
+yy1595:
yych = *++cursor_;
- if (yych == 'r') goto yy1640;
+ if (yych == 'r') goto yy1682;
goto yy11;
-yy1554:
+yy1596:
yych = *++cursor_;
- if (yych == 't') goto yy1641;
+ if (yych == 't') goto yy1683;
goto yy11;
-yy1555:
+yy1597:
yych = *++cursor_;
- if (yych == 't') goto yy1642;
+ if (yych == 't') goto yy1684;
goto yy11;
-yy1556:
+yy1598:
yych = *++cursor_;
- if (yych == 'e') goto yy1643;
+ if (yych == 'e') goto yy1685;
goto yy11;
-yy1557:
+yy1599:
yych = *++cursor_;
- if (yych == 't') goto yy1644;
+ if (yych == 't') goto yy1686;
goto yy11;
-yy1558:
+yy1600:
yych = *++cursor_;
- if (yych == 'u') goto yy1645;
+ if (yych == 'u') goto yy1687;
goto yy11;
-yy1559:
+yy1601:
yych = *++cursor_;
- if (yych == 'u') goto yy1646;
+ if (yych == 'u') goto yy1688;
goto yy11;
-yy1560:
+yy1602:
yych = *++cursor_;
- if (yych == 't') goto yy1647;
+ if (yych == 't') goto yy1689;
goto yy11;
-yy1561:
+yy1603:
yych = *++cursor_;
- if (yych == 'e') goto yy1648;
+ if (yych == 'e') goto yy1690;
goto yy11;
-yy1562:
+yy1604:
yych = *++cursor_;
- if (yych == 't') goto yy1649;
+ if (yych == 't') goto yy1691;
goto yy11;
-yy1563:
+yy1605:
yych = *++cursor_;
- if (yych == 'o') goto yy1650;
+ if (yych == 'o') goto yy1692;
goto yy11;
-yy1564:
+yy1606:
yych = *++cursor_;
- if (yych == 'm') goto yy1651;
+ if (yych == 'm') goto yy1693;
goto yy11;
-yy1565:
+yy1607:
yych = *++cursor_;
- if (yych == 't') goto yy1652;
+ if (yych == 't') goto yy1694;
goto yy11;
-yy1566:
+yy1608:
yych = *++cursor_;
- if (yych == 'a') goto yy1653;
+ if (yych == 'a') goto yy1695;
goto yy11;
-yy1567:
+yy1609:
yych = *++cursor_;
- if (yych == '_') goto yy1654;
+ if (yych == '_') goto yy1696;
goto yy11;
-yy1568:
+yy1610:
yych = *++cursor_;
- if (yych == 's') goto yy1655;
+ if (yych == 's') goto yy1697;
goto yy11;
-yy1569:
+yy1611:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 293 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I32Load16S); }
-#line 8249 "src/prebuilt/wast-lexer-gen.cc"
-yy1571:
+#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 8257 "src/prebuilt/wast-lexer-gen.cc"
-yy1573:
+#line 8453 "src/prebuilt/wast-lexer-gen.cc"
+yy1615:
yych = *++cursor_;
- if (yych == 'r') goto yy1657;
+ if (yych == 'r') goto yy1699;
goto yy11;
-yy1574:
+yy1616:
yych = *++cursor_;
- if (yych == 'f') goto yy1658;
+ if (yych == 'f') goto yy1700;
goto yy11;
-yy1575:
+yy1617:
yych = *++cursor_;
- if (yych == 's') goto yy1659;
+ if (yych == 's') goto yy1701;
goto yy11;
-yy1576:
+yy1618:
yych = *++cursor_;
- if (yych == 'f') goto yy1660;
+ if (yych == 'f') goto yy1702;
goto yy11;
-yy1577:
+yy1619:
yych = *++cursor_;
- if (yych == 's') goto yy1661;
+ if (yych == 's') goto yy1703;
goto yy11;
-yy1578:
+yy1620:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 415 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I32WrapI64); }
-#line 8285 "src/prebuilt/wast-lexer-gen.cc"
-yy1580:
+#line 8481 "src/prebuilt/wast-lexer-gen.cc"
+yy1622:
yych = *++cursor_;
- if (yych == 'u') goto yy1662;
+ if (yych == 'u') goto yy1704;
goto yy11;
-yy1581:
+yy1623:
yych = *++cursor_;
- if (yych == 'u') goto yy1663;
+ if (yych == 'u') goto yy1705;
goto yy11;
-yy1582:
+yy1624:
yych = *++cursor_;
- if (yych == 't') goto yy1664;
+ if (yych == 't') goto yy1706;
goto yy11;
-yy1583:
+yy1625:
yych = *++cursor_;
- if (yych == 'e') goto yy1665;
+ if (yych == 'e') goto yy1707;
goto yy11;
-yy1584:
+yy1626:
yych = *++cursor_;
- if (yych == 's') goto yy1666;
- if (yych == 'u') goto yy1667;
+ if (yych == 's') goto yy1708;
+ if (yych == 'u') goto yy1709;
goto yy11;
-yy1585:
+yy1627:
yych = *++cursor_;
- if (yych == 'o') goto yy1668;
+ if (yych == 'o') goto yy1710;
goto yy11;
-yy1586:
+yy1628:
yych = *++cursor_;
- if (yych == 'm') goto yy1669;
+ if (yych == 'm') goto yy1711;
goto yy11;
-yy1587:
+yy1629:
yych = *++cursor_;
- if (yych == 't') goto yy1670;
+ if (yych == 't') goto yy1712;
goto yy11;
-yy1588:
+yy1630:
yych = *++cursor_;
- if (yych == 'a') goto yy1671;
+ if (yych == 'a') goto yy1713;
goto yy11;
-yy1589:
+yy1631:
yych = *++cursor_;
- if (yych == '_') goto yy1672;
+ if (yych == '_') goto yy1714;
goto yy11;
-yy1590:
+yy1632:
yych = *++cursor_;
- if (yych == '_') goto yy1673;
+ if (yych == '_') goto yy1715;
goto yy11;
-yy1591:
+yy1633:
yych = *++cursor_;
- if (yych == 's') goto yy1674;
+ if (yych == 's') goto yy1716;
goto yy11;
-yy1592:
+yy1634:
yych = *++cursor_;
- if (yych == '/') goto yy1676;
+ if (yych == '/') goto yy1718;
goto yy11;
-yy1593:
+yy1635:
yych = *++cursor_;
- if (yych == '/') goto yy1677;
+ if (yych == '/') goto yy1719;
goto yy11;
-yy1594:
+yy1636:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 294 "src/wast-lexer.cc"
{ RETURN_OPCODE(Load, I64Load16S); }
-#line 8350 "src/prebuilt/wast-lexer-gen.cc"
-yy1596:
+#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 8358 "src/prebuilt/wast-lexer-gen.cc"
-yy1598:
+#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 8366 "src/prebuilt/wast-lexer-gen.cc"
-yy1600:
+#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 8374 "src/prebuilt/wast-lexer-gen.cc"
-yy1602:
+#line 8570 "src/prebuilt/wast-lexer-gen.cc"
+yy1644:
yych = *++cursor_;
- if (yych == 'r') goto yy1678;
+ if (yych == 'r') goto yy1720;
goto yy11;
-yy1603:
+yy1645:
yych = *++cursor_;
- if (yych == 'f') goto yy1679;
+ if (yych == 'f') goto yy1721;
goto yy11;
-yy1604:
+yy1646:
yych = *++cursor_;
- if (yych == 's') goto yy1680;
+ if (yych == 's') goto yy1722;
goto yy11;
-yy1605:
+yy1647:
yych = *++cursor_;
- if (yych == 'f') goto yy1681;
+ if (yych == 'f') goto yy1723;
goto yy11;
-yy1606:
+yy1648:
yych = *++cursor_;
- if (yych == 's') goto yy1682;
+ if (yych == 's') goto yy1724;
goto yy11;
-yy1607:
+yy1649:
yych = *++cursor_;
- if (yych == 'u') goto yy1683;
+ if (yych == 'u') goto yy1725;
goto yy11;
-yy1608:
+yy1650:
yych = *++cursor_;
- if (yych == 'u') goto yy1684;
+ if (yych == 'u') goto yy1726;
goto yy11;
-yy1609:
+yy1651:
yych = *++cursor_;
- if (yych == 't') goto yy1685;
+ if (yych == 't') goto yy1727;
goto yy11;
-yy1610:
+yy1652:
yych = *++cursor_;
- if (yych == 'e') goto yy1686;
+ if (yych == 'e') goto yy1728;
goto yy11;
-yy1611:
+yy1653:
yych = *++cursor_;
- if (yych == 's') goto yy1687;
- if (yych == 'u') goto yy1688;
+ if (yych == 's') goto yy1729;
+ if (yych == 'u') goto yy1730;
goto yy11;
-yy1612:
+yy1654:
yych = *++cursor_;
- if (yych == 't') goto yy1689;
+ if (yych == 't') goto yy1731;
goto yy11;
-yy1613:
+yy1655:
yych = *++cursor_;
- if (yych == 'u') goto yy1690;
+ if (yych == 'u') goto yy1732;
goto yy11;
-yy1614:
+yy1656:
yych = *++cursor_;
- if (yych == 'u') goto yy1691;
+ if (yych == 'u') goto yy1733;
goto yy11;
-yy1615:
+yy1657:
yych = *++cursor_;
- if (yych == 't') goto yy1692;
+ if (yych == 't') goto yy1734;
goto yy11;
-yy1616:
+yy1658:
yych = *++cursor_;
- if (yych == 'e') goto yy1693;
+ if (yych == 'e') goto yy1735;
goto yy11;
-yy1617:
+yy1659:
yych = *++cursor_;
- if (yych == 't') goto yy1694;
+ if (yych == 't') goto yy1736;
goto yy11;
-yy1618:
+yy1660:
yych = *++cursor_;
- if (yych == 'i') goto yy1695;
+ if (yych == 'i') goto yy1737;
goto yy11;
-yy1619:
+yy1661:
yych = *++cursor_;
- if (yych == 'c') goto yy1696;
+ if (yych == 'c') goto yy1738;
goto yy11;
-yy1620:
+yy1662:
yych = *++cursor_;
- if (yych == 'e') goto yy1697;
+ if (yych == 'e') goto yy1739;
goto yy11;
-yy1621:
+yy1663:
yych = *++cursor_;
- if (yych == 't') goto yy1699;
+ if (yych == 't') goto yy1741;
goto yy11;
-yy1622:
+yy1664:
yych = *++cursor_;
- if (yych == 'd') goto yy1700;
+ if (yych == 'd') goto yy1742;
goto yy11;
-yy1623:
+yy1665:
yych = *++cursor_;
- if (yych == 'm') goto yy1702;
+ if (yych == 'm') goto yy1744;
goto yy11;
-yy1624:
+yy1666:
yych = *++cursor_;
if (yych <= ')') {
if (yych <= '!') {
if (yych >= '!') goto yy10;
} else {
- if (yych <= '"') goto yy1625;
+ if (yych <= '"') goto yy1667;
if (yych <= '\'') goto yy10;
}
} else {
if (yych <= '^') {
if (yych != ';') goto yy10;
} else {
- if (yych <= '_') goto yy1703;
+ if (yych <= '_') goto yy1745;
if (yych <= '~') goto yy10;
}
}
-yy1625:
-#line 686 "src/wast-lexer.cc"
+yy1667:
+#line 694 "src/wast-lexer.cc"
{ RETURN(AssertReturn); }
-#line 8484 "src/prebuilt/wast-lexer-gen.cc"
-yy1626:
+#line 8680 "src/prebuilt/wast-lexer-gen.cc"
+yy1668:
yych = *++cursor_;
- if (yych == 'a') goto yy1704;
+ if (yych == 'a') goto yy1746;
goto yy11;
-yy1627:
+yy1669:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 272 "src/wast-lexer.cc"
{ RETURN_OPCODE0(CallIndirect); }
-#line 8496 "src/prebuilt/wast-lexer-gen.cc"
-yy1629:
+#line 8692 "src/prebuilt/wast-lexer-gen.cc"
+yy1671:
yych = *++cursor_;
- if (yych == 'y') goto yy1705;
+ if (yych == 'y') goto yy1747;
goto yy11;
-yy1630:
+yy1672:
yych = *++cursor_;
- if (yych == '/') goto yy1707;
+ if (yych == '/') goto yy1749;
goto yy11;
-yy1631:
+yy1673:
yych = *++cursor_;
- if (yych == '/') goto yy1708;
+ if (yych == '/') goto yy1750;
goto yy11;
-yy1632:
+yy1674:
yych = *++cursor_;
- if (yych == '4') goto yy1709;
+ if (yych == '4') goto yy1751;
goto yy11;
-yy1633:
+yy1675:
yych = *++cursor_;
- if (yych == 'e') goto yy1711;
+ if (yych == 'e') goto yy1753;
goto yy11;
-yy1634:
+yy1676:
yych = *++cursor_;
- if (yych == '_') goto yy1712;
+ if (yych == '_') goto yy1754;
goto yy11;
-yy1635:
+yy1677:
yych = *++cursor_;
- if (yych == '_') goto yy1713;
+ if (yych == '_') goto yy1755;
goto yy11;
-yy1636:
+yy1678:
yych = *++cursor_;
- if (yych == '_') goto yy1714;
+ if (yych == '_') goto yy1756;
goto yy11;
-yy1637:
+yy1679:
yych = *++cursor_;
- if (yych == '/') goto yy1715;
+ if (yych == '/') goto yy1757;
goto yy11;
-yy1638:
+yy1680:
yych = *++cursor_;
- if (yych == '/') goto yy1716;
+ if (yych == '/') goto yy1758;
goto yy11;
-yy1639:
+yy1681:
yych = *++cursor_;
- if (yych == '3') goto yy1717;
+ if (yych == '3') goto yy1759;
goto yy11;
-yy1640:
+yy1682:
yych = *++cursor_;
- if (yych == 'e') goto yy1718;
+ if (yych == 'e') goto yy1760;
goto yy11;
-yy1641:
+yy1683:
yych = *++cursor_;
- if (yych == '_') goto yy1719;
+ if (yych == '_') goto yy1761;
goto yy11;
-yy1642:
+yy1684:
yych = *++cursor_;
- if (yych == '_') goto yy1720;
+ if (yych == '_') goto yy1762;
goto yy11;
-yy1643:
+yy1685:
yych = *++cursor_;
- if (yych == '_') goto yy1721;
+ if (yych == '_') goto yy1763;
goto yy11;
-yy1644:
+yy1686:
yych = *++cursor_;
- if (yych == 'u') goto yy1722;
+ if (yych == 'u') goto yy1764;
goto yy11;
-yy1645:
+yy1687:
yych = *++cursor_;
- if (yych == 'e') goto yy1723;
+ if (yych == 'e') goto yy1765;
goto yy11;
-yy1646:
+yy1688:
yych = *++cursor_;
- if (yych == 'e') goto yy1725;
+ if (yych == 'e') goto yy1767;
goto yy11;
-yy1647:
+yy1689:
yych = *++cursor_;
- if (yych == '_') goto yy1727;
+ if (yych == '_') goto yy1769;
goto yy11;
-yy1648:
+yy1690:
yych = *++cursor_;
- if (yych == '_') goto yy1728;
+ if (yych == '_') goto yy1770;
goto yy11;
-yy1649:
+yy1691:
yych = *++cursor_;
- if (yych == 'u') goto yy1729;
+ if (yych == 'u') goto yy1771;
goto yy11;
-yy1650:
+yy1692:
yych = *++cursor_;
- if (yych == 'a') goto yy1730;
+ if (yych == 'a') goto yy1772;
goto yy11;
-yy1651:
+yy1693:
yych = *++cursor_;
- if (yych == 'w') goto yy1731;
+ if (yych == 'w') goto yy1773;
goto yy11;
-yy1652:
+yy1694:
yych = *++cursor_;
- if (yych == 'o') goto yy1732;
+ if (yych == 'o') goto yy1774;
goto yy11;
-yy1653:
+yy1695:
yych = *++cursor_;
- if (yych == 'i') goto yy1733;
+ if (yych == 'i') goto yy1775;
goto yy11;
-yy1654:
+yy1696:
yych = *++cursor_;
- if (yych == 's') goto yy1734;
+ if (yych == 's') goto yy1776;
goto yy11;
-yy1655:
+yy1697:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 332 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I32Extend8S); }
-#line 8608 "src/prebuilt/wast-lexer-gen.cc"
-yy1657:
+#line 8804 "src/prebuilt/wast-lexer-gen.cc"
+yy1699:
yych = *++cursor_;
- if (yych == 'e') goto yy1736;
+ if (yych == 'e') goto yy1778;
goto yy11;
-yy1658:
+yy1700:
yych = *++cursor_;
- if (yych == '3') goto yy1737;
- if (yych == '6') goto yy1738;
+ if (yych == '3') goto yy1779;
+ if (yych == '6') goto yy1780;
goto yy11;
-yy1659:
+yy1701:
yych = *++cursor_;
- if (yych == 'a') goto yy1739;
+ if (yych == 'a') goto yy1781;
goto yy11;
-yy1660:
+yy1702:
yych = *++cursor_;
- if (yych == '3') goto yy1740;
- if (yych == '6') goto yy1741;
+ if (yych == '3') goto yy1782;
+ if (yych == '6') goto yy1783;
goto yy11;
-yy1661:
+yy1703:
yych = *++cursor_;
- if (yych == 'a') goto yy1742;
+ if (yych == 'a') goto yy1784;
goto yy11;
-yy1662:
+yy1704:
yych = *++cursor_;
- if (yych == 'e') goto yy1743;
+ if (yych == 'e') goto yy1785;
goto yy11;
-yy1663:
+yy1705:
yych = *++cursor_;
- if (yych == 'e') goto yy1745;
+ if (yych == 'e') goto yy1787;
goto yy11;
-yy1664:
+yy1706:
yych = *++cursor_;
- if (yych == '_') goto yy1747;
+ if (yych == '_') goto yy1789;
goto yy11;
-yy1665:
+yy1707:
yych = *++cursor_;
- if (yych == '_') goto yy1748;
+ if (yych == '_') goto yy1790;
goto yy11;
-yy1666:
+yy1708:
yych = *++cursor_;
- if (yych == '/') goto yy1749;
+ if (yych == '/') goto yy1791;
goto yy11;
-yy1667:
+yy1709:
yych = *++cursor_;
- if (yych == '/') goto yy1750;
+ if (yych == '/') goto yy1792;
goto yy11;
-yy1668:
+yy1710:
yych = *++cursor_;
- if (yych == 'a') goto yy1751;
+ if (yych == 'a') goto yy1793;
goto yy11;
-yy1669:
+yy1711:
yych = *++cursor_;
- if (yych == 'w') goto yy1752;
+ if (yych == 'w') goto yy1794;
goto yy11;
-yy1670:
+yy1712:
yych = *++cursor_;
- if (yych == 'o') goto yy1753;
+ if (yych == 'o') goto yy1795;
goto yy11;
-yy1671:
+yy1713:
yych = *++cursor_;
- if (yych == 'i') goto yy1754;
+ if (yych == 'i') goto yy1796;
goto yy11;
-yy1672:
+yy1714:
yych = *++cursor_;
- if (yych == 's') goto yy1755;
+ if (yych == 's') goto yy1797;
goto yy11;
-yy1673:
+yy1715:
yych = *++cursor_;
- if (yych == 's') goto yy1757;
+ if (yych == 's') goto yy1799;
goto yy11;
-yy1674:
+yy1716:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 334 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64Extend8S); }
-#line 8686 "src/prebuilt/wast-lexer-gen.cc"
-yy1676:
+#line 8882 "src/prebuilt/wast-lexer-gen.cc"
+yy1718:
yych = *++cursor_;
- if (yych == 'i') goto yy1759;
+ if (yych == 'i') goto yy1801;
goto yy11;
-yy1677:
+yy1719:
yych = *++cursor_;
- if (yych == 'i') goto yy1760;
+ if (yych == 'i') goto yy1802;
goto yy11;
-yy1678:
+yy1720:
yych = *++cursor_;
- if (yych == 'e') goto yy1761;
+ if (yych == 'e') goto yy1803;
goto yy11;
-yy1679:
+yy1721:
yych = *++cursor_;
- if (yych == '3') goto yy1762;
- if (yych == '6') goto yy1763;
+ if (yych == '3') goto yy1804;
+ if (yych == '6') goto yy1805;
goto yy11;
-yy1680:
+yy1722:
yych = *++cursor_;
- if (yych == 'a') goto yy1764;
+ if (yych == 'a') goto yy1806;
goto yy11;
-yy1681:
+yy1723:
yych = *++cursor_;
- if (yych == '3') goto yy1765;
- if (yych == '6') goto yy1766;
+ if (yych == '3') goto yy1807;
+ if (yych == '6') goto yy1808;
goto yy11;
-yy1682:
+yy1724:
yych = *++cursor_;
- if (yych == 'a') goto yy1767;
+ if (yych == 'a') goto yy1809;
goto yy11;
-yy1683:
+yy1725:
yych = *++cursor_;
- if (yych == 'e') goto yy1768;
+ if (yych == 'e') goto yy1810;
goto yy11;
-yy1684:
+yy1726:
yych = *++cursor_;
- if (yych == 'e') goto yy1770;
+ if (yych == 'e') goto yy1812;
goto yy11;
-yy1685:
+yy1727:
yych = *++cursor_;
- if (yych == '_') goto yy1772;
+ if (yych == '_') goto yy1814;
goto yy11;
-yy1686:
+yy1728:
yych = *++cursor_;
- if (yych == '_') goto yy1773;
+ if (yych == '_') goto yy1815;
goto yy11;
-yy1687:
+yy1729:
yych = *++cursor_;
- if (yych == '/') goto yy1774;
+ if (yych == '/') goto yy1816;
goto yy11;
-yy1688:
+yy1730:
yych = *++cursor_;
- if (yych == '/') goto yy1775;
+ if (yych == '/') goto yy1817;
goto yy11;
-yy1689:
+yy1731:
yych = *++cursor_;
- if (yych == 'u') goto yy1776;
+ if (yych == 'u') goto yy1818;
goto yy11;
-yy1690:
+yy1732:
yych = *++cursor_;
- if (yych == 'e') goto yy1777;
+ if (yych == 'e') goto yy1819;
goto yy11;
-yy1691:
+yy1733:
yych = *++cursor_;
- if (yych == 'e') goto yy1779;
+ if (yych == 'e') goto yy1821;
goto yy11;
-yy1692:
+yy1734:
yych = *++cursor_;
- if (yych == '_') goto yy1781;
+ if (yych == '_') goto yy1823;
goto yy11;
-yy1693:
+yy1735:
yych = *++cursor_;
- if (yych == '_') goto yy1782;
+ if (yych == '_') goto yy1824;
goto yy11;
-yy1694:
+yy1736:
yych = *++cursor_;
- if (yych == 'u') goto yy1783;
+ if (yych == 'u') goto yy1825;
goto yy11;
-yy1695:
+yy1737:
yych = *++cursor_;
- if (yych == 'n') goto yy1784;
+ if (yych == 'n') goto yy1826;
goto yy11;
-yy1696:
+yy1738:
yych = *++cursor_;
- if (yych == 't') goto yy1785;
+ if (yych == 't') goto yy1827;
goto yy11;
-yy1697:
+yy1739:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 542 "src/wast-lexer.cc"
+#line 549 "src/wast-lexer.cc"
{ RETURN_OPCODE(SimdShuffleOp, V8X16Shuffle); }
-#line 8780 "src/prebuilt/wast-lexer-gen.cc"
-yy1699:
+#line 8976 "src/prebuilt/wast-lexer-gen.cc"
+yy1741:
yych = *++cursor_;
- if (yych == 'i') goto yy1787;
+ if (yych == 'i') goto yy1829;
goto yy11;
-yy1700:
+yy1742:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 684 "src/wast-lexer.cc"
+#line 692 "src/wast-lexer.cc"
{ RETURN(AssertInvalid); }
-#line 8792 "src/prebuilt/wast-lexer-gen.cc"
-yy1702:
+#line 8988 "src/prebuilt/wast-lexer-gen.cc"
+yy1744:
yych = *++cursor_;
- if (yych == 'e') goto yy1788;
+ if (yych == 'e') goto yy1830;
goto yy11;
-yy1703:
+yy1745:
yych = *++cursor_;
- if (yych == 'a') goto yy1789;
- if (yych == 'c') goto yy1790;
+ if (yych == 'a') goto yy1831;
+ if (yych == 'c') goto yy1832;
goto yy11;
-yy1704:
+yy1746:
yych = *++cursor_;
- if (yych == 'b') goto yy1791;
+ if (yych == 'b') goto yy1833;
goto yy11;
-yy1705:
+yy1747:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 450 "src/wast-lexer.cc"
+#line 454 "src/wast-lexer.cc"
{ RETURN_OPCODE0(MemorySize); }
-#line 8813 "src/prebuilt/wast-lexer-gen.cc"
-yy1707:
+#line 9009 "src/prebuilt/wast-lexer-gen.cc"
+yy1749:
yych = *++cursor_;
- if (yych == 'i') goto yy1792;
+ if (yych == 'i') goto yy1834;
goto yy11;
-yy1708:
+yy1750:
yych = *++cursor_;
- if (yych == 'i') goto yy1793;
+ if (yych == 'i') goto yy1835;
goto yy11;
-yy1709:
+yy1751:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 441 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, F32DemoteF64); }
-#line 8829 "src/prebuilt/wast-lexer-gen.cc"
-yy1711:
+#line 9025 "src/prebuilt/wast-lexer-gen.cc"
+yy1753:
yych = *++cursor_;
- if (yych == 't') goto yy1794;
+ if (yych == 't') goto yy1836;
goto yy11;
-yy1712:
+yy1754:
yych = *++cursor_;
- if (yych == 's') goto yy1795;
- if (yych == 'u') goto yy1796;
+ if (yych == 's') goto yy1837;
+ if (yych == 'u') goto yy1838;
goto yy11;
-yy1713:
+yy1755:
yych = *++cursor_;
- if (yych == 'l') goto yy1797;
+ if (yych == 'l') goto yy1839;
goto yy11;
-yy1714:
+yy1756:
yych = *++cursor_;
- if (yych == 'l') goto yy1798;
+ if (yych == 'l') goto yy1840;
goto yy11;
-yy1715:
+yy1757:
yych = *++cursor_;
- if (yych == 'i') goto yy1799;
+ if (yych == 'i') goto yy1841;
goto yy11;
-yy1716:
+yy1758:
yych = *++cursor_;
- if (yych == 'i') goto yy1800;
+ if (yych == 'i') goto yy1842;
goto yy11;
-yy1717:
+yy1759:
yych = *++cursor_;
- if (yych == '2') goto yy1801;
+ if (yych == '2') goto yy1843;
goto yy11;
-yy1718:
+yy1760:
yych = *++cursor_;
- if (yych == 't') goto yy1803;
+ if (yych == 't') goto yy1845;
goto yy11;
-yy1719:
+yy1761:
yych = *++cursor_;
- if (yych == 's') goto yy1804;
- if (yych == 'u') goto yy1805;
+ if (yych == 's') goto yy1846;
+ if (yych == 'u') goto yy1847;
goto yy11;
-yy1720:
+yy1762:
yych = *++cursor_;
- if (yych == 'l') goto yy1806;
+ if (yych == 'l') goto yy1848;
goto yy11;
-yy1721:
+yy1763:
yych = *++cursor_;
- if (yych == 'l') goto yy1807;
+ if (yych == 'l') goto yy1849;
goto yy11;
-yy1722:
+yy1764:
yych = *++cursor_;
- if (yych == 'r') goto yy1808;
+ if (yych == 'r') goto yy1850;
goto yy11;
-yy1723:
+yy1765:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 588 "src/wast-lexer.cc"
+#line 595 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I16X8AllTrue); }
-#line 8887 "src/prebuilt/wast-lexer-gen.cc"
-yy1725:
+#line 9083 "src/prebuilt/wast-lexer-gen.cc"
+yy1767:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 584 "src/wast-lexer.cc"
+#line 591 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I16X8AnyTrue); }
-#line 8895 "src/prebuilt/wast-lexer-gen.cc"
-yy1727:
+#line 9091 "src/prebuilt/wast-lexer-gen.cc"
+yy1769:
yych = *++cursor_;
- if (yych == 'l') goto yy1809;
+ if (yych == 'l') goto yy1851;
goto yy11;
-yy1728:
+yy1770:
yych = *++cursor_;
- if (yych == 'l') goto yy1810;
+ if (yych == 'l') goto yy1852;
goto yy11;
-yy1729:
+yy1771:
yych = *++cursor_;
- if (yych == 'r') goto yy1811;
+ if (yych == 'r') goto yy1853;
goto yy11;
-yy1730:
+yy1772:
yych = *++cursor_;
- if (yych == 'd') goto yy1812;
+ if (yych == 'd') goto yy1854;
goto yy11;
-yy1731:
+yy1773:
yych = *++cursor_;
if (yych <= '0') {
- if (yych == '.') goto yy1814;
+ if (yych == '.') goto yy1856;
goto yy11;
} else {
- if (yych <= '1') goto yy1815;
- if (yych == '8') goto yy1816;
+ if (yych <= '1') goto yy1857;
+ if (yych == '8') goto yy1858;
goto yy11;
}
-yy1732:
+yy1774:
yych = *++cursor_;
- if (yych == 'r') goto yy1817;
+ if (yych == 'r') goto yy1859;
goto yy11;
-yy1733:
+yy1775:
yych = *++cursor_;
- if (yych == 't') goto yy1818;
+ if (yych == 't') goto yy1860;
goto yy11;
-yy1734:
+yy1776:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 333 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I32Extend16S); }
-#line 8937 "src/prebuilt/wast-lexer-gen.cc"
-yy1736:
+#line 9133 "src/prebuilt/wast-lexer-gen.cc"
+yy1778:
yych = *++cursor_;
- if (yych == 't') goto yy1820;
+ if (yych == 't') goto yy1862;
goto yy11;
-yy1737:
+yy1779:
yych = *++cursor_;
- if (yych == '2') goto yy1821;
+ if (yych == '2') goto yy1863;
goto yy11;
-yy1738:
+yy1780:
yych = *++cursor_;
- if (yych == '4') goto yy1823;
+ if (yych == '4') goto yy1865;
goto yy11;
-yy1739:
+yy1781:
yych = *++cursor_;
- if (yych == 't') goto yy1825;
+ if (yych == 't') goto yy1867;
goto yy11;
-yy1740:
+yy1782:
yych = *++cursor_;
- if (yych == '2') goto yy1826;
+ if (yych == '2') goto yy1868;
goto yy11;
-yy1741:
+yy1783:
yych = *++cursor_;
- if (yych == '4') goto yy1828;
+ if (yych == '4') goto yy1870;
goto yy11;
-yy1742:
+yy1784:
yych = *++cursor_;
- if (yych == 't') goto yy1830;
+ if (yych == 't') goto yy1872;
goto yy11;
-yy1743:
+yy1785:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 589 "src/wast-lexer.cc"
+#line 596 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I32X4AllTrue); }
-#line 8973 "src/prebuilt/wast-lexer-gen.cc"
-yy1745:
+#line 9169 "src/prebuilt/wast-lexer-gen.cc"
+yy1787:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 585 "src/wast-lexer.cc"
+#line 592 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I32X4AnyTrue); }
-#line 8981 "src/prebuilt/wast-lexer-gen.cc"
-yy1747:
+#line 9177 "src/prebuilt/wast-lexer-gen.cc"
+yy1789:
yych = *++cursor_;
- if (yych == 'l') goto yy1831;
+ if (yych == 'l') goto yy1873;
goto yy11;
-yy1748:
+yy1790:
yych = *++cursor_;
- if (yych == 'l') goto yy1832;
+ if (yych == 'l') goto yy1874;
goto yy11;
-yy1749:
+yy1791:
yych = *++cursor_;
- if (yych == 'f') goto yy1833;
+ if (yych == 'f') goto yy1875;
goto yy11;
-yy1750:
+yy1792:
yych = *++cursor_;
- if (yych == 'f') goto yy1834;
+ if (yych == 'f') goto yy1876;
goto yy11;
-yy1751:
+yy1793:
yych = *++cursor_;
- if (yych == 'd') goto yy1835;
+ if (yych == 'd') goto yy1877;
goto yy11;
-yy1752:
+yy1794:
yych = *++cursor_;
switch (yych) {
- case '.': goto yy1837;
- case '1': goto yy1838;
- case '3': goto yy1839;
- case '8': goto yy1840;
+ case '.': goto yy1879;
+ case '1': goto yy1880;
+ case '3': goto yy1881;
+ case '8': goto yy1882;
default: goto yy11;
}
-yy1753:
+yy1795:
yych = *++cursor_;
- if (yych == 'r') goto yy1841;
+ if (yych == 'r') goto yy1883;
goto yy11;
-yy1754:
+yy1796:
yych = *++cursor_;
- if (yych == 't') goto yy1842;
+ if (yych == 't') goto yy1884;
goto yy11;
-yy1755:
+yy1797:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 335 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64Extend16S); }
-#line 9026 "src/prebuilt/wast-lexer-gen.cc"
-yy1757:
+#line 9222 "src/prebuilt/wast-lexer-gen.cc"
+yy1799:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 336 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64Extend32S); }
-#line 9034 "src/prebuilt/wast-lexer-gen.cc"
-yy1759:
+#line 9230 "src/prebuilt/wast-lexer-gen.cc"
+yy1801:
yych = *++cursor_;
- if (yych == '3') goto yy1844;
+ if (yych == '3') goto yy1886;
goto yy11;
-yy1760:
+yy1802:
yych = *++cursor_;
- if (yych == '3') goto yy1845;
+ if (yych == '3') goto yy1887;
goto yy11;
-yy1761:
+yy1803:
yych = *++cursor_;
- if (yych == 't') goto yy1846;
+ if (yych == 't') goto yy1888;
goto yy11;
-yy1762:
+yy1804:
yych = *++cursor_;
- if (yych == '2') goto yy1847;
+ if (yych == '2') goto yy1889;
goto yy11;
-yy1763:
+yy1805:
yych = *++cursor_;
- if (yych == '4') goto yy1849;
+ if (yych == '4') goto yy1891;
goto yy11;
-yy1764:
+yy1806:
yych = *++cursor_;
- if (yych == 't') goto yy1851;
+ if (yych == 't') goto yy1893;
goto yy11;
-yy1765:
+yy1807:
yych = *++cursor_;
- if (yych == '2') goto yy1852;
+ if (yych == '2') goto yy1894;
goto yy11;
-yy1766:
+yy1808:
yych = *++cursor_;
- if (yych == '4') goto yy1854;
+ if (yych == '4') goto yy1896;
goto yy11;
-yy1767:
+yy1809:
yych = *++cursor_;
- if (yych == 't') goto yy1856;
+ if (yych == 't') goto yy1898;
goto yy11;
-yy1768:
+yy1810:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 590 "src/wast-lexer.cc"
+#line 597 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64X2AllTrue); }
-#line 9078 "src/prebuilt/wast-lexer-gen.cc"
-yy1770:
+#line 9274 "src/prebuilt/wast-lexer-gen.cc"
+yy1812:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 586 "src/wast-lexer.cc"
+#line 593 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64X2AnyTrue); }
-#line 9086 "src/prebuilt/wast-lexer-gen.cc"
-yy1772:
+#line 9282 "src/prebuilt/wast-lexer-gen.cc"
+yy1814:
yych = *++cursor_;
- if (yych == 'l') goto yy1857;
+ if (yych == 'l') goto yy1899;
goto yy11;
-yy1773:
+yy1815:
yych = *++cursor_;
- if (yych == 'l') goto yy1858;
+ if (yych == 'l') goto yy1900;
goto yy11;
-yy1774:
+yy1816:
yych = *++cursor_;
- if (yych == 'f') goto yy1859;
+ if (yych == 'f') goto yy1901;
goto yy11;
-yy1775:
+yy1817:
yych = *++cursor_;
- if (yych == 'f') goto yy1860;
+ if (yych == 'f') goto yy1902;
goto yy11;
-yy1776:
+yy1818:
yych = *++cursor_;
- if (yych == 'r') goto yy1861;
+ if (yych == 'r') goto yy1903;
goto yy11;
-yy1777:
+yy1819:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 587 "src/wast-lexer.cc"
+#line 594 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I8X16AllTrue); }
-#line 9114 "src/prebuilt/wast-lexer-gen.cc"
-yy1779:
+#line 9310 "src/prebuilt/wast-lexer-gen.cc"
+yy1821:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 583 "src/wast-lexer.cc"
+#line 590 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I8X16AnyTrue); }
-#line 9122 "src/prebuilt/wast-lexer-gen.cc"
-yy1781:
+#line 9318 "src/prebuilt/wast-lexer-gen.cc"
+yy1823:
yych = *++cursor_;
- if (yych == 'l') goto yy1862;
+ if (yych == 'l') goto yy1904;
goto yy11;
-yy1782:
+yy1824:
yych = *++cursor_;
- if (yych == 'l') goto yy1863;
+ if (yych == 'l') goto yy1905;
goto yy11;
-yy1783:
+yy1825:
yych = *++cursor_;
- if (yych == 'r') goto yy1864;
+ if (yych == 'r') goto yy1906;
goto yy11;
-yy1784:
+yy1826:
yych = *++cursor_;
- if (yych == 'd') goto yy1865;
+ if (yych == 'd') goto yy1907;
goto yy11;
-yy1785:
+yy1827:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 582 "src/wast-lexer.cc"
+#line 589 "src/wast-lexer.cc"
{ RETURN_OPCODE(Ternary, V128BitSelect); }
-#line 9146 "src/prebuilt/wast-lexer-gen.cc"
-yy1787:
+#line 9342 "src/prebuilt/wast-lexer-gen.cc"
+yy1829:
yych = *++cursor_;
- if (yych == 'o') goto yy1866;
+ if (yych == 'o') goto yy1908;
goto yy11;
-yy1788:
+yy1830:
yych = *++cursor_;
- if (yych == 'd') goto yy1867;
+ if (yych == 'd') goto yy1909;
goto yy11;
-yy1789:
+yy1831:
yych = *++cursor_;
- if (yych == 'r') goto yy1869;
+ if (yych == 'r') goto yy1911;
goto yy11;
-yy1790:
+yy1832:
yych = *++cursor_;
- if (yych == 'a') goto yy1870;
+ if (yych == 'a') goto yy1912;
goto yy11;
-yy1791:
+yy1833:
yych = *++cursor_;
- if (yych == 'l') goto yy1871;
+ if (yych == 'l') goto yy1913;
goto yy11;
-yy1792:
+yy1834:
yych = *++cursor_;
- if (yych == '3') goto yy1872;
- if (yych == '6') goto yy1873;
+ if (yych == '3') goto yy1914;
+ if (yych == '6') goto yy1915;
goto yy11;
-yy1793:
+yy1835:
yych = *++cursor_;
- if (yych == '3') goto yy1874;
- if (yych == '6') goto yy1875;
+ if (yych == '3') goto yy1916;
+ if (yych == '6') goto yy1917;
goto yy11;
-yy1794:
+yy1836:
yych = *++cursor_;
- if (yych == '/') goto yy1876;
+ if (yych == '/') goto yy1918;
goto yy11;
-yy1795:
+yy1837:
yych = *++cursor_;
- if (yych == '/') goto yy1877;
+ if (yych == '/') goto yy1919;
goto yy11;
-yy1796:
+yy1838:
yych = *++cursor_;
- if (yych == '/') goto yy1878;
+ if (yych == '/') goto yy1920;
goto yy11;
-yy1797:
+yy1839:
yych = *++cursor_;
- if (yych == 'a') goto yy1879;
+ if (yych == 'a') goto yy1921;
goto yy11;
-yy1798:
+yy1840:
yych = *++cursor_;
- if (yych == 'a') goto yy1880;
+ if (yych == 'a') goto yy1922;
goto yy11;
-yy1799:
+yy1841:
yych = *++cursor_;
- if (yych == '3') goto yy1881;
- if (yych == '6') goto yy1882;
+ if (yych == '3') goto yy1923;
+ if (yych == '6') goto yy1924;
goto yy11;
-yy1800:
+yy1842:
yych = *++cursor_;
- if (yych == '3') goto yy1883;
- if (yych == '6') goto yy1884;
+ if (yych == '3') goto yy1925;
+ if (yych == '6') goto yy1926;
goto yy11;
-yy1801:
+yy1843:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 440 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, F64PromoteF32); }
-#line 9214 "src/prebuilt/wast-lexer-gen.cc"
-yy1803:
+#line 9410 "src/prebuilt/wast-lexer-gen.cc"
+yy1845:
yych = *++cursor_;
- if (yych == '/') goto yy1885;
+ if (yych == '/') goto yy1927;
goto yy11;
-yy1804:
+yy1846:
yych = *++cursor_;
- if (yych == '/') goto yy1886;
+ if (yych == '/') goto yy1928;
goto yy11;
-yy1805:
+yy1847:
yych = *++cursor_;
- if (yych == '/') goto yy1887;
+ if (yych == '/') goto yy1929;
goto yy11;
-yy1806:
+yy1848:
yych = *++cursor_;
- if (yych == 'a') goto yy1888;
+ if (yych == 'a') goto yy1930;
goto yy11;
-yy1807:
+yy1849:
yych = *++cursor_;
- if (yych == 'a') goto yy1889;
+ if (yych == 'a') goto yy1931;
goto yy11;
-yy1808:
+yy1850:
yych = *++cursor_;
- if (yych == 'a') goto yy1890;
+ if (yych == 'a') goto yy1932;
goto yy11;
-yy1809:
+yy1851:
yych = *++cursor_;
- if (yych == 'a') goto yy1891;
+ if (yych == 'a') goto yy1933;
goto yy11;
-yy1810:
+yy1852:
yych = *++cursor_;
- if (yych == 'a') goto yy1892;
+ if (yych == 'a') goto yy1934;
goto yy11;
-yy1811:
+yy1853:
yych = *++cursor_;
- if (yych == 'a') goto yy1893;
+ if (yych == 'a') goto yy1935;
goto yy11;
-yy1812:
+yy1854:
yych = *++cursor_;
if (yych <= '0') {
if (yych <= '"') {
@@ -9258,406 +9454,406 @@ yy1812:
}
} else {
if (yych <= '8') {
- if (yych <= '1') goto yy1894;
+ if (yych <= '1') goto yy1936;
if (yych <= '7') goto yy10;
- goto yy1895;
+ goto yy1937;
} else {
- if (yych == ';') goto yy1813;
+ if (yych == ';') goto yy1855;
if (yych <= '~') goto yy10;
}
}
-yy1813:
-#line 456 "src/wast-lexer.cc"
+yy1855:
+#line 463 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicLoad, I32AtomicLoad); }
-#line 9273 "src/prebuilt/wast-lexer-gen.cc"
-yy1814:
+#line 9469 "src/prebuilt/wast-lexer-gen.cc"
+yy1856:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy1896;
- case 'c': goto yy1897;
- case 'o': goto yy1898;
- case 's': goto yy1899;
- case 'x': goto yy1900;
+ case 'a': goto yy1938;
+ case 'c': goto yy1939;
+ case 'o': goto yy1940;
+ case 's': goto yy1941;
+ case 'x': goto yy1942;
default: goto yy11;
}
-yy1815:
+yy1857:
yych = *++cursor_;
- if (yych == '6') goto yy1901;
+ if (yych == '6') goto yy1943;
goto yy11;
-yy1816:
+yy1858:
yych = *++cursor_;
- if (yych == '_') goto yy1902;
+ if (yych == '_') goto yy1944;
goto yy11;
-yy1817:
+yy1859:
yych = *++cursor_;
- if (yych == 'e') goto yy1903;
+ if (yych == 'e') goto yy1945;
goto yy11;
-yy1818:
+yy1860:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 453 "src/wast-lexer.cc"
+#line 460 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicWait, I32AtomicWait); }
-#line 9303 "src/prebuilt/wast-lexer-gen.cc"
-yy1820:
+#line 9499 "src/prebuilt/wast-lexer-gen.cc"
+yy1862:
yych = *++cursor_;
- if (yych == '/') goto yy1905;
+ if (yych == '/') goto yy1947;
goto yy11;
-yy1821:
+yy1863:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 416 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I32TruncSF32); }
-#line 9315 "src/prebuilt/wast-lexer-gen.cc"
-yy1823:
+#line 9511 "src/prebuilt/wast-lexer-gen.cc"
+yy1865:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 418 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I32TruncSF64); }
-#line 9323 "src/prebuilt/wast-lexer-gen.cc"
-yy1825:
+#line 9519 "src/prebuilt/wast-lexer-gen.cc"
+yy1867:
yych = *++cursor_;
- if (yych == '/') goto yy1906;
+ if (yych == '/') goto yy1948;
goto yy11;
-yy1826:
+yy1868:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 420 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I32TruncUF32); }
-#line 9335 "src/prebuilt/wast-lexer-gen.cc"
-yy1828:
+#line 9531 "src/prebuilt/wast-lexer-gen.cc"
+yy1870:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 422 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I32TruncUF64); }
-#line 9343 "src/prebuilt/wast-lexer-gen.cc"
-yy1830:
+#line 9539 "src/prebuilt/wast-lexer-gen.cc"
+yy1872:
yych = *++cursor_;
- if (yych == '/') goto yy1907;
+ if (yych == '/') goto yy1949;
goto yy11;
-yy1831:
+yy1873:
yych = *++cursor_;
- if (yych == 'a') goto yy1908;
+ if (yych == 'a') goto yy1950;
goto yy11;
-yy1832:
+yy1874:
yych = *++cursor_;
- if (yych == 'a') goto yy1909;
+ if (yych == 'a') goto yy1951;
goto yy11;
-yy1833:
+yy1875:
yych = *++cursor_;
- if (yych == '3') goto yy1910;
+ if (yych == '3') goto yy1952;
goto yy11;
-yy1834:
+yy1876:
yych = *++cursor_;
- if (yych == '3') goto yy1911;
+ if (yych == '3') goto yy1953;
goto yy11;
-yy1835:
+yy1877:
yych = *++cursor_;
if (yych <= '1') {
if (yych <= '"') {
if (yych == '!') goto yy10;
} else {
if (yych <= '\'') goto yy10;
- if (yych <= ')') goto yy1836;
+ if (yych <= ')') goto yy1878;
if (yych <= '0') goto yy10;
- goto yy1912;
+ goto yy1954;
}
} else {
if (yych <= '8') {
- if (yych == '3') goto yy1913;
+ if (yych == '3') goto yy1955;
if (yych <= '7') goto yy10;
- goto yy1914;
+ goto yy1956;
} else {
- if (yych == ';') goto yy1836;
+ if (yych == ';') goto yy1878;
if (yych <= '~') goto yy10;
}
}
-yy1836:
-#line 457 "src/wast-lexer.cc"
+yy1878:
+#line 464 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicLoad, I64AtomicLoad); }
-#line 9388 "src/prebuilt/wast-lexer-gen.cc"
-yy1837:
+#line 9584 "src/prebuilt/wast-lexer-gen.cc"
+yy1879:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy1915;
- case 'c': goto yy1916;
- case 'o': goto yy1917;
- case 's': goto yy1918;
- case 'x': goto yy1919;
+ case 'a': goto yy1957;
+ case 'c': goto yy1958;
+ case 'o': goto yy1959;
+ case 's': goto yy1960;
+ case 'x': goto yy1961;
default: goto yy11;
}
-yy1838:
+yy1880:
yych = *++cursor_;
- if (yych == '6') goto yy1920;
+ if (yych == '6') goto yy1962;
goto yy11;
-yy1839:
+yy1881:
yych = *++cursor_;
- if (yych == '2') goto yy1921;
+ if (yych == '2') goto yy1963;
goto yy11;
-yy1840:
+yy1882:
yych = *++cursor_;
- if (yych == '_') goto yy1922;
+ if (yych == '_') goto yy1964;
goto yy11;
-yy1841:
+yy1883:
yych = *++cursor_;
- if (yych == 'e') goto yy1923;
+ if (yych == 'e') goto yy1965;
goto yy11;
-yy1842:
+yy1884:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 454 "src/wast-lexer.cc"
+#line 461 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicWait, I64AtomicWait); }
-#line 9422 "src/prebuilt/wast-lexer-gen.cc"
-yy1844:
+#line 9618 "src/prebuilt/wast-lexer-gen.cc"
+yy1886:
yych = *++cursor_;
- if (yych == '2') goto yy1925;
+ if (yych == '2') goto yy1967;
goto yy11;
-yy1845:
+yy1887:
yych = *++cursor_;
- if (yych == '2') goto yy1927;
+ if (yych == '2') goto yy1969;
goto yy11;
-yy1846:
+yy1888:
yych = *++cursor_;
- if (yych == '/') goto yy1929;
+ if (yych == '/') goto yy1971;
goto yy11;
-yy1847:
+yy1889:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 417 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I64TruncSF32); }
-#line 9442 "src/prebuilt/wast-lexer-gen.cc"
-yy1849:
+#line 9638 "src/prebuilt/wast-lexer-gen.cc"
+yy1891:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 419 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I64TruncSF64); }
-#line 9450 "src/prebuilt/wast-lexer-gen.cc"
-yy1851:
+#line 9646 "src/prebuilt/wast-lexer-gen.cc"
+yy1893:
yych = *++cursor_;
- if (yych == '/') goto yy1930;
+ if (yych == '/') goto yy1972;
goto yy11;
-yy1852:
+yy1894:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 421 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I64TruncUF32); }
-#line 9462 "src/prebuilt/wast-lexer-gen.cc"
-yy1854:
+#line 9658 "src/prebuilt/wast-lexer-gen.cc"
+yy1896:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 423 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I64TruncUF64); }
-#line 9470 "src/prebuilt/wast-lexer-gen.cc"
-yy1856:
+#line 9666 "src/prebuilt/wast-lexer-gen.cc"
+yy1898:
yych = *++cursor_;
- if (yych == '/') goto yy1931;
+ if (yych == '/') goto yy1973;
goto yy11;
-yy1857:
+yy1899:
yych = *++cursor_;
- if (yych == 'a') goto yy1932;
+ if (yych == 'a') goto yy1974;
goto yy11;
-yy1858:
+yy1900:
yych = *++cursor_;
- if (yych == 'a') goto yy1933;
+ if (yych == 'a') goto yy1975;
goto yy11;
-yy1859:
+yy1901:
yych = *++cursor_;
- if (yych == '6') goto yy1934;
+ if (yych == '6') goto yy1976;
goto yy11;
-yy1860:
+yy1902:
yych = *++cursor_;
- if (yych == '6') goto yy1935;
+ if (yych == '6') goto yy1977;
goto yy11;
-yy1861:
+yy1903:
yych = *++cursor_;
- if (yych == 'a') goto yy1936;
+ if (yych == 'a') goto yy1978;
goto yy11;
-yy1862:
+yy1904:
yych = *++cursor_;
- if (yych == 'a') goto yy1937;
+ if (yych == 'a') goto yy1979;
goto yy11;
-yy1863:
+yy1905:
yych = *++cursor_;
- if (yych == 'a') goto yy1938;
+ if (yych == 'a') goto yy1980;
goto yy11;
-yy1864:
+yy1906:
yych = *++cursor_;
- if (yych == 'a') goto yy1939;
+ if (yych == 'a') goto yy1981;
goto yy11;
-yy1865:
+yy1907:
yych = *++cursor_;
- if (yych == 'i') goto yy1940;
+ if (yych == 'i') goto yy1982;
goto yy11;
-yy1866:
+yy1908:
yych = *++cursor_;
- if (yych == 'n') goto yy1941;
+ if (yych == 'n') goto yy1983;
goto yy11;
-yy1867:
+yy1909:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 683 "src/wast-lexer.cc"
+#line 691 "src/wast-lexer.cc"
{ RETURN(AssertMalformed); }
-#line 9522 "src/prebuilt/wast-lexer-gen.cc"
-yy1869:
+#line 9718 "src/prebuilt/wast-lexer-gen.cc"
+yy1911:
yych = *++cursor_;
- if (yych == 'i') goto yy1943;
+ if (yych == 'i') goto yy1985;
goto yy11;
-yy1870:
+yy1912:
yych = *++cursor_;
- if (yych == 'n') goto yy1944;
+ if (yych == 'n') goto yy1986;
goto yy11;
-yy1871:
+yy1913:
yych = *++cursor_;
- if (yych == 'e') goto yy1945;
+ if (yych == 'e') goto yy1987;
goto yy11;
-yy1872:
+yy1914:
yych = *++cursor_;
- if (yych == '2') goto yy1947;
+ if (yych == '2') goto yy1989;
goto yy11;
-yy1873:
+yy1915:
yych = *++cursor_;
- if (yych == '4') goto yy1949;
+ if (yych == '4') goto yy1991;
goto yy11;
-yy1874:
+yy1916:
yych = *++cursor_;
- if (yych == '2') goto yy1951;
+ if (yych == '2') goto yy1993;
goto yy11;
-yy1875:
+yy1917:
yych = *++cursor_;
- if (yych == '4') goto yy1953;
+ if (yych == '4') goto yy1995;
goto yy11;
-yy1876:
+yy1918:
yych = *++cursor_;
- if (yych == 'i') goto yy1955;
+ if (yych == 'i') goto yy1997;
goto yy11;
-yy1877:
+yy1919:
yych = *++cursor_;
- if (yych == 'i') goto yy1956;
+ if (yych == 'i') goto yy1998;
goto yy11;
-yy1878:
+yy1920:
yych = *++cursor_;
- if (yych == 'i') goto yy1957;
+ if (yych == 'i') goto yy1999;
goto yy11;
-yy1879:
+yy1921:
yych = *++cursor_;
- if (yych == 'n') goto yy1958;
+ if (yych == 'n') goto yy2000;
goto yy11;
-yy1880:
+yy1922:
yych = *++cursor_;
- if (yych == 'n') goto yy1959;
+ if (yych == 'n') goto yy2001;
goto yy11;
-yy1881:
+yy1923:
yych = *++cursor_;
- if (yych == '2') goto yy1960;
+ if (yych == '2') goto yy2002;
goto yy11;
-yy1882:
+yy1924:
yych = *++cursor_;
- if (yych == '4') goto yy1962;
+ if (yych == '4') goto yy2004;
goto yy11;
-yy1883:
+yy1925:
yych = *++cursor_;
- if (yych == '2') goto yy1964;
+ if (yych == '2') goto yy2006;
goto yy11;
-yy1884:
+yy1926:
yych = *++cursor_;
- if (yych == '4') goto yy1966;
+ if (yych == '4') goto yy2008;
goto yy11;
-yy1885:
+yy1927:
yych = *++cursor_;
- if (yych == 'i') goto yy1968;
+ if (yych == 'i') goto yy2010;
goto yy11;
-yy1886:
+yy1928:
yych = *++cursor_;
- if (yych == 'i') goto yy1969;
+ if (yych == 'i') goto yy2011;
goto yy11;
-yy1887:
+yy1929:
yych = *++cursor_;
- if (yych == 'i') goto yy1970;
+ if (yych == 'i') goto yy2012;
goto yy11;
-yy1888:
+yy1930:
yych = *++cursor_;
- if (yych == 'n') goto yy1971;
+ if (yych == 'n') goto yy2013;
goto yy11;
-yy1889:
+yy1931:
yych = *++cursor_;
- if (yych == 'n') goto yy1972;
+ if (yych == 'n') goto yy2014;
goto yy11;
-yy1890:
+yy1932:
yych = *++cursor_;
- if (yych == 't') goto yy1973;
+ if (yych == 't') goto yy2015;
goto yy11;
-yy1891:
+yy1933:
yych = *++cursor_;
- if (yych == 'n') goto yy1974;
+ if (yych == 'n') goto yy2016;
goto yy11;
-yy1892:
+yy1934:
yych = *++cursor_;
- if (yych == 'n') goto yy1975;
+ if (yych == 'n') goto yy2017;
goto yy11;
-yy1893:
+yy1935:
yych = *++cursor_;
- if (yych == 't') goto yy1976;
+ if (yych == 't') goto yy2018;
goto yy11;
-yy1894:
+yy1936:
yych = *++cursor_;
- if (yych == '6') goto yy1977;
+ if (yych == '6') goto yy2019;
goto yy11;
-yy1895:
+yy1937:
yych = *++cursor_;
- if (yych == '_') goto yy1978;
+ if (yych == '_') goto yy2020;
goto yy11;
-yy1896:
+yy1938:
yych = *++cursor_;
- if (yych == 'd') goto yy1979;
- if (yych == 'n') goto yy1980;
+ if (yych == 'd') goto yy2021;
+ if (yych == 'n') goto yy2022;
goto yy11;
-yy1897:
+yy1939:
yych = *++cursor_;
- if (yych == 'm') goto yy1981;
+ if (yych == 'm') goto yy2023;
goto yy11;
-yy1898:
+yy1940:
yych = *++cursor_;
- if (yych == 'r') goto yy1982;
+ if (yych == 'r') goto yy2024;
goto yy11;
-yy1899:
+yy1941:
yych = *++cursor_;
- if (yych == 'u') goto yy1984;
+ if (yych == 'u') goto yy2026;
goto yy11;
-yy1900:
+yy1942:
yych = *++cursor_;
- if (yych == 'c') goto yy1985;
- if (yych == 'o') goto yy1986;
+ if (yych == 'c') goto yy2027;
+ if (yych == 'o') goto yy2028;
goto yy11;
-yy1901:
+yy1943:
yych = *++cursor_;
- if (yych == '_') goto yy1987;
+ if (yych == '_') goto yy2029;
goto yy11;
-yy1902:
+yy1944:
yych = *++cursor_;
- if (yych == 'u') goto yy1988;
+ if (yych == 'u') goto yy2030;
goto yy11;
-yy1903:
+yy1945:
yych = *++cursor_;
if (yych <= '0') {
if (yych <= '"') {
@@ -9668,2095 +9864,2095 @@ yy1903:
}
} else {
if (yych <= '8') {
- if (yych <= '1') goto yy1989;
+ if (yych <= '1') goto yy2031;
if (yych <= '7') goto yy10;
- goto yy1990;
+ goto yy2032;
} else {
- if (yych == ';') goto yy1904;
+ if (yych == ';') goto yy1946;
if (yych <= '~') goto yy10;
}
}
-yy1904:
-#line 463 "src/wast-lexer.cc"
+yy1946:
+#line 470 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicStore, I32AtomicStore); }
-#line 9683 "src/prebuilt/wast-lexer-gen.cc"
-yy1905:
+#line 9879 "src/prebuilt/wast-lexer-gen.cc"
+yy1947:
yych = *++cursor_;
- if (yych == 'f') goto yy1992;
+ if (yych == 'f') goto yy2034;
goto yy11;
-yy1906:
+yy1948:
yych = *++cursor_;
- if (yych == 'f') goto yy1993;
+ if (yych == 'f') goto yy2035;
goto yy11;
-yy1907:
+yy1949:
yych = *++cursor_;
- if (yych == 'f') goto yy1994;
+ if (yych == 'f') goto yy2036;
goto yy11;
-yy1908:
+yy1950:
yych = *++cursor_;
- if (yych == 'n') goto yy1995;
+ if (yych == 'n') goto yy2037;
goto yy11;
-yy1909:
+yy1951:
yych = *++cursor_;
- if (yych == 'n') goto yy1996;
+ if (yych == 'n') goto yy2038;
goto yy11;
-yy1910:
+yy1952:
yych = *++cursor_;
- if (yych == '2') goto yy1997;
+ if (yych == '2') goto yy2039;
goto yy11;
-yy1911:
+yy1953:
yych = *++cursor_;
- if (yych == '2') goto yy1998;
+ if (yych == '2') goto yy2040;
goto yy11;
-yy1912:
+yy1954:
yych = *++cursor_;
- if (yych == '6') goto yy1999;
+ if (yych == '6') goto yy2041;
goto yy11;
-yy1913:
+yy1955:
yych = *++cursor_;
- if (yych == '2') goto yy2000;
+ if (yych == '2') goto yy2042;
goto yy11;
-yy1914:
+yy1956:
yych = *++cursor_;
- if (yych == '_') goto yy2001;
+ if (yych == '_') goto yy2043;
goto yy11;
-yy1915:
+yy1957:
yych = *++cursor_;
- if (yych == 'd') goto yy2002;
- if (yych == 'n') goto yy2003;
+ if (yych == 'd') goto yy2044;
+ if (yych == 'n') goto yy2045;
goto yy11;
-yy1916:
+yy1958:
yych = *++cursor_;
- if (yych == 'm') goto yy2004;
+ if (yych == 'm') goto yy2046;
goto yy11;
-yy1917:
+yy1959:
yych = *++cursor_;
- if (yych == 'r') goto yy2005;
+ if (yych == 'r') goto yy2047;
goto yy11;
-yy1918:
+yy1960:
yych = *++cursor_;
- if (yych == 'u') goto yy2007;
+ if (yych == 'u') goto yy2049;
goto yy11;
-yy1919:
+yy1961:
yych = *++cursor_;
- if (yych == 'c') goto yy2008;
- if (yych == 'o') goto yy2009;
+ if (yych == 'c') goto yy2050;
+ if (yych == 'o') goto yy2051;
goto yy11;
-yy1920:
+yy1962:
yych = *++cursor_;
- if (yych == '_') goto yy2010;
+ if (yych == '_') goto yy2052;
goto yy11;
-yy1921:
+yy1963:
yych = *++cursor_;
- if (yych == '_') goto yy2011;
+ if (yych == '_') goto yy2053;
goto yy11;
-yy1922:
+yy1964:
yych = *++cursor_;
- if (yych == 'u') goto yy2012;
+ if (yych == 'u') goto yy2054;
goto yy11;
-yy1923:
+yy1965:
yych = *++cursor_;
if (yych <= '1') {
if (yych <= '"') {
if (yych == '!') goto yy10;
} else {
if (yych <= '\'') goto yy10;
- if (yych <= ')') goto yy1924;
+ if (yych <= ')') goto yy1966;
if (yych <= '0') goto yy10;
- goto yy2013;
+ goto yy2055;
}
} else {
if (yych <= '8') {
- if (yych == '3') goto yy2014;
+ if (yych == '3') goto yy2056;
if (yych <= '7') goto yy10;
- goto yy2015;
+ goto yy2057;
} else {
- if (yych == ';') goto yy1924;
+ if (yych == ';') goto yy1966;
if (yych <= '~') goto yy10;
}
}
-yy1924:
-#line 464 "src/wast-lexer.cc"
+yy1966:
+#line 471 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicStore, I64AtomicStore); }
-#line 9782 "src/prebuilt/wast-lexer-gen.cc"
-yy1925:
+#line 9978 "src/prebuilt/wast-lexer-gen.cc"
+yy1967:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 413 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I64ExtendSI32); }
-#line 9790 "src/prebuilt/wast-lexer-gen.cc"
-yy1927:
+#line 9986 "src/prebuilt/wast-lexer-gen.cc"
+yy1969:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 414 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I64ExtendUI32); }
-#line 9798 "src/prebuilt/wast-lexer-gen.cc"
-yy1929:
+#line 9994 "src/prebuilt/wast-lexer-gen.cc"
+yy1971:
yych = *++cursor_;
- if (yych == 'f') goto yy2017;
+ if (yych == 'f') goto yy2059;
goto yy11;
-yy1930:
+yy1972:
yych = *++cursor_;
- if (yych == 'f') goto yy2018;
+ if (yych == 'f') goto yy2060;
goto yy11;
-yy1931:
+yy1973:
yych = *++cursor_;
- if (yych == 'f') goto yy2019;
+ if (yych == 'f') goto yy2061;
goto yy11;
-yy1932:
+yy1974:
yych = *++cursor_;
- if (yych == 'n') goto yy2020;
+ if (yych == 'n') goto yy2062;
goto yy11;
-yy1933:
+yy1975:
yych = *++cursor_;
- if (yych == 'n') goto yy2021;
+ if (yych == 'n') goto yy2063;
goto yy11;
-yy1934:
+yy1976:
yych = *++cursor_;
- if (yych == '4') goto yy2022;
+ if (yych == '4') goto yy2064;
goto yy11;
-yy1935:
+yy1977:
yych = *++cursor_;
- if (yych == '4') goto yy2023;
+ if (yych == '4') goto yy2065;
goto yy11;
-yy1936:
+yy1978:
yych = *++cursor_;
- if (yych == 't') goto yy2024;
+ if (yych == 't') goto yy2066;
goto yy11;
-yy1937:
+yy1979:
yych = *++cursor_;
- if (yych == 'n') goto yy2025;
+ if (yych == 'n') goto yy2067;
goto yy11;
-yy1938:
+yy1980:
yych = *++cursor_;
- if (yych == 'n') goto yy2026;
+ if (yych == 'n') goto yy2068;
goto yy11;
-yy1939:
+yy1981:
yych = *++cursor_;
- if (yych == 't') goto yy2027;
+ if (yych == 't') goto yy2069;
goto yy11;
-yy1940:
+yy1982:
yych = *++cursor_;
- if (yych == 'r') goto yy2028;
+ if (yych == 'r') goto yy2070;
goto yy11;
-yy1941:
+yy1983:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 690 "src/wast-lexer.cc"
+#line 698 "src/wast-lexer.cc"
{ RETURN(AssertExhaustion); }
-#line 9854 "src/prebuilt/wast-lexer-gen.cc"
-yy1943:
+#line 10050 "src/prebuilt/wast-lexer-gen.cc"
+yy1985:
yych = *++cursor_;
- if (yych == 't') goto yy2029;
+ if (yych == 't') goto yy2071;
goto yy11;
-yy1944:
+yy1986:
yych = *++cursor_;
- if (yych == 'o') goto yy2030;
+ if (yych == 'o') goto yy2072;
goto yy11;
-yy1945:
+yy1987:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 685 "src/wast-lexer.cc"
+#line 693 "src/wast-lexer.cc"
{ RETURN(AssertUnlinkable); }
-#line 9870 "src/prebuilt/wast-lexer-gen.cc"
-yy1947:
+#line 10066 "src/prebuilt/wast-lexer-gen.cc"
+yy1989:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 432 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, F32ConvertSI32); }
-#line 9878 "src/prebuilt/wast-lexer-gen.cc"
-yy1949:
+#line 10074 "src/prebuilt/wast-lexer-gen.cc"
+yy1991:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 434 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, F32ConvertSI64); }
-#line 9886 "src/prebuilt/wast-lexer-gen.cc"
-yy1951:
+#line 10082 "src/prebuilt/wast-lexer-gen.cc"
+yy1993:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 436 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, F32ConvertUI32); }
-#line 9894 "src/prebuilt/wast-lexer-gen.cc"
-yy1953:
+#line 10090 "src/prebuilt/wast-lexer-gen.cc"
+yy1995:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 438 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, F32ConvertUI64); }
-#line 9902 "src/prebuilt/wast-lexer-gen.cc"
-yy1955:
+#line 10098 "src/prebuilt/wast-lexer-gen.cc"
+yy1997:
yych = *++cursor_;
- if (yych == '3') goto yy2031;
+ if (yych == '3') goto yy2073;
goto yy11;
-yy1956:
+yy1998:
yych = *++cursor_;
- if (yych == '3') goto yy2032;
+ if (yych == '3') goto yy2074;
goto yy11;
-yy1957:
+yy1999:
yych = *++cursor_;
- if (yych == '3') goto yy2033;
+ if (yych == '3') goto yy2075;
goto yy11;
-yy1958:
+yy2000:
yych = *++cursor_;
- if (yych == 'e') goto yy2034;
+ if (yych == 'e') goto yy2076;
goto yy11;
-yy1959:
+yy2001:
yych = *++cursor_;
- if (yych == 'e') goto yy2036;
+ if (yych == 'e') goto yy2078;
goto yy11;
-yy1960:
+yy2002:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 433 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, F64ConvertSI32); }
-#line 9930 "src/prebuilt/wast-lexer-gen.cc"
-yy1962:
+#line 10126 "src/prebuilt/wast-lexer-gen.cc"
+yy2004:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 435 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, F64ConvertSI64); }
-#line 9938 "src/prebuilt/wast-lexer-gen.cc"
-yy1964:
+#line 10134 "src/prebuilt/wast-lexer-gen.cc"
+yy2006:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 437 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, F64ConvertUI32); }
-#line 9946 "src/prebuilt/wast-lexer-gen.cc"
-yy1966:
+#line 10142 "src/prebuilt/wast-lexer-gen.cc"
+yy2008:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 439 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, F64ConvertUI64); }
-#line 9954 "src/prebuilt/wast-lexer-gen.cc"
-yy1968:
+#line 10150 "src/prebuilt/wast-lexer-gen.cc"
+yy2010:
yych = *++cursor_;
- if (yych == '6') goto yy2038;
+ if (yych == '6') goto yy2080;
goto yy11;
-yy1969:
+yy2011:
yych = *++cursor_;
- if (yych == '6') goto yy2039;
+ if (yych == '6') goto yy2081;
goto yy11;
-yy1970:
+yy2012:
yych = *++cursor_;
- if (yych == '6') goto yy2040;
+ if (yych == '6') goto yy2082;
goto yy11;
-yy1971:
+yy2013:
yych = *++cursor_;
- if (yych == 'e') goto yy2041;
+ if (yych == 'e') goto yy2083;
goto yy11;
-yy1972:
+yy2014:
yych = *++cursor_;
- if (yych == 'e') goto yy2043;
+ if (yych == 'e') goto yy2085;
goto yy11;
-yy1973:
+yy2015:
yych = *++cursor_;
- if (yych == 'e') goto yy2045;
+ if (yych == 'e') goto yy2087;
goto yy11;
-yy1974:
+yy2016:
yych = *++cursor_;
- if (yych == 'e') goto yy2046;
+ if (yych == 'e') goto yy2088;
goto yy11;
-yy1975:
+yy2017:
yych = *++cursor_;
- if (yych == 'e') goto yy2047;
+ if (yych == 'e') goto yy2089;
goto yy11;
-yy1976:
+yy2018:
yych = *++cursor_;
- if (yych == 'e') goto yy2049;
+ if (yych == 'e') goto yy2091;
goto yy11;
-yy1977:
+yy2019:
yych = *++cursor_;
- if (yych == '_') goto yy2050;
+ if (yych == '_') goto yy2092;
goto yy11;
-yy1978:
+yy2020:
yych = *++cursor_;
- if (yych == 'u') goto yy2051;
+ if (yych == 'u') goto yy2093;
goto yy11;
-yy1979:
+yy2021:
yych = *++cursor_;
- if (yych == 'd') goto yy2053;
+ if (yych == 'd') goto yy2095;
goto yy11;
-yy1980:
+yy2022:
yych = *++cursor_;
- if (yych == 'd') goto yy2055;
+ if (yych == 'd') goto yy2097;
goto yy11;
-yy1981:
+yy2023:
yych = *++cursor_;
- if (yych == 'p') goto yy2057;
+ if (yych == 'p') goto yy2099;
goto yy11;
-yy1982:
+yy2024:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 491 "src/wast-lexer.cc"
+#line 498 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmwOr); }
-#line 10018 "src/prebuilt/wast-lexer-gen.cc"
-yy1984:
+#line 10214 "src/prebuilt/wast-lexer-gen.cc"
+yy2026:
yych = *++cursor_;
- if (yych == 'b') goto yy2058;
+ if (yych == 'b') goto yy2100;
goto yy11;
-yy1985:
+yy2027:
yych = *++cursor_;
- if (yych == 'h') goto yy2060;
+ if (yych == 'h') goto yy2102;
goto yy11;
-yy1986:
+yy2028:
yych = *++cursor_;
- if (yych == 'r') goto yy2061;
+ if (yych == 'r') goto yy2103;
goto yy11;
-yy1987:
+yy2029:
yych = *++cursor_;
- if (yych == 'u') goto yy2063;
+ if (yych == 'u') goto yy2105;
goto yy11;
-yy1988:
+yy2030:
yych = *++cursor_;
- if (yych == '.') goto yy2064;
+ if (yych == '.') goto yy2106;
goto yy11;
-yy1989:
+yy2031:
yych = *++cursor_;
- if (yych == '6') goto yy2065;
+ if (yych == '6') goto yy2107;
goto yy11;
-yy1990:
+yy2032:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 465 "src/wast-lexer.cc"
+#line 472 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicStore, I32AtomicStore8); }
-#line 10050 "src/prebuilt/wast-lexer-gen.cc"
-yy1992:
+#line 10246 "src/prebuilt/wast-lexer-gen.cc"
+yy2034:
yych = *++cursor_;
- if (yych == '3') goto yy2067;
+ if (yych == '3') goto yy2109;
goto yy11;
-yy1993:
+yy2035:
yych = *++cursor_;
- if (yych == '3') goto yy2068;
- if (yych == '6') goto yy2069;
+ if (yych == '3') goto yy2110;
+ if (yych == '6') goto yy2111;
goto yy11;
-yy1994:
+yy2036:
yych = *++cursor_;
- if (yych == '3') goto yy2070;
- if (yych == '6') goto yy2071;
+ if (yych == '3') goto yy2112;
+ if (yych == '6') goto yy2113;
goto yy11;
-yy1995:
+yy2037:
yych = *++cursor_;
- if (yych == 'e') goto yy2072;
+ if (yych == 'e') goto yy2114;
goto yy11;
-yy1996:
+yy2038:
yych = *++cursor_;
- if (yych == 'e') goto yy2074;
+ if (yych == 'e') goto yy2116;
goto yy11;
-yy1997:
+yy2039:
yych = *++cursor_;
- if (yych == 'x') goto yy2076;
+ if (yych == 'x') goto yy2118;
goto yy11;
-yy1998:
+yy2040:
yych = *++cursor_;
- if (yych == 'x') goto yy2077;
+ if (yych == 'x') goto yy2119;
goto yy11;
-yy1999:
+yy2041:
yych = *++cursor_;
- if (yych == '_') goto yy2078;
+ if (yych == '_') goto yy2120;
goto yy11;
-yy2000:
+yy2042:
yych = *++cursor_;
- if (yych == '_') goto yy2079;
+ if (yych == '_') goto yy2121;
goto yy11;
-yy2001:
+yy2043:
yych = *++cursor_;
- if (yych == 'u') goto yy2080;
+ if (yych == 'u') goto yy2122;
goto yy11;
-yy2002:
+yy2044:
yych = *++cursor_;
- if (yych == 'd') goto yy2082;
+ if (yych == 'd') goto yy2124;
goto yy11;
-yy2003:
+yy2045:
yych = *++cursor_;
- if (yych == 'd') goto yy2084;
+ if (yych == 'd') goto yy2126;
goto yy11;
-yy2004:
+yy2046:
yych = *++cursor_;
- if (yych == 'p') goto yy2086;
+ if (yych == 'p') goto yy2128;
goto yy11;
-yy2005:
+yy2047:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 492 "src/wast-lexer.cc"
+#line 499 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmwOr); }
-#line 10112 "src/prebuilt/wast-lexer-gen.cc"
-yy2007:
+#line 10308 "src/prebuilt/wast-lexer-gen.cc"
+yy2049:
yych = *++cursor_;
- if (yych == 'b') goto yy2087;
+ if (yych == 'b') goto yy2129;
goto yy11;
-yy2008:
+yy2050:
yych = *++cursor_;
- if (yych == 'h') goto yy2089;
+ if (yych == 'h') goto yy2131;
goto yy11;
-yy2009:
+yy2051:
yych = *++cursor_;
- if (yych == 'r') goto yy2090;
+ if (yych == 'r') goto yy2132;
goto yy11;
-yy2010:
+yy2052:
yych = *++cursor_;
- if (yych == 'u') goto yy2092;
+ if (yych == 'u') goto yy2134;
goto yy11;
-yy2011:
+yy2053:
yych = *++cursor_;
- if (yych == 'u') goto yy2093;
+ if (yych == 'u') goto yy2135;
goto yy11;
-yy2012:
+yy2054:
yych = *++cursor_;
- if (yych == '.') goto yy2094;
+ if (yych == '.') goto yy2136;
goto yy11;
-yy2013:
+yy2055:
yych = *++cursor_;
- if (yych == '6') goto yy2095;
+ if (yych == '6') goto yy2137;
goto yy11;
-yy2014:
+yy2056:
yych = *++cursor_;
- if (yych == '2') goto yy2097;
+ if (yych == '2') goto yy2139;
goto yy11;
-yy2015:
+yy2057:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 467 "src/wast-lexer.cc"
+#line 474 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicStore, I64AtomicStore8); }
-#line 10152 "src/prebuilt/wast-lexer-gen.cc"
-yy2017:
+#line 10348 "src/prebuilt/wast-lexer-gen.cc"
+yy2059:
yych = *++cursor_;
- if (yych == '6') goto yy2099;
+ if (yych == '6') goto yy2141;
goto yy11;
-yy2018:
+yy2060:
yych = *++cursor_;
- if (yych == '3') goto yy2100;
- if (yych == '6') goto yy2101;
+ if (yych == '3') goto yy2142;
+ if (yych == '6') goto yy2143;
goto yy11;
-yy2019:
+yy2061:
yych = *++cursor_;
- if (yych == '3') goto yy2102;
- if (yych == '6') goto yy2103;
+ if (yych == '3') goto yy2144;
+ if (yych == '6') goto yy2145;
goto yy11;
-yy2020:
+yy2062:
yych = *++cursor_;
- if (yych == 'e') goto yy2104;
+ if (yych == 'e') goto yy2146;
goto yy11;
-yy2021:
+yy2063:
yych = *++cursor_;
- if (yych == 'e') goto yy2106;
+ if (yych == 'e') goto yy2148;
goto yy11;
-yy2022:
+yy2064:
yych = *++cursor_;
- if (yych == 'x') goto yy2108;
+ if (yych == 'x') goto yy2150;
goto yy11;
-yy2023:
+yy2065:
yych = *++cursor_;
- if (yych == 'x') goto yy2109;
+ if (yych == 'x') goto yy2151;
goto yy11;
-yy2024:
+yy2066:
yych = *++cursor_;
- if (yych == 'e') goto yy2110;
+ if (yych == 'e') goto yy2152;
goto yy11;
-yy2025:
+yy2067:
yych = *++cursor_;
- if (yych == 'e') goto yy2111;
+ if (yych == 'e') goto yy2153;
goto yy11;
-yy2026:
+yy2068:
yych = *++cursor_;
- if (yych == 'e') goto yy2112;
+ if (yych == 'e') goto yy2154;
goto yy11;
-yy2027:
+yy2069:
yych = *++cursor_;
- if (yych == 'e') goto yy2114;
+ if (yych == 'e') goto yy2156;
goto yy11;
-yy2028:
+yy2070:
yych = *++cursor_;
- if (yych == 'e') goto yy2115;
+ if (yych == 'e') goto yy2157;
goto yy11;
-yy2029:
+yy2071:
yych = *++cursor_;
- if (yych == 'h') goto yy2116;
+ if (yych == 'h') goto yy2158;
goto yy11;
-yy2030:
+yy2072:
yych = *++cursor_;
- if (yych == 'n') goto yy2117;
+ if (yych == 'n') goto yy2159;
goto yy11;
-yy2031:
+yy2073:
yych = *++cursor_;
- if (yych == '2') goto yy2118;
+ if (yych == '2') goto yy2160;
goto yy11;
-yy2032:
+yy2074:
yych = *++cursor_;
- if (yych == '2') goto yy2120;
+ if (yych == '2') goto yy2162;
goto yy11;
-yy2033:
+yy2075:
yych = *++cursor_;
- if (yych == '2') goto yy2121;
+ if (yych == '2') goto yy2163;
goto yy11;
-yy2034:
+yy2076:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 534 "src/wast-lexer.cc"
+#line 541 "src/wast-lexer.cc"
{ RETURN_OPCODE(SimdLaneOp, F32X4ExtractLane); }
-#line 10230 "src/prebuilt/wast-lexer-gen.cc"
-yy2036:
+#line 10426 "src/prebuilt/wast-lexer-gen.cc"
+yy2078:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 540 "src/wast-lexer.cc"
+#line 547 "src/wast-lexer.cc"
{ RETURN_OPCODE(SimdLaneOp, F32X4ReplaceLane); }
-#line 10238 "src/prebuilt/wast-lexer-gen.cc"
-yy2038:
+#line 10434 "src/prebuilt/wast-lexer-gen.cc"
+yy2080:
yych = *++cursor_;
- if (yych == '4') goto yy2122;
+ if (yych == '4') goto yy2164;
goto yy11;
-yy2039:
+yy2081:
yych = *++cursor_;
- if (yych == '4') goto yy2124;
+ if (yych == '4') goto yy2166;
goto yy11;
-yy2040:
+yy2082:
yych = *++cursor_;
- if (yych == '4') goto yy2125;
+ if (yych == '4') goto yy2167;
goto yy11;
-yy2041:
+yy2083:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 535 "src/wast-lexer.cc"
+#line 542 "src/wast-lexer.cc"
{ RETURN_OPCODE(SimdLaneOp, F64X2ExtractLane); }
-#line 10258 "src/prebuilt/wast-lexer-gen.cc"
-yy2043:
+#line 10454 "src/prebuilt/wast-lexer-gen.cc"
+yy2085:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 541 "src/wast-lexer.cc"
+#line 548 "src/wast-lexer.cc"
{ RETURN_OPCODE(SimdLaneOp, F64X2ReplaceLane); }
-#line 10266 "src/prebuilt/wast-lexer-gen.cc"
-yy2045:
+#line 10462 "src/prebuilt/wast-lexer-gen.cc"
+yy2087:
yych = *++cursor_;
- if (yych == '_') goto yy2126;
+ if (yych == '_') goto yy2168;
goto yy11;
-yy2046:
+yy2088:
yych = *++cursor_;
- if (yych == '_') goto yy2127;
+ if (yych == '_') goto yy2169;
goto yy11;
-yy2047:
+yy2089:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 537 "src/wast-lexer.cc"
+#line 544 "src/wast-lexer.cc"
{ RETURN_OPCODE(SimdLaneOp, I16X8ReplaceLane); }
-#line 10282 "src/prebuilt/wast-lexer-gen.cc"
-yy2049:
+#line 10478 "src/prebuilt/wast-lexer-gen.cc"
+yy2091:
yych = *++cursor_;
- if (yych == '_') goto yy2128;
+ if (yych == '_') goto yy2170;
goto yy11;
-yy2050:
+yy2092:
yych = *++cursor_;
- if (yych == 'u') goto yy2129;
+ if (yych == 'u') goto yy2171;
goto yy11;
-yy2051:
+yy2093:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 458 "src/wast-lexer.cc"
+#line 465 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicLoad, I32AtomicLoad8U); }
-#line 10298 "src/prebuilt/wast-lexer-gen.cc"
-yy2053:
+#line 10494 "src/prebuilt/wast-lexer-gen.cc"
+yy2095:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 470 "src/wast-lexer.cc"
+#line 477 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmwAdd); }
-#line 10306 "src/prebuilt/wast-lexer-gen.cc"
-yy2055:
+#line 10502 "src/prebuilt/wast-lexer-gen.cc"
+yy2097:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 484 "src/wast-lexer.cc"
+#line 491 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmwAnd); }
-#line 10314 "src/prebuilt/wast-lexer-gen.cc"
-yy2057:
+#line 10510 "src/prebuilt/wast-lexer-gen.cc"
+yy2099:
yych = *++cursor_;
- if (yych == 'x') goto yy2131;
+ if (yych == 'x') goto yy2173;
goto yy11;
-yy2058:
+yy2100:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 477 "src/wast-lexer.cc"
+#line 484 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmwSub); }
-#line 10326 "src/prebuilt/wast-lexer-gen.cc"
-yy2060:
+#line 10522 "src/prebuilt/wast-lexer-gen.cc"
+yy2102:
yych = *++cursor_;
- if (yych == 'g') goto yy2132;
+ if (yych == 'g') goto yy2174;
goto yy11;
-yy2061:
+yy2103:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 498 "src/wast-lexer.cc"
+#line 505 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmwXor); }
-#line 10338 "src/prebuilt/wast-lexer-gen.cc"
-yy2063:
+#line 10534 "src/prebuilt/wast-lexer-gen.cc"
+yy2105:
yych = *++cursor_;
- if (yych == '.') goto yy2134;
+ if (yych == '.') goto yy2176;
goto yy11;
-yy2064:
+yy2106:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy2135;
- case 'c': goto yy2136;
- case 'o': goto yy2137;
- case 's': goto yy2138;
- case 'x': goto yy2139;
+ case 'a': goto yy2177;
+ case 'c': goto yy2178;
+ case 'o': goto yy2179;
+ case 's': goto yy2180;
+ case 'x': goto yy2181;
default: goto yy11;
}
-yy2065:
+yy2107:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 466 "src/wast-lexer.cc"
+#line 473 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicStore, I32AtomicStore16); }
-#line 10360 "src/prebuilt/wast-lexer-gen.cc"
-yy2067:
+#line 10556 "src/prebuilt/wast-lexer-gen.cc"
+yy2109:
yych = *++cursor_;
- if (yych == '2') goto yy2140;
+ if (yych == '2') goto yy2182;
goto yy11;
-yy2068:
+yy2110:
yych = *++cursor_;
- if (yych == '2') goto yy2142;
+ if (yych == '2') goto yy2184;
goto yy11;
-yy2069:
+yy2111:
yych = *++cursor_;
- if (yych == '4') goto yy2144;
+ if (yych == '4') goto yy2186;
goto yy11;
-yy2070:
+yy2112:
yych = *++cursor_;
- if (yych == '2') goto yy2146;
+ if (yych == '2') goto yy2188;
goto yy11;
-yy2071:
+yy2113:
yych = *++cursor_;
- if (yych == '4') goto yy2148;
+ if (yych == '4') goto yy2190;
goto yy11;
-yy2072:
+yy2114:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 532 "src/wast-lexer.cc"
+#line 539 "src/wast-lexer.cc"
{ RETURN_OPCODE(SimdLaneOp, I32X4ExtractLane); }
-#line 10388 "src/prebuilt/wast-lexer-gen.cc"
-yy2074:
+#line 10584 "src/prebuilt/wast-lexer-gen.cc"
+yy2116:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 538 "src/wast-lexer.cc"
+#line 545 "src/wast-lexer.cc"
{ RETURN_OPCODE(SimdLaneOp, I32X4ReplaceLane); }
-#line 10396 "src/prebuilt/wast-lexer-gen.cc"
-yy2076:
+#line 10592 "src/prebuilt/wast-lexer-gen.cc"
+yy2118:
yych = *++cursor_;
- if (yych == '4') goto yy2150;
+ if (yych == '4') goto yy2192;
goto yy11;
-yy2077:
+yy2119:
yych = *++cursor_;
- if (yych == '4') goto yy2151;
+ if (yych == '4') goto yy2193;
goto yy11;
-yy2078:
+yy2120:
yych = *++cursor_;
- if (yych == 'u') goto yy2152;
+ if (yych == 'u') goto yy2194;
goto yy11;
-yy2079:
+yy2121:
yych = *++cursor_;
- if (yych == 'u') goto yy2154;
+ if (yych == 'u') goto yy2196;
goto yy11;
-yy2080:
+yy2122:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 460 "src/wast-lexer.cc"
+#line 467 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicLoad, I64AtomicLoad8U); }
-#line 10420 "src/prebuilt/wast-lexer-gen.cc"
-yy2082:
+#line 10616 "src/prebuilt/wast-lexer-gen.cc"
+yy2124:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 471 "src/wast-lexer.cc"
+#line 478 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmwAdd); }
-#line 10428 "src/prebuilt/wast-lexer-gen.cc"
-yy2084:
+#line 10624 "src/prebuilt/wast-lexer-gen.cc"
+yy2126:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 485 "src/wast-lexer.cc"
+#line 492 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmwAnd); }
-#line 10436 "src/prebuilt/wast-lexer-gen.cc"
-yy2086:
+#line 10632 "src/prebuilt/wast-lexer-gen.cc"
+yy2128:
yych = *++cursor_;
- if (yych == 'x') goto yy2156;
+ if (yych == 'x') goto yy2198;
goto yy11;
-yy2087:
+yy2129:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 478 "src/wast-lexer.cc"
+#line 485 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmwSub); }
-#line 10448 "src/prebuilt/wast-lexer-gen.cc"
-yy2089:
+#line 10644 "src/prebuilt/wast-lexer-gen.cc"
+yy2131:
yych = *++cursor_;
- if (yych == 'g') goto yy2157;
+ if (yych == 'g') goto yy2199;
goto yy11;
-yy2090:
+yy2132:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 499 "src/wast-lexer.cc"
+#line 506 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmwXor); }
-#line 10460 "src/prebuilt/wast-lexer-gen.cc"
-yy2092:
+#line 10656 "src/prebuilt/wast-lexer-gen.cc"
+yy2134:
yych = *++cursor_;
- if (yych == '.') goto yy2159;
+ if (yych == '.') goto yy2201;
goto yy11;
-yy2093:
+yy2135:
yych = *++cursor_;
- if (yych == '.') goto yy2160;
+ if (yych == '.') goto yy2202;
goto yy11;
-yy2094:
+yy2136:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy2161;
- case 'c': goto yy2162;
- case 'o': goto yy2163;
- case 's': goto yy2164;
- case 'x': goto yy2165;
+ case 'a': goto yy2203;
+ case 'c': goto yy2204;
+ case 'o': goto yy2205;
+ case 's': goto yy2206;
+ case 'x': goto yy2207;
default: goto yy11;
}
-yy2095:
+yy2137:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 468 "src/wast-lexer.cc"
+#line 475 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicStore, I64AtomicStore16); }
-#line 10486 "src/prebuilt/wast-lexer-gen.cc"
-yy2097:
+#line 10682 "src/prebuilt/wast-lexer-gen.cc"
+yy2139:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 469 "src/wast-lexer.cc"
+#line 476 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicStore, I64AtomicStore32); }
-#line 10494 "src/prebuilt/wast-lexer-gen.cc"
-yy2099:
+#line 10690 "src/prebuilt/wast-lexer-gen.cc"
+yy2141:
yych = *++cursor_;
- if (yych == '4') goto yy2166;
+ if (yych == '4') goto yy2208;
goto yy11;
-yy2100:
+yy2142:
yych = *++cursor_;
- if (yych == '2') goto yy2168;
+ if (yych == '2') goto yy2210;
goto yy11;
-yy2101:
+yy2143:
yych = *++cursor_;
- if (yych == '4') goto yy2170;
+ if (yych == '4') goto yy2212;
goto yy11;
-yy2102:
+yy2144:
yych = *++cursor_;
- if (yych == '2') goto yy2172;
+ if (yych == '2') goto yy2214;
goto yy11;
-yy2103:
+yy2145:
yych = *++cursor_;
- if (yych == '4') goto yy2174;
+ if (yych == '4') goto yy2216;
goto yy11;
-yy2104:
+yy2146:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 533 "src/wast-lexer.cc"
+#line 540 "src/wast-lexer.cc"
{ RETURN_OPCODE(SimdLaneOp, I64X2ExtractLane); }
-#line 10522 "src/prebuilt/wast-lexer-gen.cc"
-yy2106:
+#line 10718 "src/prebuilt/wast-lexer-gen.cc"
+yy2148:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 539 "src/wast-lexer.cc"
+#line 546 "src/wast-lexer.cc"
{ RETURN_OPCODE(SimdLaneOp, I64X2ReplaceLane); }
-#line 10530 "src/prebuilt/wast-lexer-gen.cc"
-yy2108:
+#line 10726 "src/prebuilt/wast-lexer-gen.cc"
+yy2150:
yych = *++cursor_;
- if (yych == '2') goto yy2176;
+ if (yych == '2') goto yy2218;
goto yy11;
-yy2109:
+yy2151:
yych = *++cursor_;
- if (yych == '2') goto yy2177;
+ if (yych == '2') goto yy2219;
goto yy11;
-yy2110:
+yy2152:
yych = *++cursor_;
- if (yych == '_') goto yy2178;
+ if (yych == '_') goto yy2220;
goto yy11;
-yy2111:
+yy2153:
yych = *++cursor_;
- if (yych == '_') goto yy2179;
+ if (yych == '_') goto yy2221;
goto yy11;
-yy2112:
+yy2154:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 536 "src/wast-lexer.cc"
+#line 543 "src/wast-lexer.cc"
{ RETURN_OPCODE(SimdLaneOp, I8X16ReplaceLane); }
-#line 10554 "src/prebuilt/wast-lexer-gen.cc"
-yy2114:
+#line 10750 "src/prebuilt/wast-lexer-gen.cc"
+yy2156:
yych = *++cursor_;
- if (yych == '_') goto yy2180;
+ if (yych == '_') goto yy2222;
goto yy11;
-yy2115:
+yy2157:
yych = *++cursor_;
- if (yych == 'c') goto yy2181;
+ if (yych == 'c') goto yy2223;
goto yy11;
-yy2116:
+yy2158:
yych = *++cursor_;
- if (yych == 'm') goto yy2182;
+ if (yych == 'm') goto yy2224;
goto yy11;
-yy2117:
+yy2159:
yych = *++cursor_;
- if (yych == 'i') goto yy2183;
+ if (yych == 'i') goto yy2225;
goto yy11;
-yy2118:
+yy2160:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 442 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, F32ReinterpretI32); }
-#line 10578 "src/prebuilt/wast-lexer-gen.cc"
-yy2120:
+#line 10774 "src/prebuilt/wast-lexer-gen.cc"
+yy2162:
yych = *++cursor_;
- if (yych == 'x') goto yy2184;
+ if (yych == 'x') goto yy2226;
goto yy11;
-yy2121:
+yy2163:
yych = *++cursor_;
- if (yych == 'x') goto yy2185;
+ if (yych == 'x') goto yy2227;
goto yy11;
-yy2122:
+yy2164:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 444 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, F64ReinterpretI64); }
-#line 10594 "src/prebuilt/wast-lexer-gen.cc"
-yy2124:
+#line 10790 "src/prebuilt/wast-lexer-gen.cc"
+yy2166:
yych = *++cursor_;
- if (yych == 'x') goto yy2186;
+ if (yych == 'x') goto yy2228;
goto yy11;
-yy2125:
+yy2167:
yych = *++cursor_;
- if (yych == 'x') goto yy2187;
+ if (yych == 'x') goto yy2229;
goto yy11;
-yy2126:
+yy2168:
yych = *++cursor_;
- if (yych == 's') goto yy2188;
- if (yych == 'u') goto yy2190;
+ if (yych == 's') goto yy2230;
+ if (yych == 'u') goto yy2232;
goto yy11;
-yy2127:
+yy2169:
yych = *++cursor_;
- if (yych == 's') goto yy2192;
- if (yych == 'u') goto yy2194;
+ if (yych == 's') goto yy2234;
+ if (yych == 'u') goto yy2236;
goto yy11;
-yy2128:
+yy2170:
yych = *++cursor_;
- if (yych == 's') goto yy2196;
- if (yych == 'u') goto yy2198;
+ if (yych == 's') goto yy2238;
+ if (yych == 'u') goto yy2240;
goto yy11;
-yy2129:
+yy2171:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 459 "src/wast-lexer.cc"
+#line 466 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicLoad, I32AtomicLoad16U); }
-#line 10625 "src/prebuilt/wast-lexer-gen.cc"
-yy2131:
+#line 10821 "src/prebuilt/wast-lexer-gen.cc"
+yy2173:
yych = *++cursor_;
- if (yych == 'c') goto yy2200;
+ if (yych == 'c') goto yy2242;
goto yy11;
-yy2132:
+yy2174:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 505 "src/wast-lexer.cc"
+#line 512 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmwXchg); }
-#line 10637 "src/prebuilt/wast-lexer-gen.cc"
-yy2134:
+#line 10833 "src/prebuilt/wast-lexer-gen.cc"
+yy2176:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy2201;
- case 'c': goto yy2202;
- case 'o': goto yy2203;
- case 's': goto yy2204;
- case 'x': goto yy2205;
+ case 'a': goto yy2243;
+ case 'c': goto yy2244;
+ case 'o': goto yy2245;
+ case 's': goto yy2246;
+ case 'x': goto yy2247;
default: goto yy11;
}
-yy2135:
+yy2177:
yych = *++cursor_;
- if (yych == 'd') goto yy2206;
- if (yych == 'n') goto yy2207;
+ if (yych == 'd') goto yy2248;
+ if (yych == 'n') goto yy2249;
goto yy11;
-yy2136:
+yy2178:
yych = *++cursor_;
- if (yych == 'm') goto yy2208;
+ if (yych == 'm') goto yy2250;
goto yy11;
-yy2137:
+yy2179:
yych = *++cursor_;
- if (yych == 'r') goto yy2209;
+ if (yych == 'r') goto yy2251;
goto yy11;
-yy2138:
+yy2180:
yych = *++cursor_;
- if (yych == 'u') goto yy2211;
+ if (yych == 'u') goto yy2253;
goto yy11;
-yy2139:
+yy2181:
yych = *++cursor_;
- if (yych == 'c') goto yy2212;
- if (yych == 'o') goto yy2213;
+ if (yych == 'c') goto yy2254;
+ if (yych == 'o') goto yy2255;
goto yy11;
-yy2140:
+yy2182:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 443 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I32ReinterpretF32); }
-#line 10677 "src/prebuilt/wast-lexer-gen.cc"
-yy2142:
+#line 10873 "src/prebuilt/wast-lexer-gen.cc"
+yy2184:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 424 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I32TruncSSatF32); }
-#line 10685 "src/prebuilt/wast-lexer-gen.cc"
-yy2144:
+#line 10881 "src/prebuilt/wast-lexer-gen.cc"
+yy2186:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 426 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I32TruncSSatF64); }
-#line 10693 "src/prebuilt/wast-lexer-gen.cc"
-yy2146:
+#line 10889 "src/prebuilt/wast-lexer-gen.cc"
+yy2188:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 428 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I32TruncUSatF32); }
-#line 10701 "src/prebuilt/wast-lexer-gen.cc"
-yy2148:
+#line 10897 "src/prebuilt/wast-lexer-gen.cc"
+yy2190:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 430 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I32TruncUSatF64); }
-#line 10709 "src/prebuilt/wast-lexer-gen.cc"
-yy2150:
+#line 10905 "src/prebuilt/wast-lexer-gen.cc"
+yy2192:
yych = *++cursor_;
- if (yych == ':') goto yy2214;
+ if (yych == ':') goto yy2256;
goto yy11;
-yy2151:
+yy2193:
yych = *++cursor_;
- if (yych == ':') goto yy2215;
+ if (yych == ':') goto yy2257;
goto yy11;
-yy2152:
+yy2194:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 461 "src/wast-lexer.cc"
+#line 468 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicLoad, I64AtomicLoad16U); }
-#line 10725 "src/prebuilt/wast-lexer-gen.cc"
-yy2154:
+#line 10921 "src/prebuilt/wast-lexer-gen.cc"
+yy2196:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 462 "src/wast-lexer.cc"
+#line 469 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicLoad, I64AtomicLoad32U); }
-#line 10733 "src/prebuilt/wast-lexer-gen.cc"
-yy2156:
+#line 10929 "src/prebuilt/wast-lexer-gen.cc"
+yy2198:
yych = *++cursor_;
- if (yych == 'c') goto yy2216;
+ if (yych == 'c') goto yy2258;
goto yy11;
-yy2157:
+yy2199:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 506 "src/wast-lexer.cc"
+#line 513 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmwXchg); }
-#line 10745 "src/prebuilt/wast-lexer-gen.cc"
-yy2159:
+#line 10941 "src/prebuilt/wast-lexer-gen.cc"
+yy2201:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy2217;
- case 'c': goto yy2218;
- case 'o': goto yy2219;
- case 's': goto yy2220;
- case 'x': goto yy2221;
+ case 'a': goto yy2259;
+ case 'c': goto yy2260;
+ case 'o': goto yy2261;
+ case 's': goto yy2262;
+ case 'x': goto yy2263;
default: goto yy11;
}
-yy2160:
+yy2202:
yych = *++cursor_;
switch (yych) {
- case 'a': goto yy2222;
- case 'c': goto yy2223;
- case 'o': goto yy2224;
- case 's': goto yy2225;
- case 'x': goto yy2226;
+ case 'a': goto yy2264;
+ case 'c': goto yy2265;
+ case 'o': goto yy2266;
+ case 's': goto yy2267;
+ case 'x': goto yy2268;
default: goto yy11;
}
-yy2161:
+yy2203:
yych = *++cursor_;
- if (yych == 'd') goto yy2227;
- if (yych == 'n') goto yy2228;
+ if (yych == 'd') goto yy2269;
+ if (yych == 'n') goto yy2270;
goto yy11;
-yy2162:
+yy2204:
yych = *++cursor_;
- if (yych == 'm') goto yy2229;
+ if (yych == 'm') goto yy2271;
goto yy11;
-yy2163:
+yy2205:
yych = *++cursor_;
- if (yych == 'r') goto yy2230;
+ if (yych == 'r') goto yy2272;
goto yy11;
-yy2164:
+yy2206:
yych = *++cursor_;
- if (yych == 'u') goto yy2232;
+ if (yych == 'u') goto yy2274;
goto yy11;
-yy2165:
+yy2207:
yych = *++cursor_;
- if (yych == 'c') goto yy2233;
- if (yych == 'o') goto yy2234;
+ if (yych == 'c') goto yy2275;
+ if (yych == 'o') goto yy2276;
goto yy11;
-yy2166:
+yy2208:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 445 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I64ReinterpretF64); }
-#line 10795 "src/prebuilt/wast-lexer-gen.cc"
-yy2168:
+#line 10991 "src/prebuilt/wast-lexer-gen.cc"
+yy2210:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 425 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I64TruncSSatF32); }
-#line 10803 "src/prebuilt/wast-lexer-gen.cc"
-yy2170:
+#line 10999 "src/prebuilt/wast-lexer-gen.cc"
+yy2212:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 427 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I64TruncSSatF64); }
-#line 10811 "src/prebuilt/wast-lexer-gen.cc"
-yy2172:
+#line 11007 "src/prebuilt/wast-lexer-gen.cc"
+yy2214:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 429 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I64TruncUSatF32); }
-#line 10819 "src/prebuilt/wast-lexer-gen.cc"
-yy2174:
+#line 11015 "src/prebuilt/wast-lexer-gen.cc"
+yy2216:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
#line 431 "src/wast-lexer.cc"
{ RETURN_OPCODE(Convert, I64TruncUSatF64); }
-#line 10827 "src/prebuilt/wast-lexer-gen.cc"
-yy2176:
+#line 11023 "src/prebuilt/wast-lexer-gen.cc"
+yy2218:
yych = *++cursor_;
- if (yych == ':') goto yy2235;
+ if (yych == ':') goto yy2277;
goto yy11;
-yy2177:
+yy2219:
yych = *++cursor_;
- if (yych == ':') goto yy2236;
+ if (yych == ':') goto yy2278;
goto yy11;
-yy2178:
+yy2220:
yych = *++cursor_;
- if (yych == 's') goto yy2237;
- if (yych == 'u') goto yy2239;
+ if (yych == 's') goto yy2279;
+ if (yych == 'u') goto yy2281;
goto yy11;
-yy2179:
+yy2221:
yych = *++cursor_;
- if (yych == 's') goto yy2241;
- if (yych == 'u') goto yy2243;
+ if (yych == 's') goto yy2283;
+ if (yych == 'u') goto yy2285;
goto yy11;
-yy2180:
+yy2222:
yych = *++cursor_;
- if (yych == 's') goto yy2245;
- if (yych == 'u') goto yy2247;
+ if (yych == 's') goto yy2287;
+ if (yych == 'u') goto yy2289;
goto yy11;
-yy2181:
+yy2223:
yych = *++cursor_;
- if (yych == 't') goto yy2249;
+ if (yych == 't') goto yy2291;
goto yy11;
-yy2182:
+yy2224:
yych = *++cursor_;
- if (yych == 'e') goto yy2251;
+ if (yych == 'e') goto yy2293;
goto yy11;
-yy2183:
+yy2225:
yych = *++cursor_;
- if (yych == 'c') goto yy2252;
+ if (yych == 'c') goto yy2294;
goto yy11;
-yy2184:
+yy2226:
yych = *++cursor_;
- if (yych == '4') goto yy2253;
+ if (yych == '4') goto yy2295;
goto yy11;
-yy2185:
+yy2227:
yych = *++cursor_;
- if (yych == '4') goto yy2255;
+ if (yych == '4') goto yy2297;
goto yy11;
-yy2186:
+yy2228:
yych = *++cursor_;
- if (yych == '2') goto yy2257;
+ if (yych == '2') goto yy2299;
goto yy11;
-yy2187:
+yy2229:
yych = *++cursor_;
- if (yych == '2') goto yy2259;
+ if (yych == '2') goto yy2301;
goto yy11;
-yy2188:
+yy2230:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 560 "src/wast-lexer.cc"
+#line 567 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8AddSaturateS); }
-#line 10886 "src/prebuilt/wast-lexer-gen.cc"
-yy2190:
+#line 11082 "src/prebuilt/wast-lexer-gen.cc"
+yy2232:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 561 "src/wast-lexer.cc"
+#line 568 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8AddSaturateU); }
-#line 10894 "src/prebuilt/wast-lexer-gen.cc"
-yy2192:
+#line 11090 "src/prebuilt/wast-lexer-gen.cc"
+yy2234:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 530 "src/wast-lexer.cc"
+#line 537 "src/wast-lexer.cc"
{ RETURN_OPCODE(SimdLaneOp, I16X8ExtractLaneS); }
-#line 10902 "src/prebuilt/wast-lexer-gen.cc"
-yy2194:
+#line 11098 "src/prebuilt/wast-lexer-gen.cc"
+yy2236:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 531 "src/wast-lexer.cc"
+#line 538 "src/wast-lexer.cc"
{ RETURN_OPCODE(SimdLaneOp, I16X8ExtractLaneU); }
-#line 10910 "src/prebuilt/wast-lexer-gen.cc"
-yy2196:
+#line 11106 "src/prebuilt/wast-lexer-gen.cc"
+yy2238:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 564 "src/wast-lexer.cc"
+#line 571 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8SubSaturateS); }
-#line 10918 "src/prebuilt/wast-lexer-gen.cc"
-yy2198:
+#line 11114 "src/prebuilt/wast-lexer-gen.cc"
+yy2240:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 565 "src/wast-lexer.cc"
+#line 572 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I16X8SubSaturateU); }
-#line 10926 "src/prebuilt/wast-lexer-gen.cc"
-yy2200:
+#line 11122 "src/prebuilt/wast-lexer-gen.cc"
+yy2242:
yych = *++cursor_;
- if (yych == 'h') goto yy2261;
+ if (yych == 'h') goto yy2303;
goto yy11;
-yy2201:
+yy2243:
yych = *++cursor_;
- if (yych == 'd') goto yy2262;
- if (yych == 'n') goto yy2263;
+ if (yych == 'd') goto yy2304;
+ if (yych == 'n') goto yy2305;
goto yy11;
-yy2202:
+yy2244:
yych = *++cursor_;
- if (yych == 'm') goto yy2264;
+ if (yych == 'm') goto yy2306;
goto yy11;
-yy2203:
+yy2245:
yych = *++cursor_;
- if (yych == 'r') goto yy2265;
+ if (yych == 'r') goto yy2307;
goto yy11;
-yy2204:
+yy2246:
yych = *++cursor_;
- if (yych == 'u') goto yy2267;
+ if (yych == 'u') goto yy2309;
goto yy11;
-yy2205:
+yy2247:
yych = *++cursor_;
- if (yych == 'c') goto yy2268;
- if (yych == 'o') goto yy2269;
+ if (yych == 'c') goto yy2310;
+ if (yych == 'o') goto yy2311;
goto yy11;
-yy2206:
+yy2248:
yych = *++cursor_;
- if (yych == 'd') goto yy2270;
+ if (yych == 'd') goto yy2312;
goto yy11;
-yy2207:
+yy2249:
yych = *++cursor_;
- if (yych == 'd') goto yy2272;
+ if (yych == 'd') goto yy2314;
goto yy11;
-yy2208:
+yy2250:
yych = *++cursor_;
- if (yych == 'p') goto yy2274;
+ if (yych == 'p') goto yy2316;
goto yy11;
-yy2209:
+yy2251:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 493 "src/wast-lexer.cc"
+#line 500 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UOr); }
-#line 10972 "src/prebuilt/wast-lexer-gen.cc"
-yy2211:
+#line 11168 "src/prebuilt/wast-lexer-gen.cc"
+yy2253:
yych = *++cursor_;
- if (yych == 'b') goto yy2275;
+ if (yych == 'b') goto yy2317;
goto yy11;
-yy2212:
+yy2254:
yych = *++cursor_;
- if (yych == 'h') goto yy2277;
+ if (yych == 'h') goto yy2319;
goto yy11;
-yy2213:
+yy2255:
yych = *++cursor_;
- if (yych == 'r') goto yy2278;
+ if (yych == 'r') goto yy2320;
goto yy11;
-yy2214:
+yy2256:
yych = *++cursor_;
- if (yych == 's') goto yy2280;
+ if (yych == 's') goto yy2322;
goto yy11;
-yy2215:
+yy2257:
yych = *++cursor_;
- if (yych == 's') goto yy2281;
+ if (yych == 's') goto yy2323;
goto yy11;
-yy2216:
+yy2258:
yych = *++cursor_;
- if (yych == 'h') goto yy2282;
+ if (yych == 'h') goto yy2324;
goto yy11;
-yy2217:
+yy2259:
yych = *++cursor_;
- if (yych == 'd') goto yy2283;
- if (yych == 'n') goto yy2284;
+ if (yych == 'd') goto yy2325;
+ if (yych == 'n') goto yy2326;
goto yy11;
-yy2218:
+yy2260:
yych = *++cursor_;
- if (yych == 'm') goto yy2285;
+ if (yych == 'm') goto yy2327;
goto yy11;
-yy2219:
+yy2261:
yych = *++cursor_;
- if (yych == 'r') goto yy2286;
+ if (yych == 'r') goto yy2328;
goto yy11;
-yy2220:
+yy2262:
yych = *++cursor_;
- if (yych == 'u') goto yy2288;
+ if (yych == 'u') goto yy2330;
goto yy11;
-yy2221:
+yy2263:
yych = *++cursor_;
- if (yych == 'c') goto yy2289;
- if (yych == 'o') goto yy2290;
+ if (yych == 'c') goto yy2331;
+ if (yych == 'o') goto yy2332;
goto yy11;
-yy2222:
+yy2264:
yych = *++cursor_;
- if (yych == 'd') goto yy2291;
- if (yych == 'n') goto yy2292;
+ if (yych == 'd') goto yy2333;
+ if (yych == 'n') goto yy2334;
goto yy11;
-yy2223:
+yy2265:
yych = *++cursor_;
- if (yych == 'm') goto yy2293;
+ if (yych == 'm') goto yy2335;
goto yy11;
-yy2224:
+yy2266:
yych = *++cursor_;
- if (yych == 'r') goto yy2294;
+ if (yych == 'r') goto yy2336;
goto yy11;
-yy2225:
+yy2267:
yych = *++cursor_;
- if (yych == 'u') goto yy2296;
+ if (yych == 'u') goto yy2338;
goto yy11;
-yy2226:
+yy2268:
yych = *++cursor_;
- if (yych == 'c') goto yy2297;
- if (yych == 'o') goto yy2298;
+ if (yych == 'c') goto yy2339;
+ if (yych == 'o') goto yy2340;
goto yy11;
-yy2227:
+yy2269:
yych = *++cursor_;
- if (yych == 'd') goto yy2299;
+ if (yych == 'd') goto yy2341;
goto yy11;
-yy2228:
+yy2270:
yych = *++cursor_;
- if (yych == 'd') goto yy2301;
+ if (yych == 'd') goto yy2343;
goto yy11;
-yy2229:
+yy2271:
yych = *++cursor_;
- if (yych == 'p') goto yy2303;
+ if (yych == 'p') goto yy2345;
goto yy11;
-yy2230:
+yy2272:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 495 "src/wast-lexer.cc"
+#line 502 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UOr); }
-#line 11060 "src/prebuilt/wast-lexer-gen.cc"
-yy2232:
+#line 11256 "src/prebuilt/wast-lexer-gen.cc"
+yy2274:
yych = *++cursor_;
- if (yych == 'b') goto yy2304;
+ if (yych == 'b') goto yy2346;
goto yy11;
-yy2233:
+yy2275:
yych = *++cursor_;
- if (yych == 'h') goto yy2306;
+ if (yych == 'h') goto yy2348;
goto yy11;
-yy2234:
+yy2276:
yych = *++cursor_;
- if (yych == 'r') goto yy2307;
+ if (yych == 'r') goto yy2349;
goto yy11;
-yy2235:
+yy2277:
yych = *++cursor_;
- if (yych == 's') goto yy2309;
+ if (yych == 's') goto yy2351;
goto yy11;
-yy2236:
+yy2278:
yych = *++cursor_;
- if (yych == 's') goto yy2310;
+ if (yych == 's') goto yy2352;
goto yy11;
-yy2237:
+yy2279:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 558 "src/wast-lexer.cc"
+#line 565 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16AddSaturateS); }
-#line 11088 "src/prebuilt/wast-lexer-gen.cc"
-yy2239:
+#line 11284 "src/prebuilt/wast-lexer-gen.cc"
+yy2281:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 559 "src/wast-lexer.cc"
+#line 566 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16AddSaturateU); }
-#line 11096 "src/prebuilt/wast-lexer-gen.cc"
-yy2241:
+#line 11292 "src/prebuilt/wast-lexer-gen.cc"
+yy2283:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 528 "src/wast-lexer.cc"
+#line 535 "src/wast-lexer.cc"
{ RETURN_OPCODE(SimdLaneOp, I8X16ExtractLaneS); }
-#line 11104 "src/prebuilt/wast-lexer-gen.cc"
-yy2243:
+#line 11300 "src/prebuilt/wast-lexer-gen.cc"
+yy2285:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 529 "src/wast-lexer.cc"
+#line 536 "src/wast-lexer.cc"
{ RETURN_OPCODE(SimdLaneOp, I8X16ExtractLaneU); }
-#line 11112 "src/prebuilt/wast-lexer-gen.cc"
-yy2245:
+#line 11308 "src/prebuilt/wast-lexer-gen.cc"
+yy2287:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 562 "src/wast-lexer.cc"
+#line 569 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16SubSaturateS); }
-#line 11120 "src/prebuilt/wast-lexer-gen.cc"
-yy2247:
+#line 11316 "src/prebuilt/wast-lexer-gen.cc"
+yy2289:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 563 "src/wast-lexer.cc"
+#line 570 "src/wast-lexer.cc"
{ RETURN_OPCODE(Binary, I8X16SubSaturateU); }
-#line 11128 "src/prebuilt/wast-lexer-gen.cc"
-yy2249:
+#line 11324 "src/prebuilt/wast-lexer-gen.cc"
+yy2291:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 660 "src/wast-lexer.cc"
+#line 667 "src/wast-lexer.cc"
{ RETURN_OPCODE0(ReturnCallIndirect); }
-#line 11136 "src/prebuilt/wast-lexer-gen.cc"
-yy2251:
+#line 11332 "src/prebuilt/wast-lexer-gen.cc"
+yy2293:
yych = *++cursor_;
- if (yych == 't') goto yy2311;
+ if (yych == 't') goto yy2353;
goto yy11;
-yy2252:
+yy2294:
yych = *++cursor_;
- if (yych == 'a') goto yy2312;
+ if (yych == 'a') goto yy2354;
goto yy11;
-yy2253:
+yy2295:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 651 "src/wast-lexer.cc"
+#line 658 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32X4ConvertSI32X4); }
-#line 11152 "src/prebuilt/wast-lexer-gen.cc"
-yy2255:
+#line 11348 "src/prebuilt/wast-lexer-gen.cc"
+yy2297:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 652 "src/wast-lexer.cc"
+#line 659 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F32X4ConvertUI32X4); }
-#line 11160 "src/prebuilt/wast-lexer-gen.cc"
-yy2257:
+#line 11356 "src/prebuilt/wast-lexer-gen.cc"
+yy2299:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 653 "src/wast-lexer.cc"
+#line 660 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64X2ConvertSI64X2); }
-#line 11168 "src/prebuilt/wast-lexer-gen.cc"
-yy2259:
+#line 11364 "src/prebuilt/wast-lexer-gen.cc"
+yy2301:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 654 "src/wast-lexer.cc"
+#line 661 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, F64X2ConvertUI64X2); }
-#line 11176 "src/prebuilt/wast-lexer-gen.cc"
-yy2261:
+#line 11372 "src/prebuilt/wast-lexer-gen.cc"
+yy2303:
yych = *++cursor_;
- if (yych == 'g') goto yy2313;
+ if (yych == 'g') goto yy2355;
goto yy11;
-yy2262:
+yy2304:
yych = *++cursor_;
- if (yych == 'd') goto yy2315;
+ if (yych == 'd') goto yy2357;
goto yy11;
-yy2263:
+yy2305:
yych = *++cursor_;
- if (yych == 'd') goto yy2317;
+ if (yych == 'd') goto yy2359;
goto yy11;
-yy2264:
+yy2306:
yych = *++cursor_;
- if (yych == 'p') goto yy2319;
+ if (yych == 'p') goto yy2361;
goto yy11;
-yy2265:
+yy2307:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 494 "src/wast-lexer.cc"
+#line 501 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UOr); }
-#line 11200 "src/prebuilt/wast-lexer-gen.cc"
-yy2267:
+#line 11396 "src/prebuilt/wast-lexer-gen.cc"
+yy2309:
yych = *++cursor_;
- if (yych == 'b') goto yy2320;
+ if (yych == 'b') goto yy2362;
goto yy11;
-yy2268:
+yy2310:
yych = *++cursor_;
- if (yych == 'h') goto yy2322;
+ if (yych == 'h') goto yy2364;
goto yy11;
-yy2269:
+yy2311:
yych = *++cursor_;
- if (yych == 'r') goto yy2323;
+ if (yych == 'r') goto yy2365;
goto yy11;
-yy2270:
+yy2312:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 472 "src/wast-lexer.cc"
+#line 479 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UAdd); }
-#line 11220 "src/prebuilt/wast-lexer-gen.cc"
-yy2272:
+#line 11416 "src/prebuilt/wast-lexer-gen.cc"
+yy2314:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 486 "src/wast-lexer.cc"
+#line 493 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UAnd); }
-#line 11228 "src/prebuilt/wast-lexer-gen.cc"
-yy2274:
+#line 11424 "src/prebuilt/wast-lexer-gen.cc"
+yy2316:
yych = *++cursor_;
- if (yych == 'x') goto yy2325;
+ if (yych == 'x') goto yy2367;
goto yy11;
-yy2275:
+yy2317:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 479 "src/wast-lexer.cc"
+#line 486 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw8USub); }
-#line 11240 "src/prebuilt/wast-lexer-gen.cc"
-yy2277:
+#line 11436 "src/prebuilt/wast-lexer-gen.cc"
+yy2319:
yych = *++cursor_;
- if (yych == 'g') goto yy2326;
+ if (yych == 'g') goto yy2368;
goto yy11;
-yy2278:
+yy2320:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 500 "src/wast-lexer.cc"
+#line 507 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UXor); }
-#line 11252 "src/prebuilt/wast-lexer-gen.cc"
-yy2280:
+#line 11448 "src/prebuilt/wast-lexer-gen.cc"
+yy2322:
yych = *++cursor_;
- if (yych == 'a') goto yy2328;
+ if (yych == 'a') goto yy2370;
goto yy11;
-yy2281:
+yy2323:
yych = *++cursor_;
- if (yych == 'a') goto yy2329;
+ if (yych == 'a') goto yy2371;
goto yy11;
-yy2282:
+yy2324:
yych = *++cursor_;
- if (yych == 'g') goto yy2330;
+ if (yych == 'g') goto yy2372;
goto yy11;
-yy2283:
+yy2325:
yych = *++cursor_;
- if (yych == 'd') goto yy2332;
+ if (yych == 'd') goto yy2374;
goto yy11;
-yy2284:
+yy2326:
yych = *++cursor_;
- if (yych == 'd') goto yy2334;
+ if (yych == 'd') goto yy2376;
goto yy11;
-yy2285:
+yy2327:
yych = *++cursor_;
- if (yych == 'p') goto yy2336;
+ if (yych == 'p') goto yy2378;
goto yy11;
-yy2286:
+yy2328:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 496 "src/wast-lexer.cc"
+#line 503 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UOr); }
-#line 11284 "src/prebuilt/wast-lexer-gen.cc"
-yy2288:
+#line 11480 "src/prebuilt/wast-lexer-gen.cc"
+yy2330:
yych = *++cursor_;
- if (yych == 'b') goto yy2337;
+ if (yych == 'b') goto yy2379;
goto yy11;
-yy2289:
+yy2331:
yych = *++cursor_;
- if (yych == 'h') goto yy2339;
+ if (yych == 'h') goto yy2381;
goto yy11;
-yy2290:
+yy2332:
yych = *++cursor_;
- if (yych == 'r') goto yy2340;
+ if (yych == 'r') goto yy2382;
goto yy11;
-yy2291:
+yy2333:
yych = *++cursor_;
- if (yych == 'd') goto yy2342;
+ if (yych == 'd') goto yy2384;
goto yy11;
-yy2292:
+yy2334:
yych = *++cursor_;
- if (yych == 'd') goto yy2344;
+ if (yych == 'd') goto yy2386;
goto yy11;
-yy2293:
+yy2335:
yych = *++cursor_;
- if (yych == 'p') goto yy2346;
+ if (yych == 'p') goto yy2388;
goto yy11;
-yy2294:
+yy2336:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 497 "src/wast-lexer.cc"
+#line 504 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UOr); }
-#line 11316 "src/prebuilt/wast-lexer-gen.cc"
-yy2296:
+#line 11512 "src/prebuilt/wast-lexer-gen.cc"
+yy2338:
yych = *++cursor_;
- if (yych == 'b') goto yy2347;
+ if (yych == 'b') goto yy2389;
goto yy11;
-yy2297:
+yy2339:
yych = *++cursor_;
- if (yych == 'h') goto yy2349;
+ if (yych == 'h') goto yy2391;
goto yy11;
-yy2298:
+yy2340:
yych = *++cursor_;
- if (yych == 'r') goto yy2350;
+ if (yych == 'r') goto yy2392;
goto yy11;
-yy2299:
+yy2341:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 474 "src/wast-lexer.cc"
+#line 481 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UAdd); }
-#line 11336 "src/prebuilt/wast-lexer-gen.cc"
-yy2301:
+#line 11532 "src/prebuilt/wast-lexer-gen.cc"
+yy2343:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 488 "src/wast-lexer.cc"
+#line 495 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UAnd); }
-#line 11344 "src/prebuilt/wast-lexer-gen.cc"
-yy2303:
+#line 11540 "src/prebuilt/wast-lexer-gen.cc"
+yy2345:
yych = *++cursor_;
- if (yych == 'x') goto yy2352;
+ if (yych == 'x') goto yy2394;
goto yy11;
-yy2304:
+yy2346:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 481 "src/wast-lexer.cc"
+#line 488 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw8USub); }
-#line 11356 "src/prebuilt/wast-lexer-gen.cc"
-yy2306:
+#line 11552 "src/prebuilt/wast-lexer-gen.cc"
+yy2348:
yych = *++cursor_;
- if (yych == 'g') goto yy2353;
+ if (yych == 'g') goto yy2395;
goto yy11;
-yy2307:
+yy2349:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 502 "src/wast-lexer.cc"
+#line 509 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UXor); }
-#line 11368 "src/prebuilt/wast-lexer-gen.cc"
-yy2309:
+#line 11564 "src/prebuilt/wast-lexer-gen.cc"
+yy2351:
yych = *++cursor_;
- if (yych == 'a') goto yy2355;
+ if (yych == 'a') goto yy2397;
goto yy11;
-yy2310:
+yy2352:
yych = *++cursor_;
- if (yych == 'a') goto yy2356;
+ if (yych == 'a') goto yy2398;
goto yy11;
-yy2311:
+yy2353:
yych = *++cursor_;
- if (yych == 'i') goto yy2357;
+ if (yych == 'i') goto yy2399;
goto yy11;
-yy2312:
+yy2354:
yych = *++cursor_;
- if (yych == 'l') goto yy2358;
+ if (yych == 'l') goto yy2400;
goto yy11;
-yy2313:
+yy2355:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 512 "src/wast-lexer.cc"
+#line 519 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmwCmpxchg); }
-#line 11392 "src/prebuilt/wast-lexer-gen.cc"
-yy2315:
+#line 11588 "src/prebuilt/wast-lexer-gen.cc"
+yy2357:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 473 "src/wast-lexer.cc"
+#line 480 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UAdd); }
-#line 11400 "src/prebuilt/wast-lexer-gen.cc"
-yy2317:
+#line 11596 "src/prebuilt/wast-lexer-gen.cc"
+yy2359:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 487 "src/wast-lexer.cc"
+#line 494 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UAnd); }
-#line 11408 "src/prebuilt/wast-lexer-gen.cc"
-yy2319:
+#line 11604 "src/prebuilt/wast-lexer-gen.cc"
+yy2361:
yych = *++cursor_;
- if (yych == 'x') goto yy2359;
+ if (yych == 'x') goto yy2401;
goto yy11;
-yy2320:
+yy2362:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 480 "src/wast-lexer.cc"
+#line 487 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw16USub); }
-#line 11420 "src/prebuilt/wast-lexer-gen.cc"
-yy2322:
+#line 11616 "src/prebuilt/wast-lexer-gen.cc"
+yy2364:
yych = *++cursor_;
- if (yych == 'g') goto yy2360;
+ if (yych == 'g') goto yy2402;
goto yy11;
-yy2323:
+yy2365:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 501 "src/wast-lexer.cc"
+#line 508 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UXor); }
-#line 11432 "src/prebuilt/wast-lexer-gen.cc"
-yy2325:
+#line 11628 "src/prebuilt/wast-lexer-gen.cc"
+yy2367:
yych = *++cursor_;
- if (yych == 'c') goto yy2362;
+ if (yych == 'c') goto yy2404;
goto yy11;
-yy2326:
+yy2368:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 507 "src/wast-lexer.cc"
+#line 514 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw8UXchg); }
-#line 11444 "src/prebuilt/wast-lexer-gen.cc"
-yy2328:
+#line 11640 "src/prebuilt/wast-lexer-gen.cc"
+yy2370:
yych = *++cursor_;
- if (yych == 't') goto yy2363;
+ if (yych == 't') goto yy2405;
goto yy11;
-yy2329:
+yy2371:
yych = *++cursor_;
- if (yych == 't') goto yy2365;
+ if (yych == 't') goto yy2407;
goto yy11;
-yy2330:
+yy2372:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 513 "src/wast-lexer.cc"
+#line 520 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmwCmpxchg); }
-#line 11460 "src/prebuilt/wast-lexer-gen.cc"
-yy2332:
+#line 11656 "src/prebuilt/wast-lexer-gen.cc"
+yy2374:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 475 "src/wast-lexer.cc"
+#line 482 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UAdd); }
-#line 11468 "src/prebuilt/wast-lexer-gen.cc"
-yy2334:
+#line 11664 "src/prebuilt/wast-lexer-gen.cc"
+yy2376:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 489 "src/wast-lexer.cc"
+#line 496 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UAnd); }
-#line 11476 "src/prebuilt/wast-lexer-gen.cc"
-yy2336:
+#line 11672 "src/prebuilt/wast-lexer-gen.cc"
+yy2378:
yych = *++cursor_;
- if (yych == 'x') goto yy2367;
+ if (yych == 'x') goto yy2409;
goto yy11;
-yy2337:
+yy2379:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 482 "src/wast-lexer.cc"
+#line 489 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw16USub); }
-#line 11488 "src/prebuilt/wast-lexer-gen.cc"
-yy2339:
+#line 11684 "src/prebuilt/wast-lexer-gen.cc"
+yy2381:
yych = *++cursor_;
- if (yych == 'g') goto yy2368;
+ if (yych == 'g') goto yy2410;
goto yy11;
-yy2340:
+yy2382:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 503 "src/wast-lexer.cc"
+#line 510 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UXor); }
-#line 11500 "src/prebuilt/wast-lexer-gen.cc"
-yy2342:
+#line 11696 "src/prebuilt/wast-lexer-gen.cc"
+yy2384:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 476 "src/wast-lexer.cc"
+#line 483 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UAdd); }
-#line 11508 "src/prebuilt/wast-lexer-gen.cc"
-yy2344:
+#line 11704 "src/prebuilt/wast-lexer-gen.cc"
+yy2386:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 490 "src/wast-lexer.cc"
+#line 497 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UAnd); }
-#line 11516 "src/prebuilt/wast-lexer-gen.cc"
-yy2346:
+#line 11712 "src/prebuilt/wast-lexer-gen.cc"
+yy2388:
yych = *++cursor_;
- if (yych == 'x') goto yy2370;
+ if (yych == 'x') goto yy2412;
goto yy11;
-yy2347:
+yy2389:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 483 "src/wast-lexer.cc"
+#line 490 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw32USub); }
-#line 11528 "src/prebuilt/wast-lexer-gen.cc"
-yy2349:
+#line 11724 "src/prebuilt/wast-lexer-gen.cc"
+yy2391:
yych = *++cursor_;
- if (yych == 'g') goto yy2371;
+ if (yych == 'g') goto yy2413;
goto yy11;
-yy2350:
+yy2392:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 504 "src/wast-lexer.cc"
+#line 511 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UXor); }
-#line 11540 "src/prebuilt/wast-lexer-gen.cc"
-yy2352:
+#line 11736 "src/prebuilt/wast-lexer-gen.cc"
+yy2394:
yych = *++cursor_;
- if (yych == 'c') goto yy2373;
+ if (yych == 'c') goto yy2415;
goto yy11;
-yy2353:
+yy2395:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 509 "src/wast-lexer.cc"
+#line 516 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw8UXchg); }
-#line 11552 "src/prebuilt/wast-lexer-gen.cc"
-yy2355:
+#line 11748 "src/prebuilt/wast-lexer-gen.cc"
+yy2397:
yych = *++cursor_;
- if (yych == 't') goto yy2374;
+ if (yych == 't') goto yy2416;
goto yy11;
-yy2356:
+yy2398:
yych = *++cursor_;
- if (yych == 't') goto yy2376;
+ if (yych == 't') goto yy2418;
goto yy11;
-yy2357:
+yy2399:
yych = *++cursor_;
- if (yych == 'c') goto yy2378;
+ if (yych == 'c') goto yy2420;
goto yy11;
-yy2358:
+yy2400:
yych = *++cursor_;
- if (yych == '_') goto yy2379;
+ if (yych == '_') goto yy2421;
goto yy11;
-yy2359:
+yy2401:
yych = *++cursor_;
- if (yych == 'c') goto yy2380;
+ if (yych == 'c') goto yy2422;
goto yy11;
-yy2360:
+yy2402:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 508 "src/wast-lexer.cc"
+#line 515 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I32AtomicRmw16UXchg); }
-#line 11580 "src/prebuilt/wast-lexer-gen.cc"
-yy2362:
+#line 11776 "src/prebuilt/wast-lexer-gen.cc"
+yy2404:
yych = *++cursor_;
- if (yych == 'h') goto yy2381;
+ if (yych == 'h') goto yy2423;
goto yy11;
-yy2363:
+yy2405:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 655 "src/wast-lexer.cc"
+#line 662 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I32X4TruncSF32X4Sat); }
-#line 11592 "src/prebuilt/wast-lexer-gen.cc"
-yy2365:
+#line 11788 "src/prebuilt/wast-lexer-gen.cc"
+yy2407:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 656 "src/wast-lexer.cc"
+#line 663 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I32X4TruncUF32X4Sat); }
-#line 11600 "src/prebuilt/wast-lexer-gen.cc"
-yy2367:
+#line 11796 "src/prebuilt/wast-lexer-gen.cc"
+yy2409:
yych = *++cursor_;
- if (yych == 'c') goto yy2382;
+ if (yych == 'c') goto yy2424;
goto yy11;
-yy2368:
+yy2410:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 510 "src/wast-lexer.cc"
+#line 517 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw16UXchg); }
-#line 11612 "src/prebuilt/wast-lexer-gen.cc"
-yy2370:
+#line 11808 "src/prebuilt/wast-lexer-gen.cc"
+yy2412:
yych = *++cursor_;
- if (yych == 'c') goto yy2383;
+ if (yych == 'c') goto yy2425;
goto yy11;
-yy2371:
+yy2413:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 511 "src/wast-lexer.cc"
+#line 518 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmw, I64AtomicRmw32UXchg); }
-#line 11624 "src/prebuilt/wast-lexer-gen.cc"
-yy2373:
+#line 11820 "src/prebuilt/wast-lexer-gen.cc"
+yy2415:
yych = *++cursor_;
- if (yych == 'h') goto yy2384;
+ if (yych == 'h') goto yy2426;
goto yy11;
-yy2374:
+yy2416:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 657 "src/wast-lexer.cc"
+#line 664 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64X2TruncSF64X2Sat); }
-#line 11636 "src/prebuilt/wast-lexer-gen.cc"
-yy2376:
+#line 11832 "src/prebuilt/wast-lexer-gen.cc"
+yy2418:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 658 "src/wast-lexer.cc"
+#line 665 "src/wast-lexer.cc"
{ RETURN_OPCODE(Unary, I64X2TruncUF64X2Sat); }
-#line 11644 "src/prebuilt/wast-lexer-gen.cc"
-yy2378:
+#line 11840 "src/prebuilt/wast-lexer-gen.cc"
+yy2420:
yych = *++cursor_;
- if (yych == '_') goto yy2385;
+ if (yych == '_') goto yy2427;
goto yy11;
-yy2379:
+yy2421:
yych = *++cursor_;
- if (yych == 'n') goto yy2386;
+ if (yych == 'n') goto yy2428;
goto yy11;
-yy2380:
+yy2422:
yych = *++cursor_;
- if (yych == 'h') goto yy2387;
+ if (yych == 'h') goto yy2429;
goto yy11;
-yy2381:
+yy2423:
yych = *++cursor_;
- if (yych == 'g') goto yy2388;
+ if (yych == 'g') goto yy2430;
goto yy11;
-yy2382:
+yy2424:
yych = *++cursor_;
- if (yych == 'h') goto yy2390;
+ if (yych == 'h') goto yy2432;
goto yy11;
-yy2383:
+yy2425:
yych = *++cursor_;
- if (yych == 'h') goto yy2391;
+ if (yych == 'h') goto yy2433;
goto yy11;
-yy2384:
+yy2426:
yych = *++cursor_;
- if (yych == 'g') goto yy2392;
+ if (yych == 'g') goto yy2434;
goto yy11;
-yy2385:
+yy2427:
yych = *++cursor_;
- if (yych == 'n') goto yy2394;
+ if (yych == 'n') goto yy2436;
goto yy11;
-yy2386:
+yy2428:
yych = *++cursor_;
- if (yych == 'a') goto yy2395;
+ if (yych == 'a') goto yy2437;
goto yy11;
-yy2387:
+yy2429:
yych = *++cursor_;
- if (yych == 'g') goto yy2396;
+ if (yych == 'g') goto yy2438;
goto yy11;
-yy2388:
+yy2430:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 514 "src/wast-lexer.cc"
+#line 521 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmw8UCmpxchg); }
-#line 11692 "src/prebuilt/wast-lexer-gen.cc"
-yy2390:
+#line 11888 "src/prebuilt/wast-lexer-gen.cc"
+yy2432:
yych = *++cursor_;
- if (yych == 'g') goto yy2398;
+ if (yych == 'g') goto yy2440;
goto yy11;
-yy2391:
+yy2433:
yych = *++cursor_;
- if (yych == 'g') goto yy2400;
+ if (yych == 'g') goto yy2442;
goto yy11;
-yy2392:
+yy2434:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 516 "src/wast-lexer.cc"
+#line 523 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw8UCmpxchg); }
-#line 11708 "src/prebuilt/wast-lexer-gen.cc"
-yy2394:
+#line 11904 "src/prebuilt/wast-lexer-gen.cc"
+yy2436:
yych = *++cursor_;
- if (yych == 'a') goto yy2402;
+ if (yych == 'a') goto yy2444;
goto yy11;
-yy2395:
+yy2437:
yych = *++cursor_;
- if (yych == 'n') goto yy2403;
+ if (yych == 'n') goto yy2445;
goto yy11;
-yy2396:
+yy2438:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 515 "src/wast-lexer.cc"
+#line 522 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmwCmpxchg, I32AtomicRmw16UCmpxchg); }
-#line 11724 "src/prebuilt/wast-lexer-gen.cc"
-yy2398:
+#line 11920 "src/prebuilt/wast-lexer-gen.cc"
+yy2440:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 517 "src/wast-lexer.cc"
+#line 524 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw16UCmpxchg); }
-#line 11732 "src/prebuilt/wast-lexer-gen.cc"
-yy2400:
+#line 11928 "src/prebuilt/wast-lexer-gen.cc"
+yy2442:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 518 "src/wast-lexer.cc"
+#line 525 "src/wast-lexer.cc"
{ RETURN_OPCODE(AtomicRmwCmpxchg, I64AtomicRmw32UCmpxchg); }
-#line 11740 "src/prebuilt/wast-lexer-gen.cc"
-yy2402:
+#line 11936 "src/prebuilt/wast-lexer-gen.cc"
+yy2444:
yych = *++cursor_;
- if (yych == 'n') goto yy2405;
+ if (yych == 'n') goto yy2447;
goto yy11;
-yy2403:
+yy2445:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 687 "src/wast-lexer.cc"
+#line 695 "src/wast-lexer.cc"
{ RETURN(AssertReturnCanonicalNan); }
-#line 11752 "src/prebuilt/wast-lexer-gen.cc"
-yy2405:
+#line 11948 "src/prebuilt/wast-lexer-gen.cc"
+yy2447:
yych = *++cursor_;
if (yybm[0+yych] & 8) {
goto yy10;
}
-#line 688 "src/wast-lexer.cc"
+#line 696 "src/wast-lexer.cc"
{ RETURN(AssertReturnArithmeticNan); }
-#line 11760 "src/prebuilt/wast-lexer-gen.cc"
+#line 11956 "src/prebuilt/wast-lexer-gen.cc"
}
/* *********************************** */
YYCOND_BAD_TEXT:
@@ -11764,206 +11960,206 @@ YYCOND_BAD_TEXT:
yych = *cursor_;
if (yych <= 0x7F) {
if (yych <= '!') {
- if (yych == '\n') goto yy2411;
- if (yych >= ' ') goto yy2413;
+ if (yych == '\n') goto yy2453;
+ if (yych >= ' ') goto yy2455;
} else {
- if (yych <= '"') goto yy2415;
- if (yych == '\\') goto yy2417;
- goto yy2413;
+ if (yych <= '"') goto yy2457;
+ if (yych == '\\') goto yy2459;
+ goto yy2455;
}
} else {
if (yych <= 0xEF) {
- if (yych <= 0xC1) goto yy2418;
- if (yych <= 0xDF) goto yy2420;
- if (yych <= 0xE0) goto yy2421;
- goto yy2422;
+ if (yych <= 0xC1) goto yy2460;
+ if (yych <= 0xDF) goto yy2462;
+ if (yych <= 0xE0) goto yy2463;
+ goto yy2464;
} else {
- if (yych <= 0xF0) goto yy2423;
- if (yych <= 0xF3) goto yy2424;
- if (yych <= 0xF4) goto yy2425;
- goto yy2418;
+ if (yych <= 0xF0) goto yy2465;
+ if (yych <= 0xF3) goto yy2466;
+ if (yych <= 0xF4) goto yy2467;
+ goto yy2460;
}
}
++cursor_;
-yy2410:
+yy2452:
#line 252 "src/wast-lexer.cc"
{ ERROR("illegal character in string");
continue; }
-#line 11793 "src/prebuilt/wast-lexer-gen.cc"
-yy2411:
+#line 11989 "src/prebuilt/wast-lexer-gen.cc"
+yy2453:
++cursor_;
BEGIN(YYCOND_i);
#line 245 "src/wast-lexer.cc"
{ ERROR("newline in string");
NEWLINE;
continue; }
-#line 11801 "src/prebuilt/wast-lexer-gen.cc"
-yy2413:
+#line 11997 "src/prebuilt/wast-lexer-gen.cc"
+yy2455:
++cursor_;
#line 244 "src/wast-lexer.cc"
{ continue; }
-#line 11806 "src/prebuilt/wast-lexer-gen.cc"
-yy2415:
+#line 12002 "src/prebuilt/wast-lexer-gen.cc"
+yy2457:
++cursor_;
BEGIN(YYCOND_i);
#line 251 "src/wast-lexer.cc"
{ RETURN_TEXT(Text); }
-#line 11812 "src/prebuilt/wast-lexer-gen.cc"
-yy2417:
+#line 12008 "src/prebuilt/wast-lexer-gen.cc"
+yy2459:
yyaccept = 0;
yych = *(marker_ = ++cursor_);
if (yych <= 'f') {
if (yych <= '/') {
if (yych <= '!') {
- if (yych == '\n') goto yy2410;
- goto yy2426;
+ if (yych == '\n') goto yy2452;
+ goto yy2468;
} else {
- if (yych <= '"') goto yy2413;
- if (yych == '\'') goto yy2413;
- goto yy2426;
+ if (yych <= '"') goto yy2455;
+ if (yych == '\'') goto yy2455;
+ goto yy2468;
}
} else {
if (yych <= 'F') {
- if (yych <= '9') goto yy2428;
- if (yych <= '@') goto yy2426;
- goto yy2428;
+ if (yych <= '9') goto yy2470;
+ if (yych <= '@') goto yy2468;
+ goto yy2470;
} else {
- if (yych == '\\') goto yy2413;
- if (yych <= '`') goto yy2426;
- goto yy2428;
+ if (yych == '\\') goto yy2455;
+ if (yych <= '`') goto yy2468;
+ goto yy2470;
}
}
} else {
if (yych <= 0x7F) {
if (yych <= 'q') {
- if (yych == 'n') goto yy2413;
- goto yy2426;
+ if (yych == 'n') goto yy2455;
+ goto yy2468;
} else {
- if (yych == 's') goto yy2426;
- if (yych <= 't') goto yy2413;
- goto yy2426;
+ if (yych == 's') goto yy2468;
+ if (yych <= 't') goto yy2455;
+ goto yy2468;
}
} else {
if (yych <= 0xEF) {
- if (yych <= 0xC1) goto yy2410;
- if (yych <= 0xDF) goto yy2429;
- if (yych <= 0xE0) goto yy2431;
- goto yy2432;
+ if (yych <= 0xC1) goto yy2452;
+ if (yych <= 0xDF) goto yy2471;
+ if (yych <= 0xE0) goto yy2473;
+ goto yy2474;
} else {
- if (yych <= 0xF0) goto yy2433;
- if (yych <= 0xF3) goto yy2434;
- if (yych <= 0xF4) goto yy2435;
- goto yy2410;
+ if (yych <= 0xF0) goto yy2475;
+ if (yych <= 0xF3) goto yy2476;
+ if (yych <= 0xF4) goto yy2477;
+ goto yy2452;
}
}
}
-yy2418:
+yy2460:
++cursor_;
-yy2419:
+yy2461:
#line 254 "src/wast-lexer.cc"
{ MAYBE_MALFORMED_UTF8(" in string"); }
-#line 11866 "src/prebuilt/wast-lexer-gen.cc"
-yy2420:
+#line 12062 "src/prebuilt/wast-lexer-gen.cc"
+yy2462:
yych = *++cursor_;
- if (yych <= 0x7F) goto yy2419;
- if (yych <= 0xBF) goto yy2413;
- goto yy2419;
-yy2421:
+ if (yych <= 0x7F) goto yy2461;
+ if (yych <= 0xBF) goto yy2455;
+ goto yy2461;
+yy2463:
yyaccept = 1;
yych = *(marker_ = ++cursor_);
- if (yych <= 0x9F) goto yy2419;
- if (yych <= 0xBF) goto yy2436;
- goto yy2419;
-yy2422:
+ if (yych <= 0x9F) goto yy2461;
+ if (yych <= 0xBF) goto yy2478;
+ goto yy2461;
+yy2464:
yyaccept = 1;
yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy2419;
- if (yych <= 0xBF) goto yy2436;
- goto yy2419;
-yy2423:
+ if (yych <= 0x7F) goto yy2461;
+ if (yych <= 0xBF) goto yy2478;
+ goto yy2461;
+yy2465:
yyaccept = 1;
yych = *(marker_ = ++cursor_);
- if (yych <= 0x8F) goto yy2419;
- if (yych <= 0xBF) goto yy2437;
- goto yy2419;
-yy2424:
+ if (yych <= 0x8F) goto yy2461;
+ if (yych <= 0xBF) goto yy2479;
+ goto yy2461;
+yy2466:
yyaccept = 1;
yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy2419;
- if (yych <= 0xBF) goto yy2437;
- goto yy2419;
-yy2425:
+ if (yych <= 0x7F) goto yy2461;
+ if (yych <= 0xBF) goto yy2479;
+ goto yy2461;
+yy2467:
yyaccept = 1;
yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy2419;
- if (yych <= 0x8F) goto yy2437;
- goto yy2419;
-yy2426:
+ if (yych <= 0x7F) goto yy2461;
+ if (yych <= 0x8F) goto yy2479;
+ goto yy2461;
+yy2468:
++cursor_;
-yy2427:
+yy2469:
#line 248 "src/wast-lexer.cc"
{ ERROR("bad escape \"%.*s\"",
static_cast<int>(yyleng), yytext);
continue; }
-#line 11909 "src/prebuilt/wast-lexer-gen.cc"
-yy2428:
+#line 12105 "src/prebuilt/wast-lexer-gen.cc"
+yy2470:
yych = *++cursor_;
if (yych <= '@') {
- if (yych <= '/') goto yy2427;
- if (yych <= '9') goto yy2413;
- goto yy2427;
+ if (yych <= '/') goto yy2469;
+ if (yych <= '9') goto yy2455;
+ goto yy2469;
} else {
- if (yych <= 'F') goto yy2413;
- if (yych <= '`') goto yy2427;
- if (yych <= 'f') goto yy2413;
- goto yy2427;
+ if (yych <= 'F') goto yy2455;
+ if (yych <= '`') goto yy2469;
+ if (yych <= 'f') goto yy2455;
+ goto yy2469;
}
-yy2429:
+yy2471:
yych = *++cursor_;
- if (yych <= 0x7F) goto yy2430;
- if (yych <= 0xBF) goto yy2426;
-yy2430:
+ if (yych <= 0x7F) goto yy2472;
+ if (yych <= 0xBF) goto yy2468;
+yy2472:
cursor_ = marker_;
if (yyaccept == 0) {
- goto yy2410;
+ goto yy2452;
} else {
- goto yy2419;
+ goto yy2461;
}
-yy2431:
+yy2473:
yych = *++cursor_;
- if (yych <= 0x9F) goto yy2430;
- if (yych <= 0xBF) goto yy2429;
- goto yy2430;
-yy2432:
+ if (yych <= 0x9F) goto yy2472;
+ if (yych <= 0xBF) goto yy2471;
+ goto yy2472;
+yy2474:
yych = *++cursor_;
- if (yych <= 0x7F) goto yy2430;
- if (yych <= 0xBF) goto yy2429;
- goto yy2430;
-yy2433:
+ if (yych <= 0x7F) goto yy2472;
+ if (yych <= 0xBF) goto yy2471;
+ goto yy2472;
+yy2475:
yych = *++cursor_;
- if (yych <= 0x8F) goto yy2430;
- if (yych <= 0xBF) goto yy2432;
- goto yy2430;
-yy2434:
+ if (yych <= 0x8F) goto yy2472;
+ if (yych <= 0xBF) goto yy2474;
+ goto yy2472;
+yy2476:
yych = *++cursor_;
- if (yych <= 0x7F) goto yy2430;
- if (yych <= 0xBF) goto yy2432;
- goto yy2430;
-yy2435:
+ if (yych <= 0x7F) goto yy2472;
+ if (yych <= 0xBF) goto yy2474;
+ goto yy2472;
+yy2477:
yych = *++cursor_;
- if (yych <= 0x7F) goto yy2430;
- if (yych <= 0x8F) goto yy2432;
- goto yy2430;
-yy2436:
+ if (yych <= 0x7F) goto yy2472;
+ if (yych <= 0x8F) goto yy2474;
+ goto yy2472;
+yy2478:
yych = *++cursor_;
- if (yych <= 0x7F) goto yy2430;
- if (yych <= 0xBF) goto yy2413;
- goto yy2430;
-yy2437:
+ if (yych <= 0x7F) goto yy2472;
+ if (yych <= 0xBF) goto yy2455;
+ goto yy2472;
+yy2479:
yych = *++cursor_;
- if (yych <= 0x7F) goto yy2430;
- if (yych <= 0xBF) goto yy2436;
- goto yy2430;
+ if (yych <= 0x7F) goto yy2472;
+ if (yych <= 0xBF) goto yy2478;
+ goto yy2472;
/* *********************************** */
YYCOND_LINE_COMMENT:
{
@@ -12004,140 +12200,140 @@ YYCOND_LINE_COMMENT:
if ((limit_ - cursor_) < 2) FILL(2);
yych = *cursor_;
if (yybm[0+yych] & 128) {
- goto yy2440;
+ goto yy2482;
}
if (yych <= 0xE0) {
- if (yych <= '\n') goto yy2443;
- if (yych <= 0xC1) goto yy2445;
- if (yych <= 0xDF) goto yy2447;
- goto yy2448;
+ 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 yy2449;
- goto yy2450;
+ if (yych <= 0xEF) goto yy2491;
+ goto yy2492;
} else {
- if (yych <= 0xF3) goto yy2451;
- if (yych <= 0xF4) goto yy2452;
- goto yy2445;
+ if (yych <= 0xF3) goto yy2493;
+ if (yych <= 0xF4) goto yy2494;
+ goto yy2487;
}
}
-yy2440:
+yy2482:
yyaccept = 0;
marker_ = ++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
if (yybm[0+yych] & 128) {
- goto yy2440;
+ goto yy2482;
}
if (yych <= 0xEF) {
- if (yych <= 0xC1) goto yy2442;
- if (yych <= 0xDF) goto yy2453;
- if (yych <= 0xE0) goto yy2455;
- goto yy2456;
+ if (yych <= 0xC1) goto yy2484;
+ if (yych <= 0xDF) goto yy2495;
+ if (yych <= 0xE0) goto yy2497;
+ goto yy2498;
} else {
- if (yych <= 0xF0) goto yy2457;
- if (yych <= 0xF3) goto yy2458;
- if (yych <= 0xF4) goto yy2459;
+ if (yych <= 0xF0) goto yy2499;
+ if (yych <= 0xF3) goto yy2500;
+ if (yych <= 0xF4) goto yy2501;
}
-yy2442:
-#line 701 "src/wast-lexer.cc"
+yy2484:
+#line 709 "src/wast-lexer.cc"
{ continue; }
-#line 12046 "src/prebuilt/wast-lexer-gen.cc"
-yy2443:
+#line 12242 "src/prebuilt/wast-lexer-gen.cc"
+yy2485:
++cursor_;
BEGIN(YYCOND_i);
-#line 700 "src/wast-lexer.cc"
+#line 708 "src/wast-lexer.cc"
{ NEWLINE; continue; }
-#line 12052 "src/prebuilt/wast-lexer-gen.cc"
-yy2445:
+#line 12248 "src/prebuilt/wast-lexer-gen.cc"
+yy2487:
++cursor_;
-yy2446:
-#line 715 "src/wast-lexer.cc"
+yy2488:
+#line 723 "src/wast-lexer.cc"
{ MAYBE_MALFORMED_UTF8(""); }
-#line 12058 "src/prebuilt/wast-lexer-gen.cc"
-yy2447:
+#line 12254 "src/prebuilt/wast-lexer-gen.cc"
+yy2489:
yych = *++cursor_;
- if (yych <= 0x7F) goto yy2446;
- if (yych <= 0xBF) goto yy2440;
- goto yy2446;
-yy2448:
+ if (yych <= 0x7F) goto yy2488;
+ if (yych <= 0xBF) goto yy2482;
+ goto yy2488;
+yy2490:
yyaccept = 1;
yych = *(marker_ = ++cursor_);
- if (yych <= 0x9F) goto yy2446;
- if (yych <= 0xBF) goto yy2453;
- goto yy2446;
-yy2449:
+ if (yych <= 0x9F) goto yy2488;
+ if (yych <= 0xBF) goto yy2495;
+ goto yy2488;
+yy2491:
yyaccept = 1;
yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy2446;
- if (yych <= 0xBF) goto yy2453;
- goto yy2446;
-yy2450:
+ if (yych <= 0x7F) goto yy2488;
+ if (yych <= 0xBF) goto yy2495;
+ goto yy2488;
+yy2492:
yyaccept = 1;
yych = *(marker_ = ++cursor_);
- if (yych <= 0x8F) goto yy2446;
- if (yych <= 0xBF) goto yy2456;
- goto yy2446;
-yy2451:
+ if (yych <= 0x8F) goto yy2488;
+ if (yych <= 0xBF) goto yy2498;
+ goto yy2488;
+yy2493:
yyaccept = 1;
yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy2446;
- if (yych <= 0xBF) goto yy2456;
- goto yy2446;
-yy2452:
+ if (yych <= 0x7F) goto yy2488;
+ if (yych <= 0xBF) goto yy2498;
+ goto yy2488;
+yy2494:
yyaccept = 1;
yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy2446;
- if (yych <= 0x8F) goto yy2456;
- goto yy2446;
-yy2453:
+ if (yych <= 0x7F) goto yy2488;
+ if (yych <= 0x8F) goto yy2498;
+ goto yy2488;
+yy2495:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
- if (yych <= 0x7F) goto yy2454;
- if (yych <= 0xBF) goto yy2440;
-yy2454:
+ if (yych <= 0x7F) goto yy2496;
+ if (yych <= 0xBF) goto yy2482;
+yy2496:
cursor_ = marker_;
if (yyaccept == 0) {
- goto yy2442;
+ goto yy2484;
} else {
- goto yy2446;
+ goto yy2488;
}
-yy2455:
+yy2497:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
- if (yych <= 0x9F) goto yy2454;
- if (yych <= 0xBF) goto yy2453;
- goto yy2454;
-yy2456:
+ if (yych <= 0x9F) goto yy2496;
+ if (yych <= 0xBF) goto yy2495;
+ goto yy2496;
+yy2498:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
- if (yych <= 0x7F) goto yy2454;
- if (yych <= 0xBF) goto yy2453;
- goto yy2454;
-yy2457:
+ if (yych <= 0x7F) goto yy2496;
+ if (yych <= 0xBF) goto yy2495;
+ goto yy2496;
+yy2499:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
- if (yych <= 0x8F) goto yy2454;
- if (yych <= 0xBF) goto yy2456;
- goto yy2454;
-yy2458:
+ if (yych <= 0x8F) goto yy2496;
+ if (yych <= 0xBF) goto yy2498;
+ goto yy2496;
+yy2500:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
- if (yych <= 0x7F) goto yy2454;
- if (yych <= 0xBF) goto yy2456;
- goto yy2454;
-yy2459:
+ if (yych <= 0x7F) goto yy2496;
+ if (yych <= 0xBF) goto yy2498;
+ goto yy2496;
+yy2501:
++cursor_;
if (limit_ <= cursor_) FILL(1);
yych = *cursor_;
- if (yych <= 0x7F) goto yy2454;
- if (yych <= 0x8F) goto yy2456;
- goto yy2454;
+ if (yych <= 0x7F) goto yy2496;
+ if (yych <= 0x8F) goto yy2498;
+ goto yy2496;
}
/* *********************************** */
YYCOND_BLOCK_COMMENT:
@@ -12145,106 +12341,106 @@ YYCOND_BLOCK_COMMENT:
yych = *cursor_;
if (yych <= 0x7F) {
if (yych <= '\'') {
- if (yych == '\n') goto yy2464;
+ if (yych == '\n') goto yy2506;
} else {
- if (yych <= '(') goto yy2466;
- if (yych == ';') goto yy2467;
+ if (yych <= '(') goto yy2508;
+ if (yych == ';') goto yy2509;
}
} else {
if (yych <= 0xEF) {
- if (yych <= 0xC1) goto yy2468;
- if (yych <= 0xDF) goto yy2470;
- if (yych <= 0xE0) goto yy2471;
- goto yy2472;
+ if (yych <= 0xC1) goto yy2510;
+ if (yych <= 0xDF) goto yy2512;
+ if (yych <= 0xE0) goto yy2513;
+ goto yy2514;
} else {
- if (yych <= 0xF0) goto yy2473;
- if (yych <= 0xF3) goto yy2474;
- if (yych <= 0xF4) goto yy2475;
- goto yy2468;
+ if (yych <= 0xF0) goto yy2515;
+ if (yych <= 0xF3) goto yy2516;
+ if (yych <= 0xF4) goto yy2517;
+ goto yy2510;
}
}
-yy2462:
+yy2504:
++cursor_;
-yy2463:
-#line 709 "src/wast-lexer.cc"
+yy2505:
+#line 717 "src/wast-lexer.cc"
{ continue; }
-#line 12172 "src/prebuilt/wast-lexer-gen.cc"
-yy2464:
+#line 12368 "src/prebuilt/wast-lexer-gen.cc"
+yy2506:
++cursor_;
-#line 708 "src/wast-lexer.cc"
+#line 716 "src/wast-lexer.cc"
{ NEWLINE; continue; }
-#line 12177 "src/prebuilt/wast-lexer-gen.cc"
-yy2466:
+#line 12373 "src/prebuilt/wast-lexer-gen.cc"
+yy2508:
yych = *++cursor_;
- if (yych == ';') goto yy2476;
- goto yy2463;
-yy2467:
+ if (yych == ';') goto yy2518;
+ goto yy2505;
+yy2509:
yych = *++cursor_;
- if (yych == ')') goto yy2478;
- goto yy2463;
-yy2468:
+ if (yych == ')') goto yy2520;
+ goto yy2505;
+yy2510:
++cursor_;
-yy2469:
-#line 710 "src/wast-lexer.cc"
+yy2511:
+#line 718 "src/wast-lexer.cc"
{ MAYBE_MALFORMED_UTF8(" in block comment"); }
-#line 12191 "src/prebuilt/wast-lexer-gen.cc"
-yy2470:
+#line 12387 "src/prebuilt/wast-lexer-gen.cc"
+yy2512:
yych = *++cursor_;
- if (yych <= 0x7F) goto yy2469;
- if (yych <= 0xBF) goto yy2462;
- goto yy2469;
-yy2471:
+ if (yych <= 0x7F) goto yy2511;
+ if (yych <= 0xBF) goto yy2504;
+ goto yy2511;
+yy2513:
yych = *(marker_ = ++cursor_);
- if (yych <= 0x9F) goto yy2469;
- if (yych <= 0xBF) goto yy2480;
- goto yy2469;
-yy2472:
+ if (yych <= 0x9F) goto yy2511;
+ if (yych <= 0xBF) goto yy2522;
+ goto yy2511;
+yy2514:
yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy2469;
- if (yych <= 0xBF) goto yy2480;
- goto yy2469;
-yy2473:
+ if (yych <= 0x7F) goto yy2511;
+ if (yych <= 0xBF) goto yy2522;
+ goto yy2511;
+yy2515:
yych = *(marker_ = ++cursor_);
- if (yych <= 0x8F) goto yy2469;
- if (yych <= 0xBF) goto yy2482;
- goto yy2469;
-yy2474:
+ if (yych <= 0x8F) goto yy2511;
+ if (yych <= 0xBF) goto yy2524;
+ goto yy2511;
+yy2516:
yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy2469;
- if (yych <= 0xBF) goto yy2482;
- goto yy2469;
-yy2475:
+ if (yych <= 0x7F) goto yy2511;
+ if (yych <= 0xBF) goto yy2524;
+ goto yy2511;
+yy2517:
yych = *(marker_ = ++cursor_);
- if (yych <= 0x7F) goto yy2469;
- if (yych <= 0x8F) goto yy2482;
- goto yy2469;
-yy2476:
+ if (yych <= 0x7F) goto yy2511;
+ if (yych <= 0x8F) goto yy2524;
+ goto yy2511;
+yy2518:
++cursor_;
-#line 703 "src/wast-lexer.cc"
+#line 711 "src/wast-lexer.cc"
{ COMMENT_NESTING++; continue; }
-#line 12226 "src/prebuilt/wast-lexer-gen.cc"
-yy2478:
+#line 12422 "src/prebuilt/wast-lexer-gen.cc"
+yy2520:
++cursor_;
-#line 704 "src/wast-lexer.cc"
+#line 712 "src/wast-lexer.cc"
{ if (--COMMENT_NESTING == 0) {
BEGIN(YYCOND_i);
}
continue; }
-#line 12234 "src/prebuilt/wast-lexer-gen.cc"
-yy2480:
+#line 12430 "src/prebuilt/wast-lexer-gen.cc"
+yy2522:
yych = *++cursor_;
- if (yych <= 0x7F) goto yy2481;
- if (yych <= 0xBF) goto yy2462;
-yy2481:
+ if (yych <= 0x7F) goto yy2523;
+ if (yych <= 0xBF) goto yy2504;
+yy2523:
cursor_ = marker_;
- goto yy2469;
-yy2482:
+ goto yy2511;
+yy2524:
yych = *++cursor_;
- if (yych <= 0x7F) goto yy2481;
- if (yych <= 0xBF) goto yy2480;
- goto yy2481;
+ if (yych <= 0x7F) goto yy2523;
+ if (yych <= 0xBF) goto yy2522;
+ goto yy2523;
}
-#line 716 "src/wast-lexer.cc"
+#line 724 "src/wast-lexer.cc"
}
}
diff --git a/src/token.def b/src/token.def
index 8cd55452..109fd8da 100644
--- a/src/token.def
+++ b/src/token.def
@@ -47,6 +47,7 @@ WABT_TOKEN(Module, "module")
WABT_TOKEN(Mut, "mut")
WABT_TOKEN(Offset, "offset")
WABT_TOKEN(Param, "param")
+WABT_TOKEN(Passive, "passive")
WABT_TOKEN(Quote, "quote")
WABT_TOKEN(Register, "register")
WABT_TOKEN(Result, "result")
@@ -93,8 +94,15 @@ WABT_TOKEN(IfExcept, "if_except")
WABT_TOKEN(If, "if")
WABT_TOKEN(Load, "LOAD")
WABT_TOKEN(Loop, "loop")
+WABT_TOKEN(MemoryCopy, "memory.copy")
+WABT_TOKEN(MemoryDrop, "memory.drop")
+WABT_TOKEN(MemoryFill, "memory.fill")
WABT_TOKEN(MemoryGrow, "memory.grow")
+WABT_TOKEN(MemoryInit, "memory.init")
WABT_TOKEN(MemorySize, "memory.size")
+WABT_TOKEN(TableCopy, "table.copy")
+WABT_TOKEN(TableDrop, "table.drop")
+WABT_TOKEN(TableInit, "table.init")
WABT_TOKEN(Nop, "nop")
WABT_TOKEN(Rethrow, "rethrow")
WABT_TOKEN(Return, "return")
diff --git a/src/type-checker.cc b/src/type-checker.cc
index 2623c3e8..b8e1c477 100644
--- a/src/type-checker.cc
+++ b/src/type-checker.cc
@@ -527,15 +527,43 @@ Result TypeChecker::OnLoop(const TypeVector& param_types,
return result;
}
+Result TypeChecker::OnMemoryCopy() {
+ return CheckOpcode3(Opcode::MemoryCopy);
+}
+
+Result TypeChecker::OnMemoryDrop(uint32_t segment) {
+ return Result::Ok;
+}
+
+Result TypeChecker::OnMemoryFill() {
+ return CheckOpcode3(Opcode::MemoryFill);
+}
+
Result TypeChecker::OnMemoryGrow() {
return CheckOpcode1(Opcode::MemoryGrow);
}
+Result TypeChecker::OnMemoryInit(uint32_t segment) {
+ return CheckOpcode3(Opcode::MemoryInit);
+}
+
Result TypeChecker::OnMemorySize() {
PushType(Type::I32);
return Result::Ok;
}
+Result TypeChecker::OnTableCopy() {
+ return CheckOpcode3(Opcode::TableCopy);
+}
+
+Result TypeChecker::OnTableDrop(uint32_t segment) {
+ return Result::Ok;
+}
+
+Result TypeChecker::OnTableInit(uint32_t segment) {
+ return CheckOpcode3(Opcode::TableInit);
+}
+
Result TypeChecker::OnRethrow() {
Result result = PopAndCheck1Type(Type::ExceptRef, "rethrow");
CHECK_RESULT(SetUnreachable());
diff --git a/src/type-checker.h b/src/type-checker.h
index e142ce1c..ef8196d4 100644
--- a/src/type-checker.h
+++ b/src/type-checker.h
@@ -90,8 +90,15 @@ class TypeChecker {
const TypeVector& except_sig);
Result OnLoad(Opcode);
Result OnLoop(const TypeVector& param_types, const TypeVector& result_types);
+ Result OnMemoryCopy();
+ Result OnMemoryDrop(Index);
+ Result OnMemoryFill();
Result OnMemoryGrow();
+ Result OnMemoryInit(Index);
Result OnMemorySize();
+ Result OnTableCopy();
+ Result OnTableDrop(Index);
+ Result OnTableInit(Index);
Result OnRethrow();
Result OnReturn();
Result OnSelect();
diff --git a/src/validator.cc b/src/validator.cc
index fc255b43..20787512 100644
--- a/src/validator.cc
+++ b/src/validator.cc
@@ -66,8 +66,15 @@ class Validator : public ExprVisitor::Delegate {
Result OnLoadExpr(LoadExpr*) override;
Result BeginLoopExpr(LoopExpr*) override;
Result EndLoopExpr(LoopExpr*) override;
+ Result OnMemoryCopyExpr(MemoryCopyExpr*) override;
+ Result OnMemoryDropExpr(MemoryDropExpr*) override;
+ Result OnMemoryFillExpr(MemoryFillExpr*) override;
Result OnMemoryGrowExpr(MemoryGrowExpr*) override;
+ Result OnMemoryInitExpr(MemoryInitExpr*) override;
Result OnMemorySizeExpr(MemorySizeExpr*) override;
+ Result OnTableCopyExpr(TableCopyExpr*) override;
+ Result OnTableDropExpr(TableDropExpr*) override;
+ Result OnTableInitExpr(TableInitExpr*) override;
Result OnNopExpr(NopExpr*) override;
Result OnReturnExpr(ReturnExpr*) override;
Result OnReturnCallExpr(ReturnCallExpr*) override;
@@ -159,6 +166,7 @@ class Validator : public ExprVisitor::Delegate {
const char* desc);
void CheckExprList(const Location* loc, const ExprList& exprs);
bool CheckHasMemory(const Location* loc, Opcode opcode);
+ bool CheckHasTable(const Location* loc, Opcode opcode);
void CheckHasSharedMemory(const Location* loc, Opcode opcode);
void CheckBlockDeclaration(const Location* loc,
Opcode opcode,
@@ -469,6 +477,16 @@ bool Validator::CheckHasMemory(const Location* loc, Opcode opcode) {
return true;
}
+bool Validator::CheckHasTable(const Location* loc, Opcode opcode) {
+ if (current_module_->tables.size() == 0) {
+ PrintError(loc, "%s requires an imported or defined table.",
+ opcode.GetName());
+ return false;
+ }
+
+ return true;
+}
+
void Validator::CheckHasSharedMemory(const Location* loc, Opcode opcode) {
if (CheckHasMemory(loc, opcode)) {
Memory* memory = current_module_->memories[0];
@@ -685,6 +703,27 @@ Result Validator::EndLoopExpr(LoopExpr* expr) {
return Result::Ok;
}
+Result Validator::OnMemoryCopyExpr(MemoryCopyExpr* expr) {
+ expr_loc_ = &expr->loc;
+ CheckHasMemory(&expr->loc, Opcode::MemoryCopy);
+ typechecker_.OnMemoryCopy();
+ return Result::Ok;
+}
+
+Result Validator::OnMemoryDropExpr(MemoryDropExpr* expr) {
+ expr_loc_ = &expr->loc;
+ CheckHasMemory(&expr->loc, Opcode::MemoryDrop);
+ typechecker_.OnMemoryDrop(expr->segment);
+ return Result::Ok;
+}
+
+Result Validator::OnMemoryFillExpr(MemoryFillExpr* expr) {
+ expr_loc_ = &expr->loc;
+ CheckHasMemory(&expr->loc, Opcode::MemoryFill);
+ typechecker_.OnMemoryFill();
+ return Result::Ok;
+}
+
Result Validator::OnMemoryGrowExpr(MemoryGrowExpr* expr) {
expr_loc_ = &expr->loc;
CheckHasMemory(&expr->loc, Opcode::MemoryGrow);
@@ -692,6 +731,13 @@ Result Validator::OnMemoryGrowExpr(MemoryGrowExpr* expr) {
return Result::Ok;
}
+Result Validator::OnMemoryInitExpr(MemoryInitExpr* expr) {
+ expr_loc_ = &expr->loc;
+ CheckHasMemory(&expr->loc, Opcode::MemoryInit);
+ typechecker_.OnMemoryInit(expr->segment);
+ return Result::Ok;
+}
+
Result Validator::OnMemorySizeExpr(MemorySizeExpr* expr) {
expr_loc_ = &expr->loc;
CheckHasMemory(&expr->loc, Opcode::MemorySize);
@@ -699,6 +745,27 @@ Result Validator::OnMemorySizeExpr(MemorySizeExpr* expr) {
return Result::Ok;
}
+Result Validator::OnTableCopyExpr(TableCopyExpr* expr) {
+ expr_loc_ = &expr->loc;
+ CheckHasTable(&expr->loc, Opcode::TableCopy);
+ typechecker_.OnTableCopy();
+ return Result::Ok;
+}
+
+Result Validator::OnTableDropExpr(TableDropExpr* expr) {
+ expr_loc_ = &expr->loc;
+ CheckHasTable(&expr->loc, Opcode::TableDrop);
+ typechecker_.OnTableDrop(expr->segment);
+ return Result::Ok;
+}
+
+Result Validator::OnTableInitExpr(TableInitExpr* expr) {
+ expr_loc_ = &expr->loc;
+ CheckHasTable(&expr->loc, Opcode::TableInit);
+ typechecker_.OnTableInit(expr->segment);
+ return Result::Ok;
+}
+
Result Validator::OnNopExpr(NopExpr* expr) {
expr_loc_ = &expr->loc;
return Result::Ok;
@@ -994,14 +1061,16 @@ void Validator::CheckElemSegments(const Module* module) {
if (auto elem_segment_field = dyn_cast<ElemSegmentModuleField>(&field)) {
auto&& elem_segment = elem_segment_field->elem_segment;
const Table* table;
- if (Failed(CheckTableVar(&elem_segment.table_var, &table))) {
- continue;
- }
-
for (const Var& var : elem_segment.vars) {
CheckFuncVar(&var, nullptr);
}
+ if (elem_segment.passive) {
+ continue;
+ }
+ if (Failed(CheckTableVar(&elem_segment.table_var, &table))) {
+ continue;
+ }
CheckConstInitExpr(&field.loc, elem_segment.offset, Type::I32,
"elem segment offset");
}
@@ -1028,10 +1097,12 @@ void Validator::CheckDataSegments(const Module* module) {
if (auto data_segment_field = dyn_cast<DataSegmentModuleField>(&field)) {
auto&& data_segment = data_segment_field->data_segment;
const Memory* memory;
+ if (data_segment.passive) {
+ continue;
+ }
if (Failed(CheckMemoryVar(&data_segment.memory_var, &memory))) {
continue;
}
-
CheckConstInitExpr(&field.loc, data_segment.offset, Type::I32,
"data segment offset");
}
diff --git a/src/wast-lexer.cc b/src/wast-lexer.cc
index 7627ded6..4c3a79f5 100644
--- a/src/wast-lexer.cc
+++ b/src/wast-lexer.cc
@@ -447,8 +447,15 @@ Token WastLexer::GetToken(WastParser* parser) {
<i> "unreachable" { RETURN_OPCODE0(Unreachable); }
<i> "memory.size" { RETURN_OPCODE0(MemorySize); }
<i> "memory.grow" { RETURN_OPCODE0(MemoryGrow); }
+ <i> "memory.init" { RETURN_OPCODE0(MemoryInit); }
+ <i> "memory.drop" { RETURN_OPCODE0(MemoryDrop); }
+ <i> "memory.copy" { RETURN_OPCODE0(MemoryCopy); }
+ <i> "memory.fill" { RETURN_OPCODE0(MemoryFill); }
<i> "current_memory" { RETURN_OPCODE0(MemorySize); }
<i> "grow_memory" { RETURN_OPCODE0(MemoryGrow); }
+ <i> "table.init" { RETURN_OPCODE0(TableInit); }
+ <i> "table.drop" { RETURN_OPCODE0(TableDrop); }
+ <i> "table.copy" { RETURN_OPCODE0(TableCopy); }
<i> "i32.atomic.wait" { RETURN_OPCODE(AtomicWait, I32AtomicWait); }
<i> "i64.atomic.wait" { RETURN_OPCODE(AtomicWait, I64AtomicWait); }
@@ -677,6 +684,7 @@ Token WastLexer::GetToken(WastParser* parser) {
<i> "import" { RETURN(Import); }
<i> "export" { RETURN(Export); }
<i> "except" { RETURN(Except); }
+ <i> "passive" { RETURN(Passive); }
<i> "register" { RETURN(Register); }
<i> "invoke" { RETURN(Invoke); }
<i> "get" { RETURN(Get); }
diff --git a/src/wast-parser.cc b/src/wast-parser.cc
index 1fef262b..2b9dbe6e 100644
--- a/src/wast-parser.cc
+++ b/src/wast-parser.cc
@@ -127,8 +127,15 @@ bool IsPlainInstr(TokenType token_type) {
case TokenType::Binary:
case TokenType::Compare:
case TokenType::Convert:
- case TokenType::MemorySize:
+ case TokenType::MemoryCopy:
+ case TokenType::MemoryDrop:
+ case TokenType::MemoryFill:
case TokenType::MemoryGrow:
+ case TokenType::MemoryInit:
+ case TokenType::MemorySize:
+ case TokenType::TableCopy:
+ case TokenType::TableDrop:
+ case TokenType::TableInit:
case TokenType::Throw:
case TokenType::Rethrow:
case TokenType::AtomicLoad:
@@ -793,8 +800,13 @@ Result WastParser::ParseDataModuleField(Module* module) {
Location loc = GetLocation();
auto field = MakeUnique<DataSegmentModuleField>(loc);
EXPECT(Data);
- ParseVarOpt(&field->data_segment.memory_var, Var(0, loc));
- CHECK_RESULT(ParseOffsetExpr(&field->data_segment.offset));
+ if (Peek() == TokenType::Passive) {
+ Consume();
+ field->data_segment.passive = true;
+ } else {
+ ParseVarOpt(&field->data_segment.memory_var, Var(0, loc));
+ CHECK_RESULT(ParseOffsetExpr(&field->data_segment.offset));
+ }
ParseTextListOpt(&field->data_segment.data);
EXPECT(Rpar);
module->AppendField(std::move(field));
@@ -807,8 +819,13 @@ Result WastParser::ParseElemModuleField(Module* module) {
Location loc = GetLocation();
auto field = MakeUnique<ElemSegmentModuleField>(loc);
EXPECT(Elem);
- ParseVarOpt(&field->elem_segment.table_var, Var(0, loc));
- CHECK_RESULT(ParseOffsetExpr(&field->elem_segment.offset));
+ if (Peek() == TokenType::Passive) {
+ Consume();
+ field->elem_segment.passive = true;
+ } else {
+ ParseVarOpt(&field->elem_segment.table_var, Var(0, loc));
+ CHECK_RESULT(ParseOffsetExpr(&field->elem_segment.offset));
+ }
ParseVarListOpt(&field->elem_segment.vars);
EXPECT(Rpar);
module->AppendField(std::move(field));
@@ -1427,6 +1444,32 @@ Result WastParser::ParsePlainInstr(std::unique_ptr<Expr>* out_expr) {
break;
}
+ case TokenType::MemoryCopy:
+ Consume();
+ out_expr->reset(new MemoryCopyExpr(loc));
+ break;
+
+ case TokenType::MemoryFill:
+ Consume();
+ out_expr->reset(new MemoryFillExpr(loc));
+ break;
+
+ case TokenType::MemoryDrop: {
+ Consume();
+ uint64_t segment;
+ CHECK_RESULT(ParseNat(&segment));
+ out_expr->reset(new MemoryDropExpr(segment, loc));
+ break;
+ }
+
+ case TokenType::MemoryInit: {
+ Consume();
+ uint64_t segment;
+ CHECK_RESULT(ParseNat(&segment));
+ out_expr->reset(new MemoryInitExpr(segment, loc));
+ break;
+ }
+
case TokenType::MemorySize:
Consume();
out_expr->reset(new MemorySizeExpr(loc));
@@ -1437,6 +1480,27 @@ Result WastParser::ParsePlainInstr(std::unique_ptr<Expr>* out_expr) {
out_expr->reset(new MemoryGrowExpr(loc));
break;
+ case TokenType::TableCopy:
+ Consume();
+ out_expr->reset(new TableCopyExpr(loc));
+ break;
+
+ case TokenType::TableDrop: {
+ Consume();
+ uint64_t segment;
+ CHECK_RESULT(ParseNat(&segment));
+ out_expr->reset(new TableDropExpr(segment, loc));
+ break;
+ }
+
+ case TokenType::TableInit: {
+ Consume();
+ uint64_t segment;
+ CHECK_RESULT(ParseNat(&segment));
+ out_expr->reset(new TableInitExpr(segment, loc));
+ break;
+ }
+
case TokenType::Throw:
ErrorUnlessOpcodeEnabled(Consume());
CHECK_RESULT(ParsePlainInstrVar<ThrowExpr>(loc, out_expr));
diff --git a/src/wat-writer.cc b/src/wat-writer.cc
index 1ab32f9b..0769b8e7 100644
--- a/src/wat-writer.cc
+++ b/src/wat-writer.cc
@@ -567,8 +567,15 @@ class WatWriter::ExprVisitorDelegate : public ExprVisitor::Delegate {
Result OnLoadExpr(LoadExpr*) override;
Result BeginLoopExpr(LoopExpr*) override;
Result EndLoopExpr(LoopExpr*) override;
+ Result OnMemoryCopyExpr(MemoryCopyExpr*) override;
+ Result OnMemoryDropExpr(MemoryDropExpr*) override;
+ Result OnMemoryFillExpr(MemoryFillExpr*) override;
Result OnMemoryGrowExpr(MemoryGrowExpr*) override;
+ Result OnMemoryInitExpr(MemoryInitExpr*) override;
Result OnMemorySizeExpr(MemorySizeExpr*) override;
+ Result OnTableCopyExpr(TableCopyExpr*) override;
+ Result OnTableDropExpr(TableDropExpr*) override;
+ Result OnTableInitExpr(TableInitExpr*) override;
Result OnNopExpr(NopExpr*) override;
Result OnReturnExpr(ReturnExpr*) override;
Result OnReturnCallExpr(ReturnCallExpr*) override;
@@ -743,16 +750,59 @@ Result WatWriter::ExprVisitorDelegate::EndLoopExpr(LoopExpr* expr) {
return Result::Ok;
}
+Result WatWriter::ExprVisitorDelegate::OnMemoryCopyExpr(MemoryCopyExpr* expr) {
+ writer_->WritePutsNewline(Opcode::MemoryCopy_Opcode.GetName());
+ return Result::Ok;
+}
+
+Result WatWriter::ExprVisitorDelegate::OnMemoryDropExpr(MemoryDropExpr* expr) {
+ writer_->WritePutsSpace(Opcode::MemoryDrop_Opcode.GetName());
+ writer_->Writef("%d", expr->segment);
+ writer_->WriteNewline(FORCE_NEWLINE);
+ return Result::Ok;
+}
+
+Result WatWriter::ExprVisitorDelegate::OnMemoryFillExpr(MemoryFillExpr* expr) {
+ writer_->WritePutsNewline(Opcode::MemoryFill_Opcode.GetName());
+ return Result::Ok;
+}
+
Result WatWriter::ExprVisitorDelegate::OnMemoryGrowExpr(MemoryGrowExpr* expr) {
writer_->WritePutsNewline(Opcode::MemoryGrow_Opcode.GetName());
return Result::Ok;
}
+Result WatWriter::ExprVisitorDelegate::OnMemoryInitExpr(MemoryInitExpr* expr) {
+ writer_->WritePutsSpace(Opcode::MemoryInit_Opcode.GetName());
+ writer_->Writef("%d", expr->segment);
+ writer_->WriteNewline(FORCE_NEWLINE);
+ return Result::Ok;
+}
+
Result WatWriter::ExprVisitorDelegate::OnMemorySizeExpr(MemorySizeExpr* expr) {
writer_->WritePutsNewline(Opcode::MemorySize_Opcode.GetName());
return Result::Ok;
}
+Result WatWriter::ExprVisitorDelegate::OnTableCopyExpr(TableCopyExpr* expr) {
+ writer_->WritePutsNewline(Opcode::TableCopy_Opcode.GetName());
+ return Result::Ok;
+}
+
+Result WatWriter::ExprVisitorDelegate::OnTableDropExpr(TableDropExpr* expr) {
+ writer_->WritePutsSpace(Opcode::TableDrop_Opcode.GetName());
+ writer_->Writef("%d", expr->segment);
+ writer_->WriteNewline(FORCE_NEWLINE);
+ return Result::Ok;
+}
+
+Result WatWriter::ExprVisitorDelegate::OnTableInitExpr(TableInitExpr* expr) {
+ writer_->WritePutsSpace(Opcode::TableInit_Opcode.GetName());
+ writer_->Writef("%d", expr->segment);
+ writer_->WriteNewline(FORCE_NEWLINE);
+ return Result::Ok;
+}
+
Result WatWriter::ExprVisitorDelegate::OnNopExpr(NopExpr* expr) {
writer_->WritePutsNewline(Opcode::Nop_Opcode.GetName());
return Result::Ok;
@@ -1005,6 +1055,19 @@ void WatWriter::WriteFoldedExpr(const Expr* expr) {
PushExpr(expr, 0, 1);
break;
+ case ExprType::MemoryDrop:
+ case ExprType::TableDrop:
+ PushExpr(expr, 0, 0);
+ break;
+
+ case ExprType::MemoryInit:
+ case ExprType::TableInit:
+ case ExprType::MemoryFill:
+ case ExprType::MemoryCopy:
+ case ExprType::TableCopy:
+ PushExpr(expr, 3, 0);
+ break;
+
case ExprType::AtomicLoad:
case ExprType::Convert:
case ExprType::MemoryGrow:
@@ -1396,7 +1459,11 @@ void WatWriter::WriteTable(const Table& table) {
void WatWriter::WriteElemSegment(const ElemSegment& segment) {
WriteOpenSpace("elem");
- WriteInitExpr(segment.offset);
+ if (segment.passive) {
+ WritePutsSpace("passive");
+ } else {
+ WriteInitExpr(segment.offset);
+ }
for (const Var& var : segment.vars) {
WriteVar(var, NextChar::Space);
}
@@ -1415,7 +1482,11 @@ void WatWriter::WriteMemory(const Memory& memory) {
void WatWriter::WriteDataSegment(const DataSegment& segment) {
WriteOpenSpace("data");
- WriteInitExpr(segment.offset);
+ if (segment.passive) {
+ WritePutsSpace("passive");
+ } else {
+ WriteInitExpr(segment.offset);
+ }
WriteQuotedData(segment.data.data(), segment.data.size());
WriteCloseNewline();
}
diff --git a/test/dump/callindirect.txt b/test/dump/callindirect.txt
index bc563fe8..e832438f 100644
--- a/test/dump/callindirect.txt
+++ b/test/dump/callindirect.txt
@@ -41,7 +41,7 @@
000001b: 00 ; section size (guess)
000001c: 01 ; num elem segments
; elem segment header 0
-000001d: 00 ; table index
+000001d: 00
000001e: 41 ; i32.const
000001f: 00 ; i32 literal
0000020: 0b ; end
diff --git a/test/dump/invalid-data-segment-no-memory.txt b/test/dump/invalid-data-segment-no-memory.txt
index 6efd94c7..2cb03910 100644
--- a/test/dump/invalid-data-segment-no-memory.txt
+++ b/test/dump/invalid-data-segment-no-memory.txt
@@ -10,7 +10,7 @@
0000009: 00 ; section size (guess)
000000a: 01 ; num data segments
; data segment header 0
-000000b: 00 ; memory index
+000000b: 00
000000c: 41 ; i32.const
000000d: 00 ; i32 literal
000000e: 0b ; end
diff --git a/test/dump/invalid-data-segment-offset.txt b/test/dump/invalid-data-segment-offset.txt
index fd079dbe..d4f84a13 100644
--- a/test/dump/invalid-data-segment-offset.txt
+++ b/test/dump/invalid-data-segment-offset.txt
@@ -19,7 +19,7 @@
000000e: 00 ; section size (guess)
000000f: 01 ; num data segments
; data segment header 0
-0000010: 00 ; memory index
+0000010: 00
0000011: 41 ; i32.const
0000012: 01 ; i32 literal
0000013: 41 ; i32.const
diff --git a/test/dump/invalid-elem-segment-no-table.txt b/test/dump/invalid-elem-segment-no-table.txt
index 0501f369..f99d4ffd 100644
--- a/test/dump/invalid-elem-segment-no-table.txt
+++ b/test/dump/invalid-elem-segment-no-table.txt
@@ -28,7 +28,7 @@
0000014: 00 ; section size (guess)
0000015: 01 ; num elem segments
; elem segment header 0
-0000016: 00 ; table index
+0000016: 00
0000017: 41 ; i32.const
0000018: 00 ; i32 literal
0000019: 0b ; end
diff --git a/test/dump/invalid-elem-segment-offset.txt b/test/dump/invalid-elem-segment-offset.txt
index eb846a46..bc502c65 100644
--- a/test/dump/invalid-elem-segment-offset.txt
+++ b/test/dump/invalid-elem-segment-offset.txt
@@ -36,7 +36,7 @@
0000019: 00 ; section size (guess)
000001a: 01 ; num elem segments
; elem segment header 0
-000001b: 00 ; table index
+000001b: 00
000001c: 41 ; i32.const
000001d: 01 ; i32 literal
000001e: 45 ; i32.eqz
diff --git a/test/dump/memory-hex.txt b/test/dump/memory-hex.txt
index a1cdfd3b..98a47caf 100644
--- a/test/dump/memory-hex.txt
+++ b/test/dump/memory-hex.txt
@@ -20,7 +20,7 @@
000000f: 00 ; section size (guess)
0000010: 01 ; num data segments
; data segment header 0
-0000011: 00 ; memory index
+0000011: 00
0000012: 41 ; i32.const
0000013: 00 ; i32 literal
0000014: 0b ; end
diff --git a/test/dump/memory.txt b/test/dump/memory.txt
index 1059d605..3315863e 100644
--- a/test/dump/memory.txt
+++ b/test/dump/memory.txt
@@ -21,7 +21,7 @@
000000e: 00 ; section size (guess)
000000f: 02 ; num data segments
; data segment header 0
-0000010: 00 ; memory index
+0000010: 00
0000011: 41 ; i32.const
0000012: 0a ; i32 literal
0000013: 0b ; end
@@ -29,7 +29,7 @@
; data segment data 0
0000015: 6865 6c6c 6f ; data segment data
; data segment header 1
-000001a: 00 ; memory index
+000001a: 00
000001b: 41 ; i32.const
000001c: 14 ; i32 literal
000001d: 0b ; end
diff --git a/test/dump/no-canonicalize.txt b/test/dump/no-canonicalize.txt
index a4946fa2..6b98a05b 100644
--- a/test/dump/no-canonicalize.txt
+++ b/test/dump/no-canonicalize.txt
@@ -98,7 +98,7 @@
000005d: 0000 0000 00 ; section size (guess)
0000062: 01 ; num elem segments
; elem segment header 0
-0000063: 00 ; table index
+0000063: 00
0000064: 41 ; i32.const
0000065: 00 ; i32 literal
0000066: 0b ; end
diff --git a/test/dump/table.txt b/test/dump/table.txt
index 35ed24b2..baa5ab68 100644
--- a/test/dump/table.txt
+++ b/test/dump/table.txt
@@ -57,7 +57,7 @@
0000026: 00 ; section size (guess)
0000027: 02 ; num elem segments
; elem segment header 0
-0000028: 00 ; table index
+0000028: 00
0000029: 41 ; i32.const
000002a: 00 ; i32 literal
000002b: 0b ; end
@@ -65,7 +65,7 @@
000002d: 01 ; function index
000002e: 01 ; function index
; elem segment header 1
-000002f: 00 ; table index
+000002f: 00
0000030: 41 ; i32.const
0000031: 02 ; i32 literal
0000032: 0b ; end
diff --git a/test/help/spectest-interp.txt b/test/help/spectest-interp.txt
index 58a4a447..8ad66af4 100644
--- a/test/help/spectest-interp.txt
+++ b/test/help/spectest-interp.txt
@@ -20,6 +20,7 @@ options:
--enable-threads Enable Threading support
--enable-multi-value Enable Multi-value
--enable-tail-call Enable Tail-call support
+ --enable-bulk-memory Enable Bulk-memory operations
-V, --value-stack-size=SIZE Size in elements of the value stack
-C, --call-stack-size=SIZE Size in elements of the call stack
-t, --trace Trace execution
diff --git a/test/help/wasm-interp.txt b/test/help/wasm-interp.txt
index fbe4f45b..77420472 100644
--- a/test/help/wasm-interp.txt
+++ b/test/help/wasm-interp.txt
@@ -31,6 +31,7 @@ options:
--enable-threads Enable Threading support
--enable-multi-value Enable Multi-value
--enable-tail-call Enable Tail-call support
+ --enable-bulk-memory Enable Bulk-memory operations
-V, --value-stack-size=SIZE Size in elements of the value stack
-C, --call-stack-size=SIZE Size in elements of the call stack
-t, --trace Trace execution
diff --git a/test/help/wasm-validate.txt b/test/help/wasm-validate.txt
index 7cd20039..4b1a45a8 100644
--- a/test/help/wasm-validate.txt
+++ b/test/help/wasm-validate.txt
@@ -20,6 +20,7 @@ options:
--enable-threads Enable Threading support
--enable-multi-value Enable Multi-value
--enable-tail-call Enable Tail-call support
+ --enable-bulk-memory Enable Bulk-memory operations
--no-debug-names Ignore debug names in the binary file
--ignore-custom-section-errors Ignore errors in custom sections
;;; STDOUT ;;)
diff --git a/test/help/wasm2wat.txt b/test/help/wasm2wat.txt
index 30a2488d..38641fe1 100644
--- a/test/help/wasm2wat.txt
+++ b/test/help/wasm2wat.txt
@@ -26,6 +26,7 @@ options:
--enable-threads Enable Threading support
--enable-multi-value Enable Multi-value
--enable-tail-call Enable Tail-call support
+ --enable-bulk-memory Enable Bulk-memory operations
--inline-exports Write all exports inline
--inline-imports Write all imports inline
--no-debug-names Ignore debug names in the binary file
diff --git a/test/help/wast2json.txt b/test/help/wast2json.txt
index aa187b13..7b71d625 100644
--- a/test/help/wast2json.txt
+++ b/test/help/wast2json.txt
@@ -23,6 +23,7 @@ options:
--enable-threads Enable Threading support
--enable-multi-value Enable Multi-value
--enable-tail-call Enable Tail-call support
+ --enable-bulk-memory Enable Bulk-memory operations
-o, --output=FILE output wasm binary file
-r, --relocatable Create a relocatable wasm binary (suitable for linking with e.g. lld)
--no-canonicalize-leb128s Write all LEB128 sizes as 5-bytes instead of their minimal size
diff --git a/test/help/wat-desugar.txt b/test/help/wat-desugar.txt
index 8fc23c9c..383d10d1 100644
--- a/test/help/wat-desugar.txt
+++ b/test/help/wat-desugar.txt
@@ -30,5 +30,6 @@ options:
--enable-threads Enable Threading support
--enable-multi-value Enable Multi-value
--enable-tail-call Enable Tail-call support
+ --enable-bulk-memory Enable Bulk-memory operations
--generate-names Give auto-generated names to non-named functions, types, etc.
;;; STDOUT ;;)
diff --git a/test/help/wat2wasm.txt b/test/help/wat2wasm.txt
index b1be5c5f..853e1b92 100644
--- a/test/help/wat2wasm.txt
+++ b/test/help/wat2wasm.txt
@@ -30,6 +30,7 @@ options:
--enable-threads Enable Threading support
--enable-multi-value Enable Multi-value
--enable-tail-call Enable Tail-call support
+ --enable-bulk-memory Enable Bulk-memory operations
-o, --output=FILE output wasm binary file
-r, --relocatable Create a relocatable wasm binary (suitable for linking with e.g. lld)
--no-canonicalize-leb128s Write all LEB128 sizes as 5-bytes instead of their minimal size
diff --git a/test/interp/logging-all-opcodes.txt b/test/interp/logging-all-opcodes.txt
index 8970d88b..5b785ebb 100644
--- a/test/interp/logging-all-opcodes.txt
+++ b/test/interp/logging-all-opcodes.txt
@@ -2555,7 +2555,7 @@
0001a1b: 00 ; section size (guess)
0001a1c: 01 ; num elem segments
; elem segment header 0
-0001a1d: 00 ; table index
+0001a1d: 00
0001a1e: 41 ; i32.const
0001a1f: 00 ; i32 literal
0001a20: 0b ; end
@@ -7996,7 +7996,7 @@ BeginModule(version: 1)
EndExportSection
BeginElemSection(8)
OnElemSegmentCount(1)
- BeginElemSegment(index: 0, table_index: 0)
+ BeginElemSegment(index: 0, table_index: 0, passive: false)
BeginElemSegmentInitExpr(0)
OnInitExprI32ConstExpr(index: 0, value: 0)
EndElemSegmentInitExpr(0)
diff --git a/test/parse/expr/memory-copy.txt b/test/parse/expr/memory-copy.txt
new file mode 100644
index 00000000..2941d3fc
--- /dev/null
+++ b/test/parse/expr/memory-copy.txt
@@ -0,0 +1,10 @@
+;;; TOOL: wat2wasm
+;;; ARGS: --enable-bulk-memory
+(module
+ (memory 0)
+
+ (func
+ i32.const 0
+ i32.const 0
+ i32.const 0
+ memory.copy))
diff --git a/test/parse/expr/memory-drop.txt b/test/parse/expr/memory-drop.txt
new file mode 100644
index 00000000..2803ee0c
--- /dev/null
+++ b/test/parse/expr/memory-drop.txt
@@ -0,0 +1,9 @@
+;;; TOOL: wat2wasm
+;;; ARGS: --enable-bulk-memory
+(module
+ (memory 0)
+
+ (func
+ memory.drop 0)
+
+ (data passive "hi"))
diff --git a/test/parse/expr/memory-fill.txt b/test/parse/expr/memory-fill.txt
new file mode 100644
index 00000000..940762af
--- /dev/null
+++ b/test/parse/expr/memory-fill.txt
@@ -0,0 +1,10 @@
+;;; TOOL: wat2wasm
+;;; ARGS: --enable-bulk-memory
+(module
+ (memory 0)
+
+ (func
+ i32.const 0
+ i32.const 0
+ i32.const 0
+ memory.fill))
diff --git a/test/parse/expr/memory-init.txt b/test/parse/expr/memory-init.txt
new file mode 100644
index 00000000..01b02c86
--- /dev/null
+++ b/test/parse/expr/memory-init.txt
@@ -0,0 +1,12 @@
+;;; TOOL: wat2wasm
+;;; ARGS: --enable-bulk-memory
+(module
+ (memory 0)
+
+ (func
+ i32.const 0
+ i32.const 0
+ i32.const 0
+ memory.init 0)
+
+ (data passive "hi"))
diff --git a/test/parse/expr/table-copy.txt b/test/parse/expr/table-copy.txt
new file mode 100644
index 00000000..41a62fb8
--- /dev/null
+++ b/test/parse/expr/table-copy.txt
@@ -0,0 +1,12 @@
+;;; TOOL: wat2wasm
+;;; ARGS: --enable-bulk-memory
+(module
+ (memory 0)
+
+ (func
+ i32.const 0
+ i32.const 0
+ i32.const 0
+ table.copy)
+
+ (table 0 anyfunc))
diff --git a/test/parse/expr/table-drop.txt b/test/parse/expr/table-drop.txt
new file mode 100644
index 00000000..7705f3f6
--- /dev/null
+++ b/test/parse/expr/table-drop.txt
@@ -0,0 +1,12 @@
+;;; TOOL: wat2wasm
+;;; ARGS: --enable-bulk-memory
+(module
+ (memory 0)
+
+ (func
+ table.drop 0)
+
+ (func)
+
+ (table 0 anyfunc)
+ (elem passive 1))
diff --git a/test/parse/expr/table-init.txt b/test/parse/expr/table-init.txt
new file mode 100644
index 00000000..4673c644
--- /dev/null
+++ b/test/parse/expr/table-init.txt
@@ -0,0 +1,15 @@
+;;; TOOL: wat2wasm
+;;; ARGS: --enable-bulk-memory
+(module
+ (memory 0)
+
+ (func
+ i32.const 0
+ i32.const 0
+ i32.const 0
+ table.init 0)
+
+ (func)
+
+ (table 0 anyfunc)
+ (elem passive 1))
diff --git a/test/parse/module/memory-segment-passive.txt b/test/parse/module/memory-segment-passive.txt
new file mode 100644
index 00000000..0eb64787
--- /dev/null
+++ b/test/parse/module/memory-segment-passive.txt
@@ -0,0 +1,4 @@
+;;; TOOL: wat2wasm
+(module
+ (memory 1)
+ (data passive "hi"))
diff --git a/test/roundtrip/bulk-memory.txt b/test/roundtrip/bulk-memory.txt
new file mode 100644
index 00000000..f2df7561
--- /dev/null
+++ b/test/roundtrip/bulk-memory.txt
@@ -0,0 +1,75 @@
+;;; TOOL: run-roundtrip
+;;; ARGS: --stdout --enable-bulk-memory
+(module
+ (memory 0)
+ (table 0 anyfunc)
+
+ (func
+ i32.const 0
+ i32.const 0
+ i32.const 0
+ memory.init 0
+
+ memory.drop 0
+
+ i32.const 0
+ i32.const 0
+ i32.const 0
+ memory.copy
+
+ i32.const 0
+ i32.const 0
+ i32.const 0
+ memory.fill
+
+ i32.const 0
+ i32.const 0
+ i32.const 0
+ table.init 0
+
+ table.drop 0
+
+ i32.const 0
+ i32.const 0
+ i32.const 0
+ table.copy
+
+ )
+
+ (func)
+
+ (data passive "hi")
+ (elem passive 1)
+ )
+(;; STDOUT ;;;
+(module
+ (type (;0;) (func))
+ (func (;0;) (type 0)
+ i32.const 0
+ i32.const 0
+ i32.const 0
+ memory.init 0
+ memory.drop 0
+ i32.const 0
+ i32.const 0
+ i32.const 0
+ memory.copy
+ i32.const 0
+ i32.const 0
+ i32.const 0
+ memory.fill
+ i32.const 0
+ i32.const 0
+ i32.const 0
+ table.init 0
+ table.drop 0
+ i32.const 0
+ i32.const 0
+ i32.const 0
+ table.copy)
+ (func (;1;) (type 0))
+ (table (;0;) 0 anyfunc)
+ (memory (;0;) 0)
+ (elem passive 1)
+ (data passive "hi"))
+;;; STDOUT ;;)
diff --git a/test/run-roundtrip.py b/test/run-roundtrip.py
index 20466c21..8eba3b49 100755
--- a/test/run-roundtrip.py
+++ b/test/run-roundtrip.py
@@ -122,6 +122,7 @@ def main(args):
parser.add_argument('--enable-simd', action='store_true')
parser.add_argument('--enable-sign-extension', action='store_true')
parser.add_argument('--enable-multi-value', action='store_true')
+ parser.add_argument('--enable-bulk-memory', action='store_true')
parser.add_argument('--inline-exports', action='store_true')
parser.add_argument('--inline-imports', action='store_true')
parser.add_argument('file', help='test file.')
@@ -139,6 +140,7 @@ def main(args):
'--enable-sign-extension': options.enable_sign_extension,
'--enable-simd': options.enable_simd,
'--enable-threads': options.enable_threads,
+ '--enable-bulk-memory': options.enable_bulk_memory,
'--no-check': options.no_check,
})
@@ -153,6 +155,7 @@ def main(args):
options.enable_saturating_float_to_int,
'--enable-sign-extension': options.enable_sign_extension,
'--enable-simd': options.enable_simd,
+ '--enable-bulk-memory': options.enable_bulk_memory,
'--enable-threads': options.enable_threads,
'--inline-exports': options.inline_exports,
'--inline-imports': options.inline_imports,