summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/s2wasm.h34
-rw-r--r--test/dot_s/alias.wast2
-rw-r--r--test/dot_s/alternate-lcomm.wast2
-rw-r--r--test/dot_s/asm_const.wast2
-rw-r--r--test/dot_s/basics.wast2
-rw-r--r--test/dot_s/bcp-1.wast2
-rw-r--r--test/dot_s/data-offset-folding.wast2
-rw-r--r--test/dot_s/exit.wast2
-rw-r--r--test/dot_s/function-data-sections.wast2
-rw-r--r--test/dot_s/initializers.s23
-rw-r--r--test/dot_s/initializers.wast15
-rw-r--r--test/dot_s/lcomm-in-text-segment.wast2
-rw-r--r--test/dot_s/macClangMetaData.wast2
-rw-r--r--test/dot_s/memops.wast2
-rw-r--r--test/dot_s/minimal.wast2
-rw-r--r--test/dot_s/permute.wast2
-rw-r--r--test/dot_s/relocation.wast2
-rw-r--r--test/dot_s/start_main0.wast2
-rw-r--r--test/dot_s/start_main2.wast2
-rw-r--r--test/dot_s/symbolic-offset.wast2
-rw-r--r--test/dot_s/visibilities.wast2
-rw-r--r--test/llvm_autogenerated/byval.wast2
-rw-r--r--test/llvm_autogenerated/call.wast2
-rw-r--r--test/llvm_autogenerated/cfg-stackify.wast2
-rw-r--r--test/llvm_autogenerated/comparisons_f32.wast2
-rw-r--r--test/llvm_autogenerated/comparisons_f64.wast2
-rw-r--r--test/llvm_autogenerated/comparisons_i32.wast2
-rw-r--r--test/llvm_autogenerated/comparisons_i64.wast2
-rw-r--r--test/llvm_autogenerated/conv.wast2
-rw-r--r--test/llvm_autogenerated/copysign-casts.wast2
-rw-r--r--test/llvm_autogenerated/cpus.wast2
-rw-r--r--test/llvm_autogenerated/dead-vreg.wast2
-rw-r--r--test/llvm_autogenerated/f32.wast2
-rw-r--r--test/llvm_autogenerated/f64.wast2
-rw-r--r--test/llvm_autogenerated/fast-isel.wast2
-rw-r--r--test/llvm_autogenerated/frem.wast2
-rw-r--r--test/llvm_autogenerated/func.wast2
-rw-r--r--test/llvm_autogenerated/global.wast2
-rw-r--r--test/llvm_autogenerated/globl.wast2
-rw-r--r--test/llvm_autogenerated/i32-load-store-alignment.wast2
-rw-r--r--test/llvm_autogenerated/i32.wast2
-rw-r--r--test/llvm_autogenerated/i64-load-store-alignment.wast2
-rw-r--r--test/llvm_autogenerated/i64.wast2
-rw-r--r--test/llvm_autogenerated/ident.wast2
-rw-r--r--test/llvm_autogenerated/immediates.wast2
-rw-r--r--test/llvm_autogenerated/legalize.wast2
-rw-r--r--test/llvm_autogenerated/load-ext.wast2
-rw-r--r--test/llvm_autogenerated/load-store-i1.wast2
-rw-r--r--test/llvm_autogenerated/load.wast2
-rw-r--r--test/llvm_autogenerated/mem-intrinsics.wast2
-rw-r--r--test/llvm_autogenerated/memory-addr32.wast2
-rw-r--r--test/llvm_autogenerated/memory-addr64.wast2
-rw-r--r--test/llvm_autogenerated/non-executable-stack.wast2
-rw-r--r--test/llvm_autogenerated/offset-folding.wast2
-rw-r--r--test/llvm_autogenerated/offset.wast2
-rw-r--r--test/llvm_autogenerated/phi.wast2
-rw-r--r--test/llvm_autogenerated/reg-stackify.wast2
-rw-r--r--test/llvm_autogenerated/return-int32.wast2
-rw-r--r--test/llvm_autogenerated/return-void.wast2
-rw-r--r--test/llvm_autogenerated/select.wast2
-rw-r--r--test/llvm_autogenerated/signext-zeroext.wast2
-rw-r--r--test/llvm_autogenerated/store-results.wast2
-rw-r--r--test/llvm_autogenerated/store-trunc.wast2
-rw-r--r--test/llvm_autogenerated/store.wast2
-rw-r--r--test/llvm_autogenerated/switch.wast2
-rw-r--r--test/llvm_autogenerated/unreachable.wast2
-rw-r--r--test/llvm_autogenerated/unused-argument.wast2
-rw-r--r--test/llvm_autogenerated/userstack.wast2
-rw-r--r--test/llvm_autogenerated/varargs.wast2
69 files changed, 136 insertions, 68 deletions
diff --git a/src/s2wasm.h b/src/s2wasm.h
index f442de508..2938cfae7 100644
--- a/src/s2wasm.h
+++ b/src/s2wasm.h
@@ -110,6 +110,8 @@ class S2WasmBuilder {
std::map<Name, size_t> functionIndexes;
+ std::vector<Name> initializerFunctions;
+
// utilities
// For fatal errors which could arise from input (i.e. not assertion failures)
@@ -459,7 +461,8 @@ class S2WasmBuilder {
else if (match("imports")) skipImports();
else if (match("data")) {}
else if (match("ident")) {}
- else if (match("section") || match("align") || match("p2align")) s = strchr(s, '\n');
+ else if (match("section")) parseToplevelSection();
+ else if (match("align") || match("p2align")) s = strchr(s, '\n');
else if (match("Lfunc_end")) {
// skip the next line, which has a .size we can ignore
s = strstr(s, ".size");
@@ -469,6 +472,29 @@ class S2WasmBuilder {
}
}
+ void parseToplevelSection() {
+ auto section = getCommaSeparated();
+ // Initializers are anything in a section whose name begins with .init_array
+ if (!strncmp(section.c_str(), ".init_array", strlen(".init_array") - 1)) parseInitializer();
+ s = strchr(s, '\n');
+ }
+
+ void parseInitializer() {
+ // Ignore the rest of the .section line
+ s = strchr(s, '\n');
+ while (*s) {
+ skipWhitespace();
+ if (match(".p2align")) s = strchr(s, '\n');
+ else if (match(".int32")) {
+ initializerFunctions.emplace_back(cleanFunction(getStr()));
+ assert(implementedFunctions.count(initializerFunctions.back()));
+ break;
+ } else {
+ abort_on("parseInitializer");
+ }
+ }
+ }
+
void parseText() {
while (*s) {
skipWhitespace();
@@ -1413,7 +1439,11 @@ public:
}
o << "}";
o << ",";
- o << "\"staticBump\": " << (nextStatic - globalBase);
+ o << "\"staticBump\": " << (nextStatic - globalBase) << ", ";
+
+ o << "\"initializers\": [";
+ for (const auto& func : initializerFunctions) o << "\"" << func.c_str() << "\", ";
+ o << "]";
o << " }";
}
diff --git a/test/dot_s/alias.wast b/test/dot_s/alias.wast
index 451692cca..5dc2440fe 100644
--- a/test/dot_s/alias.wast
+++ b/test/dot_s/alias.wast
@@ -12,4 +12,4 @@
(return)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/dot_s/alternate-lcomm.wast b/test/dot_s/alternate-lcomm.wast
index 6a5420861..8c046c709 100644
--- a/test/dot_s/alternate-lcomm.wast
+++ b/test/dot_s/alternate-lcomm.wast
@@ -2,4 +2,4 @@
(memory 1)
(export "memory" memory)
)
-;; METADATA: { "asmConsts": {},"staticBump": 8 }
+;; METADATA: { "asmConsts": {},"staticBump": 8, "initializers": [] }
diff --git a/test/dot_s/asm_const.wast b/test/dot_s/asm_const.wast
index 669b097c0..b56d7da88 100644
--- a/test/dot_s/asm_const.wast
+++ b/test/dot_s/asm_const.wast
@@ -15,4 +15,4 @@
)
)
)
-;; METADATA: { "asmConsts": {"0": ["{ Module.print(\"hello, world!\"); }", ["vi"]]},"staticBump": 50 }
+;; METADATA: { "asmConsts": {"0": ["{ Module.print(\"hello, world!\"); }", ["vi"]]},"staticBump": 50, "initializers": [] }
diff --git a/test/dot_s/basics.wast b/test/dot_s/basics.wast
index 91620910c..4f8ee2087 100644
--- a/test/dot_s/basics.wast
+++ b/test/dot_s/basics.wast
@@ -92,4 +92,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 51 }
+;; METADATA: { "asmConsts": {},"staticBump": 51, "initializers": [] }
diff --git a/test/dot_s/bcp-1.wast b/test/dot_s/bcp-1.wast
index 091dff695..255d40b7d 100644
--- a/test/dot_s/bcp-1.wast
+++ b/test/dot_s/bcp-1.wast
@@ -306,4 +306,4 @@
(unreachable)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 103 }
+;; METADATA: { "asmConsts": {},"staticBump": 103, "initializers": [] }
diff --git a/test/dot_s/data-offset-folding.wast b/test/dot_s/data-offset-folding.wast
index 6047d7523..e29612b19 100644
--- a/test/dot_s/data-offset-folding.wast
+++ b/test/dot_s/data-offset-folding.wast
@@ -5,4 +5,4 @@
)
(export "memory" memory)
)
-;; METADATA: { "asmConsts": {},"staticBump": 419 }
+;; METADATA: { "asmConsts": {},"staticBump": 419, "initializers": [] }
diff --git a/test/dot_s/exit.wast b/test/dot_s/exit.wast
index a0477c611..92955d997 100644
--- a/test/dot_s/exit.wast
+++ b/test/dot_s/exit.wast
@@ -11,4 +11,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/dot_s/function-data-sections.wast b/test/dot_s/function-data-sections.wast
index 6e7921673..01af72d17 100644
--- a/test/dot_s/function-data-sections.wast
+++ b/test/dot_s/function-data-sections.wast
@@ -25,4 +25,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 19 }
+;; METADATA: { "asmConsts": {},"staticBump": 19, "initializers": [] }
diff --git a/test/dot_s/initializers.s b/test/dot_s/initializers.s
new file mode 100644
index 000000000..ed4ad1cff
--- /dev/null
+++ b/test/dot_s/initializers.s
@@ -0,0 +1,23 @@
+ .text
+ .file "/tmp/tmpAEEklZ/a.out.bc"
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+# BB#0:
+ i32.const $push0=, 5
+ return $pop0
+.Lfunc_end0:
+ .size main, .Lfunc_end0-main
+ .globl f2
+ .type f2,@function
+f2:
+ return
+.Lfunc_end1:
+ .size f2, .Lfunc_end1-f2
+ .section .init_array.101,"aw",@init_array
+ .p2align 2
+ .int32 main@FUNCTION
+ .section .init_array,"aw",@init_array
+ .p2align 2
+ .int32 f2@FUNCTION
diff --git a/test/dot_s/initializers.wast b/test/dot_s/initializers.wast
new file mode 100644
index 000000000..34a4ee1e1
--- /dev/null
+++ b/test/dot_s/initializers.wast
@@ -0,0 +1,15 @@
+(module
+ (memory 0)
+ (export "memory" memory)
+ (export "main" $main)
+ (export "f2" $f2)
+ (func $main (result i32)
+ (return
+ (i32.const 5)
+ )
+ )
+ (func $f2
+ (return)
+ )
+)
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": ["main", "f2", ] }
diff --git a/test/dot_s/lcomm-in-text-segment.wast b/test/dot_s/lcomm-in-text-segment.wast
index 5ede27c60..1ffe2b172 100644
--- a/test/dot_s/lcomm-in-text-segment.wast
+++ b/test/dot_s/lcomm-in-text-segment.wast
@@ -4,4 +4,4 @@
)
(export "memory" memory)
)
-;; METADATA: { "asmConsts": {},"staticBump": 19 }
+;; METADATA: { "asmConsts": {},"staticBump": 19, "initializers": [] }
diff --git a/test/dot_s/macClangMetaData.wast b/test/dot_s/macClangMetaData.wast
index 5257d05d0..828c457b1 100644
--- a/test/dot_s/macClangMetaData.wast
+++ b/test/dot_s/macClangMetaData.wast
@@ -15,4 +15,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 29 }
+;; METADATA: { "asmConsts": {},"staticBump": 29, "initializers": [] }
diff --git a/test/dot_s/memops.wast b/test/dot_s/memops.wast
index b7a32aa0d..14090d602 100644
--- a/test/dot_s/memops.wast
+++ b/test/dot_s/memops.wast
@@ -205,4 +205,4 @@
)
)
)
-;; METADATA: { "asmConsts": {"0": ["{ Module.print(\"hello, world! \" + HEAP32[8>>2]); }", ["vi"]]},"staticBump": 66 }
+;; METADATA: { "asmConsts": {"0": ["{ Module.print(\"hello, world! \" + HEAP32[8>>2]); }", ["vi"]]},"staticBump": 66, "initializers": [] }
diff --git a/test/dot_s/minimal.wast b/test/dot_s/minimal.wast
index 2e456e617..16bfec364 100644
--- a/test/dot_s/minimal.wast
+++ b/test/dot_s/minimal.wast
@@ -8,4 +8,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/dot_s/permute.wast b/test/dot_s/permute.wast
index 57fe2c468..74decd3bf 100644
--- a/test/dot_s/permute.wast
+++ b/test/dot_s/permute.wast
@@ -4,4 +4,4 @@
)
(export "memory" memory)
)
-;; METADATA: { "asmConsts": {},"staticBump": 271 }
+;; METADATA: { "asmConsts": {},"staticBump": 271, "initializers": [] }
diff --git a/test/dot_s/relocation.wast b/test/dot_s/relocation.wast
index c985ff186..17d5345e9 100644
--- a/test/dot_s/relocation.wast
+++ b/test/dot_s/relocation.wast
@@ -14,4 +14,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 15 }
+;; METADATA: { "asmConsts": {},"staticBump": 15, "initializers": [] }
diff --git a/test/dot_s/start_main0.wast b/test/dot_s/start_main0.wast
index 04fcb858c..4336fa530 100644
--- a/test/dot_s/start_main0.wast
+++ b/test/dot_s/start_main0.wast
@@ -10,4 +10,4 @@
(call $main)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/dot_s/start_main2.wast b/test/dot_s/start_main2.wast
index 5dadb8b6e..bf6a5296e 100644
--- a/test/dot_s/start_main2.wast
+++ b/test/dot_s/start_main2.wast
@@ -18,4 +18,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/dot_s/symbolic-offset.wast b/test/dot_s/symbolic-offset.wast
index 9fc46e4c5..ede3ffead 100644
--- a/test/dot_s/symbolic-offset.wast
+++ b/test/dot_s/symbolic-offset.wast
@@ -12,4 +12,4 @@
(return)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 19 }
+;; METADATA: { "asmConsts": {},"staticBump": 19, "initializers": [] }
diff --git a/test/dot_s/visibilities.wast b/test/dot_s/visibilities.wast
index 7d420d9fd..5c0cd2f7a 100644
--- a/test/dot_s/visibilities.wast
+++ b/test/dot_s/visibilities.wast
@@ -14,4 +14,4 @@
(return)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/byval.wast b/test/llvm_autogenerated/byval.wast
index 80e608030..a41ad7e57 100644
--- a/test/llvm_autogenerated/byval.wast
+++ b/test/llvm_autogenerated/byval.wast
@@ -389,4 +389,4 @@
(return)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/call.wast b/test/llvm_autogenerated/call.wast
index 9f6c3dfb8..53d890e74 100644
--- a/test/llvm_autogenerated/call.wast
+++ b/test/llvm_autogenerated/call.wast
@@ -92,4 +92,4 @@
(return)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/cfg-stackify.wast b/test/llvm_autogenerated/cfg-stackify.wast
index 34d2f2164..ef269b3f0 100644
--- a/test/llvm_autogenerated/cfg-stackify.wast
+++ b/test/llvm_autogenerated/cfg-stackify.wast
@@ -946,4 +946,4 @@
(return)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/comparisons_f32.wast b/test/llvm_autogenerated/comparisons_f32.wast
index 2189433f8..d5d723e97 100644
--- a/test/llvm_autogenerated/comparisons_f32.wast
+++ b/test/llvm_autogenerated/comparisons_f32.wast
@@ -212,4 +212,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/comparisons_f64.wast b/test/llvm_autogenerated/comparisons_f64.wast
index 1528abae5..130114d29 100644
--- a/test/llvm_autogenerated/comparisons_f64.wast
+++ b/test/llvm_autogenerated/comparisons_f64.wast
@@ -212,4 +212,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/comparisons_i32.wast b/test/llvm_autogenerated/comparisons_i32.wast
index 7b7cacee5..b5cb352f7 100644
--- a/test/llvm_autogenerated/comparisons_i32.wast
+++ b/test/llvm_autogenerated/comparisons_i32.wast
@@ -92,4 +92,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/comparisons_i64.wast b/test/llvm_autogenerated/comparisons_i64.wast
index bf739aac9..969160686 100644
--- a/test/llvm_autogenerated/comparisons_i64.wast
+++ b/test/llvm_autogenerated/comparisons_i64.wast
@@ -92,4 +92,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/conv.wast b/test/llvm_autogenerated/conv.wast
index 69a3a19f5..1dc745714 100644
--- a/test/llvm_autogenerated/conv.wast
+++ b/test/llvm_autogenerated/conv.wast
@@ -213,4 +213,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/copysign-casts.wast b/test/llvm_autogenerated/copysign-casts.wast
index 7ea38f339..9b6bbe601 100644
--- a/test/llvm_autogenerated/copysign-casts.wast
+++ b/test/llvm_autogenerated/copysign-casts.wast
@@ -24,4 +24,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/cpus.wast b/test/llvm_autogenerated/cpus.wast
index e7a3f54ed..eebfa6c79 100644
--- a/test/llvm_autogenerated/cpus.wast
+++ b/test/llvm_autogenerated/cpus.wast
@@ -8,4 +8,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/dead-vreg.wast b/test/llvm_autogenerated/dead-vreg.wast
index 693c02cc9..1fd3f24bb 100644
--- a/test/llvm_autogenerated/dead-vreg.wast
+++ b/test/llvm_autogenerated/dead-vreg.wast
@@ -96,4 +96,4 @@
(return)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/f32.wast b/test/llvm_autogenerated/f32.wast
index 53206b45e..bd73709b0 100644
--- a/test/llvm_autogenerated/f32.wast
+++ b/test/llvm_autogenerated/f32.wast
@@ -141,4 +141,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/f64.wast b/test/llvm_autogenerated/f64.wast
index f7de05140..0bf0b702d 100644
--- a/test/llvm_autogenerated/f64.wast
+++ b/test/llvm_autogenerated/f64.wast
@@ -141,4 +141,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/fast-isel.wast b/test/llvm_autogenerated/fast-isel.wast
index 933c579f2..8c956cb7d 100644
--- a/test/llvm_autogenerated/fast-isel.wast
+++ b/test/llvm_autogenerated/fast-isel.wast
@@ -14,4 +14,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/frem.wast b/test/llvm_autogenerated/frem.wast
index dc476c2b4..08890d0b9 100644
--- a/test/llvm_autogenerated/frem.wast
+++ b/test/llvm_autogenerated/frem.wast
@@ -24,4 +24,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/func.wast b/test/llvm_autogenerated/func.wast
index fc80f1552..5a413d1ed 100644
--- a/test/llvm_autogenerated/func.wast
+++ b/test/llvm_autogenerated/func.wast
@@ -46,4 +46,4 @@
(unreachable)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/global.wast b/test/llvm_autogenerated/global.wast
index 0e1dd7ae4..d7013750c 100644
--- a/test/llvm_autogenerated/global.wast
+++ b/test/llvm_autogenerated/global.wast
@@ -35,4 +35,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 1195 }
+;; METADATA: { "asmConsts": {},"staticBump": 1195, "initializers": [] }
diff --git a/test/llvm_autogenerated/globl.wast b/test/llvm_autogenerated/globl.wast
index 64abf52d4..2c965f612 100644
--- a/test/llvm_autogenerated/globl.wast
+++ b/test/llvm_autogenerated/globl.wast
@@ -6,4 +6,4 @@
(return)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/i32-load-store-alignment.wast b/test/llvm_autogenerated/i32-load-store-alignment.wast
index 1885f2e04..860fc2265 100644
--- a/test/llvm_autogenerated/i32-load-store-alignment.wast
+++ b/test/llvm_autogenerated/i32-load-store-alignment.wast
@@ -162,4 +162,4 @@
(return)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/i32.wast b/test/llvm_autogenerated/i32.wast
index bc16876a8..aa9636288 100644
--- a/test/llvm_autogenerated/i32.wast
+++ b/test/llvm_autogenerated/i32.wast
@@ -159,4 +159,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/i64-load-store-alignment.wast b/test/llvm_autogenerated/i64-load-store-alignment.wast
index 2dc13c903..b98c931d5 100644
--- a/test/llvm_autogenerated/i64-load-store-alignment.wast
+++ b/test/llvm_autogenerated/i64-load-store-alignment.wast
@@ -242,4 +242,4 @@
(return)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/i64.wast b/test/llvm_autogenerated/i64.wast
index ee05d23b3..0190e9095 100644
--- a/test/llvm_autogenerated/i64.wast
+++ b/test/llvm_autogenerated/i64.wast
@@ -159,4 +159,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/ident.wast b/test/llvm_autogenerated/ident.wast
index 2f8f59d82..23a1430e0 100644
--- a/test/llvm_autogenerated/ident.wast
+++ b/test/llvm_autogenerated/ident.wast
@@ -2,4 +2,4 @@
(memory 0)
(export "memory" memory)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/immediates.wast b/test/llvm_autogenerated/immediates.wast
index f1351264a..85e5c51cb 100644
--- a/test/llvm_autogenerated/immediates.wast
+++ b/test/llvm_autogenerated/immediates.wast
@@ -146,4 +146,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/legalize.wast b/test/llvm_autogenerated/legalize.wast
index 15e697a70..d632e1176 100644
--- a/test/llvm_autogenerated/legalize.wast
+++ b/test/llvm_autogenerated/legalize.wast
@@ -3875,4 +3875,4 @@
(return)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/load-ext.wast b/test/llvm_autogenerated/load-ext.wast
index 98a42be9a..6853e2d8d 100644
--- a/test/llvm_autogenerated/load-ext.wast
+++ b/test/llvm_autogenerated/load-ext.wast
@@ -82,4 +82,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/load-store-i1.wast b/test/llvm_autogenerated/load-store-i1.wast
index 7280aa2c0..003b656dd 100644
--- a/test/llvm_autogenerated/load-store-i1.wast
+++ b/test/llvm_autogenerated/load-store-i1.wast
@@ -68,4 +68,4 @@
(return)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/load.wast b/test/llvm_autogenerated/load.wast
index 35e48e841..3bbddd8be 100644
--- a/test/llvm_autogenerated/load.wast
+++ b/test/llvm_autogenerated/load.wast
@@ -34,4 +34,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/mem-intrinsics.wast b/test/llvm_autogenerated/mem-intrinsics.wast
index 0b58f0837..f558f19ec 100644
--- a/test/llvm_autogenerated/mem-intrinsics.wast
+++ b/test/llvm_autogenerated/mem-intrinsics.wast
@@ -165,4 +165,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/memory-addr32.wast b/test/llvm_autogenerated/memory-addr32.wast
index 6e42c7b59..af7510339 100644
--- a/test/llvm_autogenerated/memory-addr32.wast
+++ b/test/llvm_autogenerated/memory-addr32.wast
@@ -15,4 +15,4 @@
(return)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/memory-addr64.wast b/test/llvm_autogenerated/memory-addr64.wast
index a7085e3d2..85246d4cb 100644
--- a/test/llvm_autogenerated/memory-addr64.wast
+++ b/test/llvm_autogenerated/memory-addr64.wast
@@ -15,4 +15,4 @@
(return)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/non-executable-stack.wast b/test/llvm_autogenerated/non-executable-stack.wast
index 2f8f59d82..23a1430e0 100644
--- a/test/llvm_autogenerated/non-executable-stack.wast
+++ b/test/llvm_autogenerated/non-executable-stack.wast
@@ -2,4 +2,4 @@
(memory 0)
(export "memory" memory)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/offset-folding.wast b/test/llvm_autogenerated/offset-folding.wast
index aef267ff8..c45dccb4a 100644
--- a/test/llvm_autogenerated/offset-folding.wast
+++ b/test/llvm_autogenerated/offset-folding.wast
@@ -26,4 +26,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 215 }
+;; METADATA: { "asmConsts": {},"staticBump": 215, "initializers": [] }
diff --git a/test/llvm_autogenerated/offset.wast b/test/llvm_autogenerated/offset.wast
index db7349bd4..3de0a5445 100644
--- a/test/llvm_autogenerated/offset.wast
+++ b/test/llvm_autogenerated/offset.wast
@@ -349,4 +349,4 @@
(return)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 11 }
+;; METADATA: { "asmConsts": {},"staticBump": 11, "initializers": [] }
diff --git a/test/llvm_autogenerated/phi.wast b/test/llvm_autogenerated/phi.wast
index e6fdd6de0..eae083138 100644
--- a/test/llvm_autogenerated/phi.wast
+++ b/test/llvm_autogenerated/phi.wast
@@ -64,4 +64,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/reg-stackify.wast b/test/llvm_autogenerated/reg-stackify.wast
index 414c4b884..000aaac2c 100644
--- a/test/llvm_autogenerated/reg-stackify.wast
+++ b/test/llvm_autogenerated/reg-stackify.wast
@@ -261,4 +261,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/return-int32.wast b/test/llvm_autogenerated/return-int32.wast
index 607a19ee4..afe7a8260 100644
--- a/test/llvm_autogenerated/return-int32.wast
+++ b/test/llvm_autogenerated/return-int32.wast
@@ -8,4 +8,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/return-void.wast b/test/llvm_autogenerated/return-void.wast
index e900d10ad..eefa8268f 100644
--- a/test/llvm_autogenerated/return-void.wast
+++ b/test/llvm_autogenerated/return-void.wast
@@ -6,4 +6,4 @@
(return)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/select.wast b/test/llvm_autogenerated/select.wast
index d55d34692..4720dc7e7 100644
--- a/test/llvm_autogenerated/select.wast
+++ b/test/llvm_autogenerated/select.wast
@@ -122,4 +122,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/signext-zeroext.wast b/test/llvm_autogenerated/signext-zeroext.wast
index 5f35503a1..7ec9a6ec0 100644
--- a/test/llvm_autogenerated/signext-zeroext.wast
+++ b/test/llvm_autogenerated/signext-zeroext.wast
@@ -54,4 +54,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/store-results.wast b/test/llvm_autogenerated/store-results.wast
index 6149c85f8..9b38599c1 100644
--- a/test/llvm_autogenerated/store-results.wast
+++ b/test/llvm_autogenerated/store-results.wast
@@ -121,4 +121,4 @@
)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 19 }
+;; METADATA: { "asmConsts": {},"staticBump": 19, "initializers": [] }
diff --git a/test/llvm_autogenerated/store-trunc.wast b/test/llvm_autogenerated/store-trunc.wast
index 512a3adeb..d2dc87e51 100644
--- a/test/llvm_autogenerated/store-trunc.wast
+++ b/test/llvm_autogenerated/store-trunc.wast
@@ -42,4 +42,4 @@
(return)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/store.wast b/test/llvm_autogenerated/store.wast
index 3ab7f5aa0..360811ee8 100644
--- a/test/llvm_autogenerated/store.wast
+++ b/test/llvm_autogenerated/store.wast
@@ -34,4 +34,4 @@
(return)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/switch.wast b/test/llvm_autogenerated/switch.wast
index deac8e907..72ddf9bbe 100644
--- a/test/llvm_autogenerated/switch.wast
+++ b/test/llvm_autogenerated/switch.wast
@@ -87,4 +87,4 @@
(return)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/unreachable.wast b/test/llvm_autogenerated/unreachable.wast
index f111992c1..c49645c44 100644
--- a/test/llvm_autogenerated/unreachable.wast
+++ b/test/llvm_autogenerated/unreachable.wast
@@ -19,4 +19,4 @@
(return)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/unused-argument.wast b/test/llvm_autogenerated/unused-argument.wast
index 2d9d9ec83..3d86ec9db 100644
--- a/test/llvm_autogenerated/unused-argument.wast
+++ b/test/llvm_autogenerated/unused-argument.wast
@@ -21,4 +21,4 @@
(return)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/userstack.wast b/test/llvm_autogenerated/userstack.wast
index 9870a00aa..090e554a0 100644
--- a/test/llvm_autogenerated/userstack.wast
+++ b/test/llvm_autogenerated/userstack.wast
@@ -461,4 +461,4 @@
(return)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }
diff --git a/test/llvm_autogenerated/varargs.wast b/test/llvm_autogenerated/varargs.wast
index 31b682ec4..941c9883d 100644
--- a/test/llvm_autogenerated/varargs.wast
+++ b/test/llvm_autogenerated/varargs.wast
@@ -244,4 +244,4 @@
(return)
)
)
-;; METADATA: { "asmConsts": {},"staticBump": 4 }
+;; METADATA: { "asmConsts": {},"staticBump": 4, "initializers": [] }