summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbbas Mashayekh <martianboy2005@gmail.com>2021-03-31 01:04:20 +0430
committerGitHub <noreply@github.com>2021-03-30 13:34:20 -0700
commitdaa7e66be52285a0cbee04a7cf69886c63610097 (patch)
treefbbec2d89c46b809f64e429af932542adbe945f3
parent4441588c356ece316a36019715e511b7eed36021 (diff)
downloadbinaryen-daa7e66be52285a0cbee04a7cf69886c63610097.tar.gz
binaryen-daa7e66be52285a0cbee04a7cf69886c63610097.tar.bz2
binaryen-daa7e66be52285a0cbee04a7cf69886c63610097.zip
Remove passive keyword from data segment parser (#3757)
The passive keyword has been removed from spec's text format, and now any data segment that doesn't have an offset is considered as passive. This PR remove that from both parser and the Print pass, plus all tests that used that syntax. Fixes #2339
-rw-r--r--src/passes/Print.cpp7
-rw-r--r--src/wasm/wasm-s-parser.cpp35
-rw-r--r--test/binaryen.js/kitchen-sink.js.txt4
-rw-r--r--test/example/c-api-kitchen-sink.txt2
-rw-r--r--test/extended-names.wast2
-rw-r--r--test/extended-names.wast.from-wast2
-rw-r--r--test/extended-names.wast.fromBinary2
-rw-r--r--test/extended-names.wast.fromBinary.noDebugInfo2
-rw-r--r--test/lit/wasm-emscripten-finalize/passive-pic.wat2
-rw-r--r--test/lld/em_asm_pthread.wasm.out10
-rw-r--r--test/lld/hello_world.passive.wat2
-rw-r--r--test/lld/hello_world.passive.wat.out2
-rw-r--r--test/metadce/spanning_cycle.wast2
-rw-r--r--test/metadce/spanning_cycle.wast.dced2
-rw-r--r--test/passes/memory-packing_all-features.txt248
-rw-r--r--test/passes/memory-packing_all-features.wast80
-rw-r--r--test/passes/precompute_all-features.txt2
-rw-r--r--test/passes/precompute_all-features.wast2
-rw-r--r--test/passes/simplify-locals_all-features.txt4
-rw-r--r--test/passes/simplify-locals_all-features.wast4
-rw-r--r--test/passes/simplify-locals_all-features_disable-exception-handling.txt2
-rw-r--r--test/passes/simplify-locals_all-features_disable-exception-handling.wast2
-rw-r--r--test/reduce/atomics-and-bulk-memory.wast2
-rw-r--r--test/spec/bulk-memory.wast6
-rw-r--r--test/spec/bulk-memory64.wast6
-rw-r--r--test/spec/data.wast276
-rw-r--r--test/spec/imports.wast4
-rw-r--r--test/spec/old_import.wast4
-rw-r--r--test/unit/test_features.py2
-rw-r--r--test/wasm2js/atomics_32.wast4
30 files changed, 438 insertions, 286 deletions
diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp
index 31a6ccaae..b4b4ef70f 100644
--- a/src/passes/Print.cpp
+++ b/src/passes/Print.cpp
@@ -2803,12 +2803,11 @@ struct PrintSExpression : public UnifiedExpressionVisitor<PrintSExpression> {
printName(segment.name, o);
o << ' ';
}
- if (segment.isPassive) {
- printMedium(o, "passive");
- } else {
+ if (!segment.isPassive) {
visit(segment.offset);
+ o << ' ';
}
- o << " \"";
+ o << "\"";
for (size_t i = 0; i < segment.data.size(); i++) {
unsigned char c = segment.data[i];
switch (c) {
diff --git a/src/wasm/wasm-s-parser.cpp b/src/wasm/wasm-s-parser.cpp
index 32f555d5a..d6cef72cd 100644
--- a/src/wasm/wasm-s-parser.cpp
+++ b/src/wasm/wasm-s-parser.cpp
@@ -2858,27 +2858,34 @@ void SExpressionWasmBuilder::parseData(Element& s) {
if (!wasm.memory.exists) {
throw ParseException("data but no memory", s.line, s.col);
}
- bool isPassive = false;
+ bool isPassive = true;
Expression* offset = nullptr;
Index i = 1;
Name name;
- if (s[i]->dollared()) {
+
+ if (s[i]->isStr() && s[i]->dollared()) {
name = s[i++]->str();
}
- if (s[i]->isStr()) {
- // data is passive or named
- if (s[i]->str() == PASSIVE) {
- isPassive = true;
+
+ if (s[i]->isList()) {
+ // Optional (memory <memoryidx>)
+ if (elementStartsWith(s[i], MEMORY)) {
+ // TODO: we're just skipping memory since we have only one. Assign the
+ // memory name to the segment when we support multiple memories.
+ i += 1;
}
- i++;
- }
- if (!isPassive) {
- offset = parseExpression(s[i]);
- }
- if (s.size() != 3 && s.size() != 4) {
- throw ParseException("Unexpected data items", s.line, s.col);
+
+ // Offset expression (offset (<expr>)) | (<expr>)
+ auto& inner = *s[i++];
+ if (elementStartsWith(inner, OFFSET)) {
+ offset = parseExpression(inner[1]);
+ } else {
+ offset = parseExpression(inner);
+ }
+ isPassive = false;
}
- parseInnerData(s, s.size() - 1, name, offset, isPassive);
+
+ parseInnerData(s, i, name, offset, isPassive);
}
void SExpressionWasmBuilder::parseInnerData(
diff --git a/test/binaryen.js/kitchen-sink.js.txt b/test/binaryen.js/kitchen-sink.js.txt
index 700e8507f..69ff4860b 100644
--- a/test/binaryen.js/kitchen-sink.js.txt
+++ b/test/binaryen.js/kitchen-sink.js.txt
@@ -130,7 +130,7 @@ getExpressionInfo(tuple[3])={"id":14,"type":5,"value":3.7}
(import "module" "base" (event $a-event-imp (attr 0) (param i32)))
(memory $0 (shared 1 256))
(data (i32.const 10) "hello, world")
- (data passive "I am passive")
+ (data "I am passive")
(table $t0 1 funcref)
(elem $e0 (i32.const 0) "$kitchen()sinker")
(global $a-global i32 (i32.const 1))
@@ -1992,7 +1992,7 @@ getExpressionInfo(tuple[3])={"id":14,"type":5,"value":3.7}
(import "module" "base" (event $a-event-imp (attr 0) (param i32)))
(memory $0 (shared 1 256))
(data (i32.const 10) "hello, world")
- (data passive "I am passive")
+ (data "I am passive")
(table $t0 1 funcref)
(elem $e0 (i32.const 0) "$kitchen()sinker")
(global $a-global i32 (i32.const 1))
diff --git a/test/example/c-api-kitchen-sink.txt b/test/example/c-api-kitchen-sink.txt
index 761b08c85..a0f28699b 100644
--- a/test/example/c-api-kitchen-sink.txt
+++ b/test/example/c-api-kitchen-sink.txt
@@ -38,7 +38,7 @@ BinaryenFeatureAll: 8191
(import "module" "base" (func $an-imported (param i32 f64) (result f32)))
(memory $0 (shared 1 256))
(data (i32.const 10) "hello, world")
- (data passive "I am passive")
+ (data "I am passive")
(table $tab 0 100 funcref)
(table $0 1 1 funcref)
(elem $0 (table $0) (i32.const 0) func "$kitchen()sinker")
diff --git a/test/extended-names.wast b/test/extended-names.wast
index cebd598d0..009ef5689 100644
--- a/test/extended-names.wast
+++ b/test/extended-names.wast
@@ -2,5 +2,5 @@
(table $t1 1 funcref)
(memory $m1 1 1)
(data $mydata (i32.const 0) "a")
- (data $passive_data passive "b")
+ (data $passive_data "b")
)
diff --git a/test/extended-names.wast.from-wast b/test/extended-names.wast.from-wast
index 434940d29..5719e9e44 100644
--- a/test/extended-names.wast.from-wast
+++ b/test/extended-names.wast.from-wast
@@ -1,6 +1,6 @@
(module $foo
(memory $m1 1 1)
(data $mydata (i32.const 0) "a")
- (data $passive_data passive "b")
+ (data $passive_data "b")
(table $t1 1 funcref)
)
diff --git a/test/extended-names.wast.fromBinary b/test/extended-names.wast.fromBinary
index 9817d64b7..18a08262d 100644
--- a/test/extended-names.wast.fromBinary
+++ b/test/extended-names.wast.fromBinary
@@ -1,7 +1,7 @@
(module $foo
(memory $m1 1 1)
(data $mydata (i32.const 0) "a")
- (data $passive_data passive "b")
+ (data $passive_data "b")
(table $t1 1 funcref)
)
diff --git a/test/extended-names.wast.fromBinary.noDebugInfo b/test/extended-names.wast.fromBinary.noDebugInfo
index 197d7c0fc..dec58c4dd 100644
--- a/test/extended-names.wast.fromBinary.noDebugInfo
+++ b/test/extended-names.wast.fromBinary.noDebugInfo
@@ -1,7 +1,7 @@
(module
(memory $0 1 1)
(data (i32.const 0) "a")
- (data passive "b")
+ (data "b")
(table $0 1 funcref)
)
diff --git a/test/lit/wasm-emscripten-finalize/passive-pic.wat b/test/lit/wasm-emscripten-finalize/passive-pic.wat
index 8b6ccb6d4..63e2cb72c 100644
--- a/test/lit/wasm-emscripten-finalize/passive-pic.wat
+++ b/test/lit/wasm-emscripten-finalize/passive-pic.wat
@@ -11,7 +11,7 @@
(import "env" "memory" (memory $memory 1 1))
(import "env" "__memory_base" (global $__memory_base i32))
(import "env" "emscripten_asm_const_int" (func $emscripten_asm_const_int (param i32 i32 i32) (result i32)))
- (data passive "xxxhello\00yyy")
+ (data "xxxhello\00yyy")
(global (export "__start_em_asm") i32 (i32.const 3))
(global (export "__stop_em_asm") i32 (i32.const 9))
;; memory init function similar to those generated by wasm-ld
diff --git a/test/lld/em_asm_pthread.wasm.out b/test/lld/em_asm_pthread.wasm.out
index db5d615bd..a89db9b24 100644
--- a/test/lld/em_asm_pthread.wasm.out
+++ b/test/lld/em_asm_pthread.wasm.out
@@ -39,11 +39,11 @@
(type $i32_i32_i32_=>_f64 (func (param i32 i32 i32) (result f64)))
(type $i32_i32_i32_i32_=>_f64 (func (param i32 i32 i32 i32) (result f64)))
(import "env" "memory" (memory $mimport$0 (shared 256 256)))
- (data passive "\00/home/azakai/Dev/emscripten/system/lib/pthread/library_pthread.c\00call\00_emscripten_do_dispatch_to_thread\00target_thread\00num_args+1 <= EM_QUEUED_JS_CALL_MAX_ARGS\00emscripten_run_in_main_runtime_thread_js\00q\00_emscripten_call_on_thread\00EM_FUNC_SIG_NUM_FUNC_ARGUMENTS(q->functionEnum) <= EM_QUEUED_CALL_MAX_ARGS\00_do_call\000 && \"Invalid Emscripten pthread _do_call opcode!\"\00target\00GetQueue\00em_queued_call_malloc\00")
- (data passive "\01\00\00\00\d0\0fP\00\05\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\04\00\00\00x\t\00\00\00\04\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\n\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\a0\05\00\00")
- (data passive "")
- (data passive "")
- (data passive "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00")
+ (data "\00/home/azakai/Dev/emscripten/system/lib/pthread/library_pthread.c\00call\00_emscripten_do_dispatch_to_thread\00target_thread\00num_args+1 <= EM_QUEUED_JS_CALL_MAX_ARGS\00emscripten_run_in_main_runtime_thread_js\00q\00_emscripten_call_on_thread\00EM_FUNC_SIG_NUM_FUNC_ARGUMENTS(q->functionEnum) <= EM_QUEUED_CALL_MAX_ARGS\00_do_call\000 && \"Invalid Emscripten pthread _do_call opcode!\"\00target\00GetQueue\00em_queued_call_malloc\00")
+ (data "\01\00\00\00\d0\0fP\00\05\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\03\00\00\00\04\00\00\00x\t\00\00\00\04\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\n\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\a0\05\00\00")
+ (data "")
+ (data "")
+ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00")
(import "env" "emscripten_asm_const_int" (func $fimport$0 (param i32 i32 i32) (result i32)))
(import "env" "world" (func $fimport$1))
(import "env" "__cxa_thread_atexit" (func $fimport$2 (param i32 i32 i32) (result i32)))
diff --git a/test/lld/hello_world.passive.wat b/test/lld/hello_world.passive.wat
index 27ccb8f90..a8e79add2 100644
--- a/test/lld/hello_world.passive.wat
+++ b/test/lld/hello_world.passive.wat
@@ -5,7 +5,7 @@
(type $3 (func (param i32 i32) (result i32)))
(import "env" "puts" (func $puts (param i32) (result i32)))
(memory $0 2)
- (data passive "Hello, world\00")
+ (data "Hello, world\00")
(table $0 1 1 funcref)
(global $global$0 (mut i32) (i32.const 66128))
(global $global$1 i32 (i32.const 66128))
diff --git a/test/lld/hello_world.passive.wat.out b/test/lld/hello_world.passive.wat.out
index ea7c0e183..5d4a2ed10 100644
--- a/test/lld/hello_world.passive.wat.out
+++ b/test/lld/hello_world.passive.wat.out
@@ -5,7 +5,7 @@
(type $3 (func (param i32 i32) (result i32)))
(import "env" "puts" (func $puts (param i32) (result i32)))
(memory $0 2)
- (data passive "Hello, world\00")
+ (data "Hello, world\00")
(table $0 1 1 funcref)
(global $global$0 (mut i32) (i32.const 66128))
(global $global$1 i32 (i32.const 66128))
diff --git a/test/metadce/spanning_cycle.wast b/test/metadce/spanning_cycle.wast
index cfb74346a..e433227dc 100644
--- a/test/metadce/spanning_cycle.wast
+++ b/test/metadce/spanning_cycle.wast
@@ -1,6 +1,6 @@
(module
(memory 1 1)
- (data passive "Hello, datacount section!")
+ (data "Hello, datacount section!")
(import "env" "js_func" (func $a_js_func))
diff --git a/test/metadce/spanning_cycle.wast.dced b/test/metadce/spanning_cycle.wast.dced
index 7b74682bd..778ce0a51 100644
--- a/test/metadce/spanning_cycle.wast.dced
+++ b/test/metadce/spanning_cycle.wast.dced
@@ -2,7 +2,7 @@
(type $none_=>_none (func))
(import "env" "js_func" (func $a_js_func))
(memory $0 1 1)
- (data passive "Hello, datacount section!")
+ (data "Hello, datacount section!")
(export "wasm_func_a" (func $a_wasm_func))
(func $a_wasm_func
(memory.init 0
diff --git a/test/passes/memory-packing_all-features.txt b/test/passes/memory-packing_all-features.txt
index 0f269ffca..3cf5a415f 100644
--- a/test/passes/memory-packing_all-features.txt
+++ b/test/passes/memory-packing_all-features.txt
@@ -68,23 +68,23 @@
(module
(type $none_=>_none (func))
(memory $0 2048 2048)
- (data passive "zeroes at start")
- (data passive "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes at start")
- (data passive "\00\00\00few zeroes at start")
- (data passive "zeroes at end")
- (data passive "zeroes at end\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00")
- (data passive "few zeroes at end\00\00\00")
- (data passive "zeroes")
- (data passive "in middle")
- (data passive "zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00in middle")
- (data passive "few zeroes\00\00\00in middle")
- (data passive "multiple")
- (data passive "spans")
- (data passive "of zeroes")
- (data passive "even")
- (data passive "more")
- (data passive "zeroes")
- (data passive "no zeroes")
+ (data "zeroes at start")
+ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes at start")
+ (data "\00\00\00few zeroes at start")
+ (data "zeroes at end")
+ (data "zeroes at end\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00")
+ (data "few zeroes at end\00\00\00")
+ (data "zeroes")
+ (data "in middle")
+ (data "zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00in middle")
+ (data "few zeroes\00\00\00in middle")
+ (data "multiple")
+ (data "spans")
+ (data "of zeroes")
+ (data "even")
+ (data "more")
+ (data "zeroes")
+ (data "no zeroes")
(global $__mem_segment_drop_state (mut i32) (i32.const 0))
(global $__mem_segment_drop_state_0 (mut i32) (i32.const 0))
(global $__mem_segment_drop_state_1 (mut i32) (i32.const 0))
@@ -368,38 +368,38 @@
(type $none_=>_none (func))
(import "env" "param" (global $param i32))
(memory $0 2048 2048)
- (data passive "even")
- (data passive "more")
- (data passive "zeroes")
- (data passive "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00")
- (data passive "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00")
- (data passive "even")
- (data passive "more")
- (data passive "zeroes")
- (data passive "even")
- (data passive "more")
- (data passive "zeroes")
- (data passive "even")
- (data passive "more")
- (data passive "zeroes")
- (data passive "even")
- (data passive "more")
- (data passive "zeroes")
- (data passive "even")
- (data passive "more")
- (data passive "zeroes")
- (data passive "even")
- (data passive "more")
- (data passive "zeroes")
- (data passive "even")
- (data passive "more")
- (data passive "zeroes")
- (data passive "even")
- (data passive "more")
- (data passive "zeroes")
- (data passive "even")
- (data passive "more")
- (data passive "zeroes")
+ (data "even")
+ (data "more")
+ (data "zeroes")
+ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00")
+ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00")
+ (data "even")
+ (data "more")
+ (data "zeroes")
+ (data "even")
+ (data "more")
+ (data "zeroes")
+ (data "even")
+ (data "more")
+ (data "zeroes")
+ (data "even")
+ (data "more")
+ (data "zeroes")
+ (data "even")
+ (data "more")
+ (data "zeroes")
+ (data "even")
+ (data "more")
+ (data "zeroes")
+ (data "even")
+ (data "more")
+ (data "zeroes")
+ (data "even")
+ (data "more")
+ (data "zeroes")
+ (data "even")
+ (data "more")
+ (data "zeroes")
(global $__mem_segment_drop_state (mut i32) (i32.const 0))
(global $__mem_segment_drop_state_0 (mut i32) (i32.const 0))
(global $__mem_segment_drop_state_1 (mut i32) (i32.const 0))
@@ -827,16 +827,16 @@
(module
(type $none_=>_none (func))
(memory $0 2048 2048)
- (data passive "hi")
- (data passive "even")
- (data passive "hi")
- (data passive "hi")
- (data passive "even")
- (data passive "hi")
- (data passive "even")
- (data passive "hi")
- (data passive "even")
- (data passive "hi")
+ (data "hi")
+ (data "even")
+ (data "hi")
+ (data "hi")
+ (data "even")
+ (data "hi")
+ (data "even")
+ (data "hi")
+ (data "even")
+ (data "hi")
(global $__mem_segment_drop_state (mut i32) (i32.const 0))
(global $__mem_segment_drop_state_0 (mut i32) (i32.const 0))
(global $__mem_segment_drop_state_1 (mut i32) (i32.const 0))
@@ -935,69 +935,69 @@
(module
(type $none_=>_none (func))
(memory $0 2048 2048)
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a")
- (data passive "a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a")
+ (data "a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a")
(func $init-lots
(block
(memory.init 0
@@ -1542,8 +1542,8 @@
(module
(type $none_=>_none (func))
(memory $0 1 1)
- (data passive "skipped")
- (data passive "included")
+ (data "skipped")
+ (data "included")
(global $__mem_segment_drop_state (mut i32) (i32.const 0))
(export "func_54" (func $0))
(func $0
diff --git a/test/passes/memory-packing_all-features.wast b/test/passes/memory-packing_all-features.wast
index 31f937a29..6869a85d6 100644
--- a/test/passes/memory-packing_all-features.wast
+++ b/test/passes/memory-packing_all-features.wast
@@ -59,9 +59,9 @@
(module
(memory $0 2048 2048)
- (data passive "not referenced, delete me") ;; 0
+ (data "not referenced, delete me") ;; 0
- (data passive "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes at start") ;; 1
+ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes at start") ;; 1
(func $zeroes-at-start
(memory.init 1
@@ -73,7 +73,7 @@
)
;; the not-split tests have too many memory.init and data.drop instructions for splitting to be worth it
- (data passive "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes at start") ;; 2
+ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes at start") ;; 2
(func $zeroes-at-start-not-split
(memory.init 2
@@ -99,7 +99,7 @@
(data.drop 2)
)
- (data passive "\00\00\00few zeroes at start") ;; 3
+ (data "\00\00\00few zeroes at start") ;; 3
(func $few-zeroes-at-start
(memory.init 3
@@ -110,7 +110,7 @@
(data.drop 3)
)
- (data passive "zeroes at end\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 4
+ (data "zeroes at end\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 4
(func $zeroes-at-end
(memory.init 4
@@ -121,7 +121,7 @@
(data.drop 4)
)
- (data passive "zeroes at end\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 5
+ (data "zeroes at end\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 5
(func $zeroes-at-end-not-split
(memory.init 5
@@ -147,7 +147,7 @@
(data.drop 5)
)
- (data passive "few zeroes at end\00\00\00") ;; 6
+ (data "few zeroes at end\00\00\00") ;; 6
(func $few-zeroes-at-end
(memory.init 6
@@ -158,7 +158,7 @@
(data.drop 6)
)
- (data passive "zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00in middle") ;; 7
+ (data "zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00in middle") ;; 7
(func $zeroes-in-middle
(memory.init 7
@@ -169,7 +169,7 @@
(data.drop 7)
)
- (data passive "zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00in middle") ;; 8
+ (data "zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00in middle") ;; 8
(func $zeroes-in-middle-not-split
(memory.init 8
@@ -185,7 +185,7 @@
(data.drop 8)
)
- (data passive "few zeroes\00\00\00in middle") ;; 9
+ (data "few zeroes\00\00\00in middle") ;; 9
(func $few-zeroes-in-middle
(memory.init 9
@@ -196,7 +196,7 @@
(data.drop 9)
)
- (data passive "multiple\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00spans\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00of zeroes") ;; 10
+ (data "multiple\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00spans\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00of zeroes") ;; 10
(func $multiple-spans-of-zeroes
(memory.init 10
@@ -207,7 +207,7 @@
(data.drop 10)
)
- (data passive "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 11
+ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 11
(func $even-more-zeroes
(memory.init 11
@@ -218,7 +218,7 @@
(data.drop 11)
)
- (data passive "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 12
+ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 12
(func $only-zeroes
(memory.init 12
@@ -229,7 +229,7 @@
(data.drop 12)
)
- (data passive "no zeroes") ;; 13
+ (data "no zeroes") ;; 13
(func $no-zeroes
(memory.init 13
@@ -240,7 +240,7 @@
(data.drop 13)
)
- (data passive "") ;; 14
+ (data "") ;; 14
(func $empty
(memory.init 14
@@ -251,30 +251,30 @@
(data.drop 14)
)
- (data passive "only dropped") ;; 15
+ (data "only dropped") ;; 15
(func $only-dropped
(data.drop 15)
(data.drop 15)
)
- (data passive "\00\00\00\00\00") ;; 16
+ (data "\00\00\00\00\00") ;; 16
(func $only-dropped-zeroes
(data.drop 16)
(data.drop 16)
)
- (data passive "") ;; not referenced
+ (data "") ;; not referenced
- (data passive "\00\00\00\00\00") ;; not referenced
+ (data "\00\00\00\00\00") ;; not referenced
)
(module
(memory $0 2048 2048)
(import "env" "param" (global $param i32))
- (data passive "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 0
+ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 0
(func $nonconst-dest
(memory.init 0
@@ -285,7 +285,7 @@
(data.drop 0)
)
- (data passive "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 1
+ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 1
(func $nonconst-offset
(memory.init 1
@@ -296,7 +296,7 @@
(data.drop 1)
)
- (data passive "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 2
+ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 2
(func $nonconst-size
(memory.init 2
@@ -307,7 +307,7 @@
(data.drop 2)
)
- (data passive "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 3
+ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 3
(func $partial-skip-start
(memory.init 3
@@ -318,7 +318,7 @@
(data.drop 3)
)
- (data passive "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 4
+ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 4
(func $full-skip-start
(memory.init 4
@@ -329,7 +329,7 @@
(data.drop 4)
)
- (data passive "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 5
+ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 5
(func $partial-skip-end
(memory.init 5
@@ -340,7 +340,7 @@
(data.drop 5)
)
- (data passive "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 6
+ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 6
(func $full-skip-end
(memory.init 6
@@ -351,7 +351,7 @@
(data.drop 6)
)
- (data passive "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 7
+ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 7
(func $slice-zeroes
(memory.init 7
@@ -362,7 +362,7 @@
(data.drop 7)
)
- (data passive "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 8
+ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 8
(func $slice-nonzeroes
(memory.init 8
@@ -373,7 +373,7 @@
(data.drop 8)
)
- (data passive "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 9
+ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 9
(func $zero-size
(memory.init 9
@@ -384,7 +384,7 @@
(data.drop 9)
)
- (data passive "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 10
+ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 10
(func $zero-size-undropped
(memory.init 10
@@ -394,7 +394,7 @@
)
)
- (data passive "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 11
+ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 11
(func $out-of-bounds-offset
(memory.init 11
@@ -405,7 +405,7 @@
(data.drop 11)
)
- (data passive "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 12
+ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 12
(func $zero-size-out-of-bounds-offset
(memory.init 12
@@ -416,7 +416,7 @@
(data.drop 12)
)
- (data passive "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 13
+ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 13
(func $out-of-bounds-size
(memory.init 13
@@ -427,7 +427,7 @@
(data.drop 13)
)
- (data passive "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 14
+ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00more\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00zeroes\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") ;; 14
(func $zero-size-at-bounds-offset
(memory.init 14
@@ -441,7 +441,7 @@
(module
(memory $0 2048 2048)
- (data passive "hi\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00hi") ;; 0
+ (data "hi\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00hi") ;; 0
(func $zero-length-init-zeroes
(memory.init 0
@@ -452,7 +452,7 @@
(data.drop 0)
)
- (data passive "hi\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00hi") ;; 1
+ (data "hi\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00hi") ;; 1
(func $zero-length-init-nonzeroes
(memory.init 1
@@ -463,7 +463,7 @@
(data.drop 1)
)
- (data passive "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00hi") ;; 2
+ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00hi") ;; 2
(func $zero-length-init-zeroes-2
(memory.init 2
@@ -474,7 +474,7 @@
(data.drop 2)
)
- (data passive "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00hi") ;; 3
+ (data "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00even\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00hi") ;; 3
(func $zero-length-init-nonzeroes-2
(memory.init 3
@@ -488,7 +488,7 @@
(module
(memory $0 2048 2048)
- (data passive "a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a") ;; 64 ranges of zeroes
+ (data "a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00a") ;; 64 ranges of zeroes
(func $init-lots
(memory.init 0
@@ -534,7 +534,7 @@
)
(module
(memory $0 1 1)
- (data passive "skipped\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00included")
+ (data "skipped\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00included")
(export "func_54" (func $0))
(func $0
(memory.init 0
diff --git a/test/passes/precompute_all-features.txt b/test/passes/precompute_all-features.txt
index 7ee4db1f2..28c7dc0e2 100644
--- a/test/passes/precompute_all-features.txt
+++ b/test/passes/precompute_all-features.txt
@@ -7,7 +7,7 @@
(type $none_=>_externref (func (result externref)))
(type $none_=>_i32_i64 (func (result i32 i64)))
(memory $0 512 512)
- (data (i32.const 0) "passive")
+ (data (i32.const 0) "hello!")
(elem declare func $dummy)
(global $global i32 (i32.const 1))
(global $global-mut (mut i32) (i32.const 2))
diff --git a/test/passes/precompute_all-features.wast b/test/passes/precompute_all-features.wast
index 589a8acf5..1275524e0 100644
--- a/test/passes/precompute_all-features.wast
+++ b/test/passes/precompute_all-features.wast
@@ -1,6 +1,6 @@
(module
(memory 512 512
- (data passive "hello!")
+ (data "hello!")
)
(type $0 (func (param i32)))
(global $global i32 (i32.const 1))
diff --git a/test/passes/simplify-locals_all-features.txt b/test/passes/simplify-locals_all-features.txt
index eab7faa19..e38b460db 100644
--- a/test/passes/simplify-locals_all-features.txt
+++ b/test/passes/simplify-locals_all-features.txt
@@ -1726,7 +1726,7 @@
(module
(type $none_=>_none (func))
(memory $0 256 256)
- (data passive "hello, there!")
+ (data "hello, there!")
(func $memory-init-load
(local $x i32)
(local.set $x
@@ -1983,7 +1983,7 @@
(module
(type $none_=>_i32 (func (result i32)))
(memory $0 (shared 1 1))
- (data passive "data")
+ (data "data")
(export "foo" (func $0))
(func $0 (result i32)
(local $0 i32)
diff --git a/test/passes/simplify-locals_all-features.wast b/test/passes/simplify-locals_all-features.wast
index 390f879ae..d37af9b6d 100644
--- a/test/passes/simplify-locals_all-features.wast
+++ b/test/passes/simplify-locals_all-features.wast
@@ -1548,7 +1548,7 @@
)
(module
(memory 256 256)
- (data passive "hello, there!")
+ (data "hello, there!")
(func $memory-init-load
(local $x i32)
(local.set $x
@@ -1745,7 +1745,7 @@
;; data.drop has global side effects
(module
(memory $0 (shared 1 1))
- (data passive "data")
+ (data "data")
(func "foo" (result i32)
(local $0 i32)
(block (result i32)
diff --git a/test/passes/simplify-locals_all-features_disable-exception-handling.txt b/test/passes/simplify-locals_all-features_disable-exception-handling.txt
index 92f4deb2c..3254aff45 100644
--- a/test/passes/simplify-locals_all-features_disable-exception-handling.txt
+++ b/test/passes/simplify-locals_all-features_disable-exception-handling.txt
@@ -1720,7 +1720,7 @@
(module
(type $none_=>_none (func))
(memory $0 256 256)
- (data passive "hello, there!")
+ (data "hello, there!")
(func $memory-init-load
(local $x i32)
(local.set $x
diff --git a/test/passes/simplify-locals_all-features_disable-exception-handling.wast b/test/passes/simplify-locals_all-features_disable-exception-handling.wast
index f9806641c..803d557f6 100644
--- a/test/passes/simplify-locals_all-features_disable-exception-handling.wast
+++ b/test/passes/simplify-locals_all-features_disable-exception-handling.wast
@@ -1548,7 +1548,7 @@
)
(module
(memory 256 256)
- (data passive "hello, there!")
+ (data "hello, there!")
(func $memory-init-load
(local $x i32)
(local.set $x
diff --git a/test/reduce/atomics-and-bulk-memory.wast b/test/reduce/atomics-and-bulk-memory.wast
index a5b31d4be..c43914bd8 100644
--- a/test/reduce/atomics-and-bulk-memory.wast
+++ b/test/reduce/atomics-and-bulk-memory.wast
@@ -1,7 +1,7 @@
(module
(memory 1 1)
;; this can be removed destructively
- (data passive "some-data")
+ (data "some-data")
(func "foo" (result i32)
;; this can be removed destructively
(memory.init 0
diff --git a/test/spec/bulk-memory.wast b/test/spec/bulk-memory.wast
index 62e9cdb3a..1a2d3e440 100644
--- a/test/spec/bulk-memory.wast
+++ b/test/spec/bulk-memory.wast
@@ -1,7 +1,7 @@
;; Passive segment syntax
(module
(memory 1)
- (data passive "foo"))
+ (data "foo"))
;; memory.fill
(module
@@ -112,7 +112,7 @@
;; memory.init
(module
(memory 1)
- (data passive "\aa\bb\cc\dd")
+ (data "\aa\bb\cc\dd")
(func (export "init") (param i32 i32 i32)
(memory.init 0
@@ -152,7 +152,7 @@
;; data.drop
(module
(memory 1)
- (data passive "")
+ (data "")
(data (i32.const 0) "")
(func (export "drop_passive") (data.drop 0))
diff --git a/test/spec/bulk-memory64.wast b/test/spec/bulk-memory64.wast
index 6c0ec7bb6..2ad60a47d 100644
--- a/test/spec/bulk-memory64.wast
+++ b/test/spec/bulk-memory64.wast
@@ -1,7 +1,7 @@
;; Passive segment syntax
(module
(memory i64 1)
- (data passive "foo"))
+ (data "foo"))
;; memory.fill
(module
@@ -112,7 +112,7 @@
;; memory.init
(module
(memory i64 1)
- (data passive "\aa\bb\cc\dd")
+ (data "\aa\bb\cc\dd")
(func (export "init") (param i64 i32 i32)
(memory.init 0
@@ -152,7 +152,7 @@
;; data.drop
(module
(memory i64 1)
- (data passive "")
+ (data "")
(data (i64.const 0) "")
(func (export "drop_passive") (data.drop 0))
diff --git a/test/spec/data.wast b/test/spec/data.wast
index 7d6945417..31e88927e 100644
--- a/test/spec/data.wast
+++ b/test/spec/data.wast
@@ -8,14 +8,26 @@
(data (i32.const 1) "a" "" "bcd")
(data (offset (i32.const 0)))
(data (offset (i32.const 0)) "" "a" "bc" "")
- (data 0 (i32.const 0))
- (data 0x0 (i32.const 1) "a" "" "bcd")
- (data 0x000 (offset (i32.const 0)))
- (data 0 (offset (i32.const 0)) "" "a" "bc" "")
- (data $m (i32.const 0))
- (data $m (i32.const 1) "a" "" "bcd")
- (data $m (offset (i32.const 0)))
- (data $m (offset (i32.const 0)) "" "a" "bc" "")
+ (data (memory 0) (i32.const 0))
+ (data (memory 0x0) (i32.const 1) "a" "" "bcd")
+ (data (memory 0x000) (offset (i32.const 0)))
+ (data (memory 0) (offset (i32.const 0)) "" "a" "bc" "")
+ (data (memory $m) (i32.const 0))
+ (data (memory $m) (i32.const 1) "a" "" "bcd")
+ (data (memory $m) (offset (i32.const 0)))
+ (data (memory $m) (offset (i32.const 0)) "" "a" "bc" "")
+ (data $d1 (i32.const 0))
+ (data $d2 (i32.const 1) "a" "" "bcd")
+ (data $d3 (offset (i32.const 0)))
+ (data $d4 (offset (i32.const 0)) "" "a" "bc" "")
+ (data $d5 (memory 0) (i32.const 0))
+ (data $d6 (memory 0x0) (i32.const 1) "a" "" "bcd")
+ (data $d7 (memory 0x000) (offset (i32.const 0)))
+ (data $d8 (memory 0) (offset (i32.const 0)) "" "a" "bc" "")
+ (data $d9 (memory $m) (i32.const 0))
+ (data $d10 (memory $m) (i32.const 1) "a" "" "bcd")
+ (data $d11 (memory $m) (offset (i32.const 0)))
+ (data $d12 (memory $m) (offset (i32.const 0)) "" "a" "bc" "")
)
;; Basic use
@@ -124,78 +136,76 @@
(data (i32.const 0) "" "")
)
-(module
- (import "spectest" "memory" (memory 0))
- (data (i32.const 0) "a")
-)
+;; (module
+;; (import "spectest" "memory" (memory 0))
+;; (data (i32.const 0) "a")
+;; )
-(module
- (import "spectest" "memory" (memory 0 3))
- (data (i32.const 0) "a")
-)
+;; (module
+;; (import "spectest" "memory" (memory 0 3))
+;; (data (i32.const 0) "a")
+;; )
-(module
- (global (import "spectest" "global_i32") i32)
- (import "spectest" "memory" (memory 0))
- (data (global.get 0) "a")
-)
+;; (module
+;; (global (import "spectest" "global_i32") i32)
+;; (import "spectest" "memory" (memory 0))
+;; (data (global.get 0) "a")
+;; )
-(module
- (global (import "spectest" "global_i32") i32)
- (import "spectest" "memory" (memory 0 3))
- (data (global.get 0) "a")
-)
+;; (module
+;; (global (import "spectest" "global_i32") i32)
+;; (import "spectest" "memory" (memory 0 3))
+;; (data (global.get 0) "a")
+;; )
-(module
- (import "spectest" "memory" (memory 0))
- (data (i32.const 1) "a")
-)
+;; (module
+;; (import "spectest" "memory" (memory 0))
+;; (data (i32.const 1) "a")
+;; )
-(module
- (import "spectest" "memory" (memory 0 3))
- (data (i32.const 1) "a")
-)
+;; (module
+;; (import "spectest" "memory" (memory 0 3))
+;; (data (i32.const 1) "a")
+;; )
;; Invalid bounds for data
-(assert_unlinkable
+(assert_trap
(module
(memory 0)
(data (i32.const 0) "a")
)
- "data segment does not fit"
+ "out of bounds memory access"
)
-(assert_unlinkable
+(assert_trap
(module
(memory 0 0)
(data (i32.const 0) "a")
)
- "data segment does not fit"
+ "out of bounds memory access"
)
-(assert_unlinkable
+(assert_trap
(module
(memory 0 1)
(data (i32.const 0) "a")
)
- "data segment does not fit"
+ "out of bounds memory access"
)
-
-(assert_unlinkable
+(assert_trap
(module
(memory 0)
(data (i32.const 1))
)
- "data segment does not fit"
+ "out of bounds memory access"
)
-
-(assert_unlinkable
+(assert_trap
(module
(memory 0 1)
(data (i32.const 1))
)
- "data segment does not fit"
+ "out of bounds memory access"
)
;; This seems to cause a time-out on Travis.
@@ -204,77 +214,77 @@
(memory 0x10000)
(data (i32.const 0xffffffff) "ab")
)
- "" ;; either out of memory or segment does not fit
+ "" ;; either out of memory or out of bounds
;)
-(assert_unlinkable
+(assert_trap
(module
(global (import "spectest" "global_i32") i32)
(memory 0)
(data (global.get 0) "a")
)
- "data segment does not fit"
+ "out of bounds memory access"
)
-(assert_unlinkable
+(assert_trap
(module
(memory 1 2)
(data (i32.const 0x1_0000) "a")
)
- "data segment does not fit"
+ "out of bounds memory access"
)
-(assert_unlinkable
+(assert_trap
(module
(import "spectest" "memory" (memory 1))
(data (i32.const 0x1_0000) "a")
)
- "data segment does not fit"
+ "out of bounds memory access"
)
-(assert_unlinkable
+(assert_trap
(module
(memory 2)
(data (i32.const 0x2_0000) "a")
)
- "data segment does not fit"
+ "out of bounds memory access"
)
-(assert_unlinkable
+(assert_trap
(module
(memory 2 3)
(data (i32.const 0x2_0000) "a")
)
- "data segment does not fit"
+ "out of bounds memory access"
)
-(assert_unlinkable
+(assert_trap
(module
(memory 1)
(data (i32.const -1) "a")
)
- "data segment does not fit"
+ "out of bounds memory access"
)
-(assert_unlinkable
+(assert_trap
(module
(import "spectest" "memory" (memory 1))
(data (i32.const -1) "a")
)
- "data segment does not fit"
+ "out of bounds memory access"
)
-(assert_unlinkable
+(assert_trap
(module
(memory 2)
(data (i32.const -100) "a")
)
- "data segment does not fit"
+ "out of bounds memory access"
)
-(assert_unlinkable
+(assert_trap
(module
(import "spectest" "memory" (memory 1))
(data (i32.const -100) "a")
)
- "data segment does not fit"
+ "out of bounds memory access"
)
;; Data without memory
@@ -286,6 +296,82 @@
"unknown memory"
)
+;; Data segment with memory index 1 (only memory 0 available)
+(assert_invalid
+ (module binary
+ "\00asm" "\01\00\00\00"
+ "\05\03\01" ;; memory section
+ "\00\00" ;; memory 0
+ "\0b\07\01" ;; data section
+ "\02\01\41\00\0b" ;; active data segment 0 for memory 1
+ "\00" ;; empty vec(byte)
+ )
+ "unknown memory 1"
+)
+
+;; Data segment with memory index 0 (no memory section)
+(assert_invalid
+ (module binary
+ "\00asm" "\01\00\00\00"
+ "\0b\06\01" ;; data section
+ "\00\41\00\0b" ;; active data segment 0 for memory 0
+ "\00" ;; empty vec(byte)
+ )
+ "unknown memory 0"
+)
+
+;; Data segment with memory index 1 (no memory section)
+(assert_invalid
+ (module binary
+ "\00asm" "\01\00\00\00"
+ "\0b\07\01" ;; data section
+ "\02\01\41\00\0b" ;; active data segment 0 for memory 1
+ "\00" ;; empty vec(byte)
+ )
+ "unknown memory 1"
+)
+
+;; Data segment with memory index 1 and vec(byte) as above,
+;; only memory 0 available.
+(assert_invalid
+ (module binary
+ "\00asm" "\01\00\00\00"
+ "\05\03\01" ;; memory section
+ "\00\00" ;; memory 0
+ "\0b\45\01" ;; data section
+ "\02" ;; active segment
+ "\01" ;; memory index
+ "\41\00\0b" ;; offset constant expression
+ "\3e" ;; vec(byte) length
+ "\00\01\02\03\04\05\06\07\08\09\0a\0b\0c\0d\0e\0f"
+ "\10\11\12\13\14\15\16\17\18\19\1a\1b\1c\1d\1e\1f"
+ "\20\21\22\23\24\25\26\27\28\29\2a\2b\2c\2d\2e\2f"
+ "\30\31\32\33\34\35\36\37\38\39\3a\3b\3c\3d"
+ )
+ "unknown memory 1"
+)
+
+;; Data segment with memory index 1 and specially crafted vec(byte) after.
+;; This is to detect incorrect validation where memory index is interpreted
+;; as a flag followed by "\41" interpreted as the size of vec(byte)
+;; with the expected number of bytes following.
+(assert_invalid
+ (module binary
+ "\00asm" "\01\00\00\00"
+ "\0b\45\01" ;; data section
+ "\02" ;; active segment
+ "\01" ;; memory index
+ "\41\00\0b" ;; offset constant expression
+ "\3e" ;; vec(byte) length
+ "\00\01\02\03\04\05\06\07\08\09\0a\0b\0c\0d\0e\0f"
+ "\10\11\12\13\14\15\16\17\18\19\1a\1b\1c\1d\1e\1f"
+ "\20\21\22\23\24\25\26\27\28\29\2a\2b\2c\2d\2e\2f"
+ "\30\31\32\33\34\35\36\37\38\39\3a\3b\3c\3d"
+ )
+ "unknown memory 1"
+)
+
+
;; Invalid offsets
(assert_invalid
@@ -297,6 +383,40 @@
)
(assert_invalid
+ (module
+ (memory 1)
+ (data (offset (;empty instruction sequence;)))
+ )
+ "type mismatch"
+)
+
+(assert_invalid
+ (module
+ (memory 1)
+ (data (offset (i32.const 0) (i32.const 0)))
+ )
+ "type mismatch"
+)
+
+(assert_invalid
+ (module
+ (global (import "test" "global-i32") i32)
+ (memory 1)
+ (data (offset (global.get 0) (global.get 0)))
+ )
+ "type mismatch"
+)
+
+(assert_invalid
+ (module
+ (global (import "test" "global-i32") i32)
+ (memory 1)
+ (data (offset (global.get 0) (i32.const 0)))
+ )
+ "type mismatch"
+)
+
+(assert_invalid
(module
(memory 1)
(data (i32.ctz (i32.const 0)))
@@ -333,3 +453,29 @@
;; (module (memory 1) (data (global.get $g)) (global $g (mut i32) (i32.const 0)))
;; "constant expression required"
;; )
+
+(assert_invalid
+ (module
+ (memory 1)
+ (data (global.get 0))
+ )
+ "unknown global 0"
+)
+
+(assert_invalid
+ (module
+ (global (import "test" "global-i32") i32)
+ (memory 1)
+ (data (global.get 1))
+ )
+ "unknown global 1"
+)
+
+(assert_invalid
+ (module
+ (global (import "test" "global-mut-i32") (mut i32))
+ (memory 1)
+ (data (global.get 0))
+ )
+ "constant expression required"
+) \ No newline at end of file
diff --git a/test/spec/imports.wast b/test/spec/imports.wast
index 2f0200dc3..04c1746c7 100644
--- a/test/spec/imports.wast
+++ b/test/spec/imports.wast
@@ -380,7 +380,7 @@
(module
(import "spectest" "memory" (memory 1 2))
- (data 0 (i32.const 10) "\10")
+ (data (i32.const 10) "\10")
(func (export "load") (param i32) (result i32) (i32.load (local.get 0)))
)
@@ -392,7 +392,7 @@
(module
(memory (import "spectest" "memory") 1 2)
- (data 0 (i32.const 10) "\10")
+ (data (i32.const 10) "\10")
(func (export "load") (param i32) (result i32) (i32.load (local.get 0)))
)
diff --git a/test/spec/old_import.wast b/test/spec/old_import.wast
index 6c5e9dcdb..bc6144185 100644
--- a/test/spec/old_import.wast
+++ b/test/spec/old_import.wast
@@ -158,7 +158,7 @@
(module
(import "spectest" "memory" (memory 1 2))
- (data 0 (i32.const 10) "\10")
+ (data (i32.const 10) "\10")
(func (export "load") (param i32) (result i32) (i32.load (local.get 0)))
)
@@ -170,7 +170,7 @@
(module
(memory (import "spectest" "memory") 1 2)
- (data 0 (i32.const 10) "\10")
+ (data (i32.const 10) "\10")
(func (export "load") (param i32) (result i32) (i32.load (local.get 0)))
)
diff --git a/test/unit/test_features.py b/test/unit/test_features.py
index f33a7e8d3..0186e2ba7 100644
--- a/test/unit/test_features.py
+++ b/test/unit/test_features.py
@@ -136,7 +136,7 @@ class FeatureValidationTest(utils.BinaryenTestCase):
module = '''
(module
(memory 256 256)
- (data passive "42")
+ (data "42")
)
'''
self.check_bulk_mem(module, 'nonzero segment flags (bulk memory is disabled)')
diff --git a/test/wasm2js/atomics_32.wast b/test/wasm2js/atomics_32.wast
index e1b49d852..c6408f162 100644
--- a/test/wasm2js/atomics_32.wast
+++ b/test/wasm2js/atomics_32.wast
@@ -1,7 +1,7 @@
(module
(memory (shared 256 256))
- (data passive "hello,")
- (data passive "world!")
+ (data "hello,")
+ (data "world!")
(func "test"
(local $x i32)
(local $y i64)