diff options
84 files changed, 236 insertions, 278 deletions
@@ -362,7 +362,7 @@ for t in tests: print '\n[ checking wasm-shell spec testcases... ]\n' if len(requested) == 0: - BLACKLIST = [] + BLACKLIST = ['memory.wast'] # FIXME we support old and new memory formats, for now, until 0xc, and so can't pass this old-style test spec_tests = [os.path.join('spec', t) for t in sorted(os.listdir(os.path.join('test', 'spec'))) if t not in BLACKLIST] else: spec_tests = requested[:] diff --git a/src/binaryen-c.cpp b/src/binaryen-c.cpp index b7fc4347a..b0e241ab3 100644 --- a/src/binaryen-c.cpp +++ b/src/binaryen-c.cpp @@ -736,7 +736,7 @@ void BinaryenSetFunctionTable(BinaryenModuleRef module, BinaryenFunctionRef* fun // Memory. One per module -void BinaryenSetMemory(BinaryenModuleRef module, BinaryenIndex initial, BinaryenIndex maximum, const char* exportName, const char **segments, BinaryenIndex* segmentOffsets, BinaryenIndex* segmentSizes, BinaryenIndex numSegments) { +void BinaryenSetMemory(BinaryenModuleRef module, BinaryenIndex initial, BinaryenIndex maximum, const char* exportName, const char **segments, BinaryenExpressionRef* segmentOffsets, BinaryenIndex* segmentSizes, BinaryenIndex numSegments) { if (tracing) { std::cout << " {\n"; for (BinaryenIndex i = 0; i < numSegments; i++) { @@ -754,10 +754,10 @@ void BinaryenSetMemory(BinaryenModuleRef module, BinaryenIndex initial, Binaryen } if (numSegments == 0) std::cout << "0"; // ensure the array is not empty, otherwise a compiler error on VS std::cout << " };\n"; - std::cout << " BinaryenIndex segmentOffsets[] = { "; + std::cout << " BinaryenExpressionRef segmentOffsets[] = { "; for (BinaryenIndex i = 0; i < numSegments; i++) { if (i > 0) std::cout << ", "; - std::cout << segmentOffsets[i]; + std::cout << "expressions[" << expressions[segmentOffsets[i]] << "]"; } if (numSegments == 0) std::cout << "0"; // ensure the array is not empty, otherwise a compiler error on VS std::cout << " };\n"; @@ -779,7 +779,7 @@ void BinaryenSetMemory(BinaryenModuleRef module, BinaryenIndex initial, Binaryen wasm->memory.max = maximum; if (exportName) wasm->memory.exportName = exportName; for (BinaryenIndex i = 0; i < numSegments; i++) { - wasm->memory.segments.emplace_back(segmentOffsets[i], segments[i], segmentSizes[i]); + wasm->memory.segments.emplace_back((Expression*)segmentOffsets[i], segments[i], segmentSizes[i]); } } diff --git a/src/binaryen-c.h b/src/binaryen-c.h index b32fa566a..e2086072b 100644 --- a/src/binaryen-c.h +++ b/src/binaryen-c.h @@ -346,7 +346,7 @@ void BinaryenSetFunctionTable(BinaryenModuleRef module, BinaryenFunctionRef* fun // Each segment has data in segments, a start offset in segmentOffsets, and a size in segmentSizes. // exportName can be NULL -void BinaryenSetMemory(BinaryenModuleRef module, BinaryenIndex initial, BinaryenIndex maximum, const char* exportName, const char **segments, BinaryenIndex* segmentOffsets, BinaryenIndex* segmentSizes, BinaryenIndex numSegments); +void BinaryenSetMemory(BinaryenModuleRef module, BinaryenIndex initial, BinaryenIndex maximum, const char* exportName, const char **segments, BinaryenExpressionRef* segmentOffsets, BinaryenIndex* segmentSizes, BinaryenIndex numSegments); // Start function. One per module diff --git a/src/passes/Print.cpp b/src/passes/Print.cpp index 47e503fa4..eb97eead5 100644 --- a/src/passes/Print.cpp +++ b/src/passes/Print.cpp @@ -589,9 +589,12 @@ struct PrintSExpression : public Visitor<PrintSExpression> { doIndent(o, indent); printOpening(o, "memory") << ' ' << curr->memory.initial; if (curr->memory.max && curr->memory.max != Memory::kMaxSize) o << ' ' << curr->memory.max; + o << ")\n"; for (auto segment : curr->memory.segments) { - o << maybeNewLine; - o << (minify ? "" : " ") << "(segment " << segment.offset << " \""; + doIndent(o, indent); + printOpening(o, "data ", true); + visit(segment.offset); + o << " \""; for (size_t i = 0; i < segment.data.size(); i++) { unsigned char c = segment.data[i]; switch (c) { @@ -612,10 +615,8 @@ struct PrintSExpression : public Visitor<PrintSExpression> { } } } - o << "\")"; + o << "\")\n"; } - o << ((curr->memory.segments.size() > 0 && !minify) ? "\n " : "") << ')'; - o << maybeNewLine; if (curr->memory.exportName.is()) { doIndent(o, indent); printOpening(o, "export "); diff --git a/src/shared-constants.h b/src/shared-constants.h index fb94ff11b..8599d8144 100644 --- a/src/shared-constants.h +++ b/src/shared-constants.h @@ -24,6 +24,7 @@ extern Name GROW_WASM_MEMORY, PARAM, RESULT, MEMORY, + DATA, SEGMENT, EXPORT, IMPORT, diff --git a/src/shell-interface.h b/src/shell-interface.h index f6c12e8ca..55f9b2a0b 100644 --- a/src/shell-interface.h +++ b/src/shell-interface.h @@ -92,9 +92,10 @@ struct ShellExternalInterface : ModuleInstance::ExternalInterface { memory.resize(wasm.memory.initial * wasm::Memory::kPageSize); // apply memory segments for (auto& segment : wasm.memory.segments) { - assert(segment.offset + segment.data.size() <= wasm.memory.initial * wasm::Memory::kPageSize); + Address offset = ConstantExpressionRunner().visit(segment.offset).value.geti32(); + assert(offset + segment.data.size() <= wasm.memory.initial * wasm::Memory::kPageSize); for (size_t i = 0; i != segment.data.size(); ++i) { - memory.set(segment.offset + i, segment.data[i]); + memory.set(offset + i, segment.data[i]); } } } diff --git a/src/wasm-binary.h b/src/wasm-binary.h index aad142d44..b67a79c3d 100644 --- a/src/wasm-binary.h +++ b/src/wasm-binary.h @@ -706,7 +706,8 @@ public: o << U32LEB(num); for (auto& segment : wasm->memory.segments) { if (segment.data.size() == 0) continue; - o << U32LEB(segment.offset); + writeExpression(segment.offset); + o << int8_t(BinaryConsts::End); writeInlineBuffer(&segment.data[0], segment.data.size()); } finishSection(start); @@ -1572,6 +1573,15 @@ public: } } + Expression* readExpression() { + assert(depth == 0); + processExpressions(); + assert(expressionStack.size() == 1); + auto* ret = popExpression(); + assert(depth == 0); + return ret; + } + void readGlobals() { if (debug) std::cerr << "== readGlobals" << std::endl; size_t num = getU32LEB(); @@ -1580,11 +1590,7 @@ public: if (debug) std::cerr << "read one" << std::endl; auto curr = new Global; curr->type = getWasmType(); - assert(depth == 0); - processExpressions(); - assert(expressionStack.size() == 1); - curr->init = popExpression(); - assert(depth == 0); + curr->init = readExpression(); wasm.addGlobal(curr); } } @@ -1649,7 +1655,7 @@ public: auto num = getU32LEB(); for (size_t i = 0; i < num; i++) { Memory::Segment curr; - auto offset = getU32LEB(); + auto offset = readExpression(); auto size = getU32LEB(); std::vector<char> buffer; buffer.resize(size); diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h index fcf03c591..0be36a677 100644 --- a/src/wasm-interpreter.h +++ b/src/wasm-interpreter.h @@ -497,8 +497,8 @@ public: } }; -// Execute an expression in global init -class GlobalInitRunner : public ExpressionRunner<GlobalInitRunner> { +// Execute an constant expression in a global init or memory offset +class ConstantExpressionRunner : public ExpressionRunner<ConstantExpressionRunner> { public: Flow visitLoop(Loop* curr) { WASM_UNREACHABLE(); } Flow visitCall(Call* curr) { WASM_UNREACHABLE(); } @@ -547,7 +547,7 @@ public: ModuleInstance(Module& wasm, ExternalInterface* externalInterface) : wasm(wasm), externalInterface(externalInterface) { memorySize = wasm.memory.initial; for (Index i = 0; i < wasm.globals.size(); i++) { - globals.push_back(GlobalInitRunner().visit(wasm.globals[i]->init).value); + globals.push_back(ConstantExpressionRunner().visit(wasm.globals[i]->init).value); } externalInterface->init(wasm); if (wasm.start.is()) { diff --git a/src/wasm-js.cpp b/src/wasm-js.cpp index 33b0faa55..2aacd94d4 100644 --- a/src/wasm-js.cpp +++ b/src/wasm-js.cpp @@ -193,7 +193,7 @@ extern "C" void EMSCRIPTEN_KEEPALIVE instantiate() { var source = Module['HEAP8'].subarray($1, $1 + $2); var target = new Int8Array(Module['outside']['newBuffer']); target.set(source, $0); - }, (uint32_t)segment.offset, &segment.data[0], segment.data.size()); + }, ConstantExpressionRunner().visit(segment.offset).value.geti32(), &segment.data[0], segment.data.size()); } } diff --git a/src/wasm-linker.cpp b/src/wasm-linker.cpp index d8bae7558..1f06c6ec2 100644 --- a/src/wasm-linker.cpp +++ b/src/wasm-linker.cpp @@ -83,7 +83,7 @@ void Linker::layout() { // Update the segments with their addresses now that they have been allocated. for (const auto& seg : out.segments) { Address address = staticAddresses[seg.first]; - out.wasm.memory.segments[seg.second].offset = address; + out.wasm.memory.segments[seg.second].offset = out.wasm.allocator.alloc<Const>()->set(Literal(uint32_t(address))); segmentsByAddress[address] = seg.second; } diff --git a/src/wasm-linker.h b/src/wasm-linker.h index 3f1e8c7ac..bf76a8f94 100644 --- a/src/wasm-linker.h +++ b/src/wasm-linker.h @@ -114,12 +114,12 @@ class LinkerObject { // Add an initializer segment for the named static variable. void addSegment(Name name, const char* data, Address size) { segments[name] = wasm.memory.segments.size(); - wasm.memory.segments.emplace_back(0, data, size); + wasm.memory.segments.emplace_back(wasm.allocator.alloc<Const>()->set(Literal(uint32_t(0))), data, size); } void addSegment(Name name, std::vector<char>& data) { segments[name] = wasm.memory.segments.size(); - wasm.memory.segments.emplace_back(0, data); + wasm.memory.segments.emplace_back(wasm.allocator.alloc<Const>()->set(Literal(uint32_t(0))), data); } void addInitializerFunction(Name name) { diff --git a/src/wasm-s-parser.h b/src/wasm-s-parser.h index 750d485fb..87217cd20 100644 --- a/src/wasm-s-parser.h +++ b/src/wasm-s-parser.h @@ -367,13 +367,14 @@ private: if (id == START) return parseStart(curr); if (id == FUNC) return parseFunction(curr); if (id == MEMORY) return parseMemory(curr); + if (id == DATA) return parseData(curr); if (id == EXPORT) return parseExport(curr); if (id == IMPORT) return; // already done if (id == GLOBAL) return parseGlobal(curr); if (id == TABLE) return parseTable(curr); if (id == TYPE) return; // already done std::cerr << "bad module element " << id.str << '\n'; - throw ParseException("unknown module element"); + throw ParseException("unknown module element", curr.line, curr.col); } // function parsing state @@ -1321,19 +1322,40 @@ private: } while (i < s.size()) { Element& curr = *s[i]; - assert(curr[0]->str() == SEGMENT); - const char *input = curr[2]->c_str(); + size_t j = 1; + Address offsetValue; + if (curr[0]->str() == DATA) { + offsetValue = 0; + } else { + offsetValue = atoi(curr[j++]->c_str()); + } + const char *input = curr[j]->c_str(); + auto* offset = allocator.alloc<Const>(); + offset->type = i32; + offset->value = Literal(int32_t(offsetValue)); if (auto size = strlen(input)) { std::vector<char> data; stringToBinary(input, size, data); - wasm.memory.segments.emplace_back(atoi(curr[1]->c_str()), data.data(), data.size()); + wasm.memory.segments.emplace_back(offset, data.data(), data.size()); } else { - wasm.memory.segments.emplace_back(atoi(curr[1]->c_str()), "", 0); + wasm.memory.segments.emplace_back(offset, "", 0); } i++; } } + void parseData(Element& s) { + auto* offset = parseExpression(s[1]); + const char *input = s[2]->c_str(); + if (auto size = strlen(input)) { + std::vector<char> data; + stringToBinary(input, size, data); + wasm.memory.segments.emplace_back(offset, data.data(), data.size()); + } else { + wasm.memory.segments.emplace_back(offset, "", 0); + } + } + void parseExport(Element& s) { if (!s[2]->dollared() && !std::isdigit(s[2]->str()[0])) { assert(s[2]->str() == MEMORY); diff --git a/src/wasm-validator.h b/src/wasm-validator.h index 90930d8f4..3d9a0e1c3 100644 --- a/src/wasm-validator.h +++ b/src/wasm-validator.h @@ -281,12 +281,6 @@ public: void visitMemory(Memory *curr) { shouldBeFalse(curr->initial > curr->max, "memory", "memory max >= initial"); shouldBeTrue(curr->max <= Memory::kMaxSize, "memory", "max memory must be <= 4GB"); - size_t top = 0; - for (auto& segment : curr->segments) { - shouldBeFalse(segment.offset < top, "memory", "segment offset is small enough"); - top = segment.offset + segment.data.size(); - } - shouldBeFalse(top > curr->initial * Memory::kPageSize, "memory", "total segments must be small enough"); } void visitModule(Module *curr) { // exports diff --git a/src/wasm.cpp b/src/wasm.cpp index dbbd209b4..2138ec34d 100644 --- a/src/wasm.cpp +++ b/src/wasm.cpp @@ -49,6 +49,7 @@ Name GROW_WASM_MEMORY("__growWasmMemory"), PARAM("param"), RESULT("result"), MEMORY("memory"), + DATA("data"), SEGMENT("segment"), EXPORT("export"), IMPORT("import"), diff --git a/src/wasm.h b/src/wasm.h index 38a030e1a..c0129cf23 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -1441,14 +1441,14 @@ public: static const Address::address_t kMaxSize = ~Address::address_t(0) / kPageSize; static const Address::address_t kPageMask = ~(kPageSize - 1); struct Segment { - Address offset; + Expression* offset; std::vector<char> data; // TODO: optimize Segment() {} - Segment(Address offset, const char *init, Address size) : offset(offset) { + Segment(Expression* offset, const char *init, Address size) : offset(offset) { data.resize(size); std::copy_n(init, size, data.begin()); } - Segment(Address offset, std::vector<char>& init) : offset(offset) { + Segment(Expression* offset, std::vector<char>& init) : offset(offset) { data.swap(init); } }; diff --git a/test/dot_s/alias.wast b/test/dot_s/alias.wast index 5744f8e8a..bd114b9dc 100644 --- a/test/dot_s/alias.wast +++ b/test/dot_s/alias.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 16 "\d2\04\00\00\00\00\00\00)\t\00\00") - ) + (memory 1) + (data (i32.const 16) "\d2\04\00\00\00\00\00\00)\t\00\00") (export "memory" memory) (type $FUNCSIG$v (func)) (export "__exit" $__exit) diff --git a/test/dot_s/asm_const.wast b/test/dot_s/asm_const.wast index ec9389029..564a565ef 100644 --- a/test/dot_s/asm_const.wast +++ b/test/dot_s/asm_const.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 16 "{ Module.print(\"hello, world!\"); }\00") - ) + (memory 1) + (data (i32.const 16) "{ Module.print(\"hello, world!\"); }\00") (export "memory" memory) (type $FUNCSIG$vi (func (param i32))) (import $emscripten_asm_const_vi "env" "emscripten_asm_const_vi" (param i32)) diff --git a/test/dot_s/basics.wast b/test/dot_s/basics.wast index b93bcd5cc..7b13be3d8 100644 --- a/test/dot_s/basics.wast +++ b/test/dot_s/basics.wast @@ -1,9 +1,8 @@ (module - (memory 1 - (segment 16 "hello, world!\n\00") - (segment 32 "vcq") - (segment 48 "\16\00\00\00") - ) + (memory 1) + (data (i32.const 16) "hello, world!\n\00") + (data (i32.const 32) "vcq") + (data (i32.const 48) "\16\00\00\00") (export "memory" memory) (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$v (func)) diff --git a/test/dot_s/bcp-1.wast b/test/dot_s/bcp-1.wast index fcbe3b81e..c090d90e5 100644 --- a/test/dot_s/bcp-1.wast +++ b/test/dot_s/bcp-1.wast @@ -1,13 +1,12 @@ (module - (memory 1 - (segment 16 "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00") - (segment 40 "\07\00\00\00\08\00\00\00\t\00\00\00") - (segment 52 "\n\00\00\00\0b\00\00\00") - (segment 60 "\0c\00\00\00\0d\00\00\00\0e\00\00\00") - (segment 72 "\0f\00\00\00\10\00\00\00\11\00\00\00") - (segment 96 "hi\00") - (segment 100 "\00\00\00\00") - ) + (memory 1) + (data (i32.const 16) "\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00") + (data (i32.const 40) "\07\00\00\00\08\00\00\00\t\00\00\00") + (data (i32.const 52) "\n\00\00\00\0b\00\00\00") + (data (i32.const 60) "\0c\00\00\00\0d\00\00\00\0e\00\00\00") + (data (i32.const 72) "\0f\00\00\00\10\00\00\00\11\00\00\00") + (data (i32.const 96) "hi\00") + (data (i32.const 100) "\00\00\00\00") (export "memory" memory) (type $FUNCSIG$i (func (result i32))) (type $FUNCSIG$ii (func (param i32) (result i32))) diff --git a/test/dot_s/data-offset-folding.wast b/test/dot_s/data-offset-folding.wast index e737e04f1..9cdacd60b 100644 --- a/test/dot_s/data-offset-folding.wast +++ b/test/dot_s/data-offset-folding.wast @@ -1,8 +1,7 @@ (module - (memory 1 - (segment 12 "\00\00\00\00") - (segment 416 "`\00\00\00") - ) + (memory 1) + (data (i32.const 12) "\00\00\00\00") + (data (i32.const 416) "`\00\00\00") (export "memory" memory) ) ;; METADATA: { "asmConsts": {},"staticBump": 420, "initializers": [] } diff --git a/test/dot_s/function-data-sections.wast b/test/dot_s/function-data-sections.wast index 82aa6f8c9..43947a3cc 100644 --- a/test/dot_s/function-data-sections.wast +++ b/test/dot_s/function-data-sections.wast @@ -1,9 +1,8 @@ (module - (memory 1 - (segment 12 "\00\00\00\00") - (segment 16 "\01\00\00\00") - (segment 20 "33\13@") - ) + (memory 1) + (data (i32.const 12) "\00\00\00\00") + (data (i32.const 16) "\01\00\00\00") + (data (i32.const 20) "33\13@") (export "memory" memory) (export "foo" $foo) (export "bar" $bar) diff --git a/test/dot_s/indidx.wast b/test/dot_s/indidx.wast index 2a5224d00..5fb481197 100644 --- a/test/dot_s/indidx.wast +++ b/test/dot_s/indidx.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 16 "\04\00\00\00\02\00\00\00\01\00\00\00\03\00\00\00") - ) + (memory 1) + (data (i32.const 16) "\04\00\00\00\02\00\00\00\01\00\00\00\03\00\00\00") (export "memory" memory) (type $FUNCSIG$i (func (result i32))) (type $FUNCSIG$v (func)) diff --git a/test/dot_s/lcomm-in-text-segment.wast b/test/dot_s/lcomm-in-text-segment.wast index 27ebc9b87..e154c6c78 100644 --- a/test/dot_s/lcomm-in-text-segment.wast +++ b/test/dot_s/lcomm-in-text-segment.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 20 "\10\00\00\00") - ) + (memory 1) + (data (i32.const 20) "\10\00\00\00") (export "memory" memory) ) ;; METADATA: { "asmConsts": {},"staticBump": 24, "initializers": [] } diff --git a/test/dot_s/macClangMetaData.wast b/test/dot_s/macClangMetaData.wast index ed41e459c..2d1b5a68f 100644 --- a/test/dot_s/macClangMetaData.wast +++ b/test/dot_s/macClangMetaData.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 16 "Hello, World!\00") - ) + (memory 1) + (data (i32.const 16) "Hello, World!\00") (export "memory" memory) (type $FUNCSIG$ii (func (param i32) (result i32))) (import $puts "env" "puts" (param i32) (result i32)) diff --git a/test/dot_s/memops.wast b/test/dot_s/memops.wast index 07d5caec3..12a13372e 100644 --- a/test/dot_s/memops.wast +++ b/test/dot_s/memops.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 16 "{ Module.print(\"hello, world! \" + HEAP32[8>>2]); }\00") - ) + (memory 1) + (data (i32.const 16) "{ Module.print(\"hello, world! \" + HEAP32[8>>2]); }\00") (export "memory" memory) (type $FUNCSIG$vi (func (param i32))) (import $emscripten_asm_const_vi "env" "emscripten_asm_const_vi" (param i32)) diff --git a/test/dot_s/permute.wast b/test/dot_s/permute.wast index 13abcf66c..a58bc21c8 100644 --- a/test/dot_s/permute.wast +++ b/test/dot_s/permute.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 16 "hE?\8ds\0e7\db[g\8f\955it\c4k\0b\e2\ef\bcld\e0\fd\8c\9e\86&~\d8\94\89+\c8\a4\c2\f2\fb\12\1cej\d99\b7\b3W\c6w\af\ae\caM>\92ub\96\84\b6\b0N\ec;q\11\f7\bf\e31\e6\a7\90\fc\03\e4\aa\d7\cc- \15\83DH\80r\fa\01X\eb:_\00A\cd\e9o`n\ac(\ad\ba0\dcyS#\f4$\"\82\7f}\8e\f6\93L\'\bb\bdZ\ed4\18\f3\c0\cf\ff\a3\f8\07\05\9c\d3\0f\a0\06m%\\\f9^B<\e7\b1\17\98]\0c\dd\c5\f5p\e5\fezJ\ab,F\a5@\08R\85!\b8\1a\ce\d5\04\nI\a6\d1\9f\8a\c9\a9|\97\9aG\be8Y\8b\c1\1b\d4\ea\b9\19\14\9b\9163\d0\1d\d2\df=C\1f\0dc\e1\c7QUv\02\b5aK\b4\tV\c3x\e8\a1\1e\81\de/{\da\d6Pf\10T\f0)\88\16\ee\a8\9d\f1\cbO*\b2\99\132\87.\a2") - ) + (memory 1) + (data (i32.const 16) "hE?\8ds\0e7\db[g\8f\955it\c4k\0b\e2\ef\bcld\e0\fd\8c\9e\86&~\d8\94\89+\c8\a4\c2\f2\fb\12\1cej\d99\b7\b3W\c6w\af\ae\caM>\92ub\96\84\b6\b0N\ec;q\11\f7\bf\e31\e6\a7\90\fc\03\e4\aa\d7\cc- \15\83DH\80r\fa\01X\eb:_\00A\cd\e9o`n\ac(\ad\ba0\dcyS#\f4$\"\82\7f}\8e\f6\93L\'\bb\bdZ\ed4\18\f3\c0\cf\ff\a3\f8\07\05\9c\d3\0f\a0\06m%\\\f9^B<\e7\b1\17\98]\0c\dd\c5\f5p\e5\fezJ\ab,F\a5@\08R\85!\b8\1a\ce\d5\04\nI\a6\d1\9f\8a\c9\a9|\97\9aG\be8Y\8b\c1\1b\d4\ea\b9\19\14\9b\9163\d0\1d\d2\df=C\1f\0dc\e1\c7QUv\02\b5aK\b4\tV\c3x\e8\a1\1e\81\de/{\da\d6Pf\10T\f0)\88\16\ee\a8\9d\f1\cbO*\b2\99\132\87.\a2") (export "memory" memory) ) ;; METADATA: { "asmConsts": {},"staticBump": 272, "initializers": [] } diff --git a/test/dot_s/relocation.wast b/test/dot_s/relocation.wast index 35fcd1562..eb00bac89 100644 --- a/test/dot_s/relocation.wast +++ b/test/dot_s/relocation.wast @@ -1,8 +1,7 @@ (module - (memory 1 - (segment 12 "\10\00\00\00") - (segment 16 "\0c\00\00\00") - ) + (memory 1) + (data (i32.const 12) "\10\00\00\00") + (data (i32.const 16) "\0c\00\00\00") (export "memory" memory) (export "main" $main) (func $main (result i32) diff --git a/test/dot_s/symbolic-offset.wast b/test/dot_s/symbolic-offset.wast index 15ec8f1be..51879232a 100644 --- a/test/dot_s/symbolic-offset.wast +++ b/test/dot_s/symbolic-offset.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 12 "\01\00\00\00\00\00\00\00\00\00\00\00") - ) + (memory 1) + (data (i32.const 12) "\01\00\00\00\00\00\00\00\00\00\00\00") (export "memory" memory) (export "f" $f) (func $f (param $0 i32) (param $1 i32) diff --git a/test/example/c-api-kitchen-sink.c b/test/example/c-api-kitchen-sink.c index 496ac4efd..0aaf5ab95 100644 --- a/test/example/c-api-kitchen-sink.c +++ b/test/example/c-api-kitchen-sink.c @@ -246,7 +246,7 @@ void test_core() { // Memory. One per module const char *segments[] = { "hello, world" }; - BinaryenIndex segmentOffsets[] = { 10 }; + BinaryenExpressionRef segmentOffsets[] = { BinaryenConst(module, BinaryenLiteralInt32(10)) }; BinaryenIndex segmentSizes[] = { 12 }; BinaryenSetMemory(module, 1, 256, "mem", segments, segmentOffsets, segmentSizes, 1); diff --git a/test/example/c-api-kitchen-sink.txt b/test/example/c-api-kitchen-sink.txt index 64f5fc3b4..c8f123bdd 100644 --- a/test/example/c-api-kitchen-sink.txt +++ b/test/example/c-api-kitchen-sink.txt @@ -7,9 +7,8 @@ BinaryenFloat64: 4 (f32.const -33.61199951171875) ) (module - (memory 1 256 - (segment 10 "hello, world") - ) + (memory 1 256) + (data (i32.const 10) "hello, world") (export "mem" memory) (start $starter) (type $iiIfF (func (param i32 i64 f32 f64) (result i32))) @@ -1375,10 +1374,11 @@ int main() { BinaryenFunctionRef funcs[] = { functions[0] }; BinaryenSetFunctionTable(the_module, funcs, 1); } + expressions[245] = BinaryenConst(the_module, BinaryenLiteralInt32(10)); { const char segment0[] = { 104, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100 }; const char* segments[] = { segment0 }; - BinaryenIndex segmentOffsets[] = { 10 }; + BinaryenExpressionRef segmentOffsets[] = { expressions[245] }; BinaryenIndex segmentSizes[] = { 12 }; BinaryenSetMemory(the_module, 1, 256, "mem", segments, segmentOffsets, segmentSizes, 1); } @@ -1386,10 +1386,10 @@ int main() { BinaryenIndex paramTypes[] = { 0 }; functionTypes[2] = BinaryenAddFunctionType(the_module, "v", 0, paramTypes, 0); } - expressions[245] = BinaryenNop(the_module); + expressions[246] = BinaryenNop(the_module); { BinaryenType varTypes[] = { 0 }; - functions[1] = BinaryenAddFunction(the_module, "starter", functionTypes[2], varTypes, 0, expressions[245]); + functions[1] = BinaryenAddFunction(the_module, "starter", functionTypes[2], varTypes, 0, expressions[246]); } BinaryenSetStart(the_module, functions[1]); { @@ -1399,9 +1399,8 @@ int main() { BinaryenModuleValidate(the_module); BinaryenModulePrint(the_module); (module - (memory 1 256 - (segment 10 "hello, world") - ) + (memory 1 256) + (data (i32.const 10) "hello, world") (export "mem" memory) (start $starter) (type $iiIfF (func (param i32 i64 f32 f64) (result i32))) diff --git a/test/example/c-api-kitchen-sink.txt.txt b/test/example/c-api-kitchen-sink.txt.txt index 96cbaaa00..24dcc8a5c 100644 --- a/test/example/c-api-kitchen-sink.txt.txt +++ b/test/example/c-api-kitchen-sink.txt.txt @@ -2,9 +2,8 @@ (f32.const -33.61199951171875) ) (module - (memory 1 256 - (segment 10 "hello, world") - ) + (memory 1 256) + (data (i32.const 10) "hello, world") (export "mem" memory) (start $starter) (type $iiIfF (func (param i32 i64 f32 f64) (result i32))) diff --git a/test/kitchen_sink.wast b/test/kitchen_sink.wast index e0cc6617a..2b139a95b 100644 --- a/test/kitchen_sink.wast +++ b/test/kitchen_sink.wast @@ -1,7 +1,6 @@ (module - (memory 4096 4096 - (segment 1026 "\14\00") - ) + (memory 4096 4096) + (data (i32.const 1026) "\14\00") (type $0 (func (result i32))) (func $kitchensink (type $0) (result i32) (block $block0 diff --git a/test/kitchen_sink.wast.fromBinary b/test/kitchen_sink.wast.fromBinary index cd58fdf65..dd55b5bae 100644 --- a/test/kitchen_sink.wast.fromBinary +++ b/test/kitchen_sink.wast.fromBinary @@ -1,7 +1,6 @@ (module - (memory 4096 4096 - (segment 1026 "\14\00") - ) + (memory 4096 4096) + (data (i32.const 1026) "\14\00") (type $0 (func (result i32))) (func $kitchensink (type $0) (result i32) (block $label$0 diff --git a/test/llvm_autogenerated/byval.wast b/test/llvm_autogenerated/byval.wast index 9ebb4b446..c4dc678ea 100644 --- a/test/llvm_autogenerated/byval.wast +++ b/test/llvm_autogenerated/byval.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (type $FUNCSIG$vi (func (param i32))) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) diff --git a/test/llvm_autogenerated/call.wast b/test/llvm_autogenerated/call.wast index 812667aec..8dc92ff80 100644 --- a/test/llvm_autogenerated/call.wast +++ b/test/llvm_autogenerated/call.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (type $FUNCSIG$v (func)) (type $FUNCSIG$i (func (result i32))) diff --git a/test/llvm_autogenerated/cfg-stackify.wast b/test/llvm_autogenerated/cfg-stackify.wast index ac20e3398..2dbdd5e93 100644 --- a/test/llvm_autogenerated/cfg-stackify.wast +++ b/test/llvm_autogenerated/cfg-stackify.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (type $FUNCSIG$i (func (result i32))) (type $FUNCSIG$v (func)) diff --git a/test/llvm_autogenerated/comparisons_f32.wast b/test/llvm_autogenerated/comparisons_f32.wast index 2ab127beb..9d9898846 100644 --- a/test/llvm_autogenerated/comparisons_f32.wast +++ b/test/llvm_autogenerated/comparisons_f32.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "ord_f32" $ord_f32) (export "uno_f32" $uno_f32) diff --git a/test/llvm_autogenerated/comparisons_f64.wast b/test/llvm_autogenerated/comparisons_f64.wast index 8d9ddf0c0..edd3cd9b7 100644 --- a/test/llvm_autogenerated/comparisons_f64.wast +++ b/test/llvm_autogenerated/comparisons_f64.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "ord_f64" $ord_f64) (export "uno_f64" $uno_f64) diff --git a/test/llvm_autogenerated/comparisons_i32.wast b/test/llvm_autogenerated/comparisons_i32.wast index 2e9a074ee..2657cabd1 100644 --- a/test/llvm_autogenerated/comparisons_i32.wast +++ b/test/llvm_autogenerated/comparisons_i32.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "eq_i32" $eq_i32) (export "ne_i32" $ne_i32) diff --git a/test/llvm_autogenerated/comparisons_i64.wast b/test/llvm_autogenerated/comparisons_i64.wast index 2bf520862..0ce7ab530 100644 --- a/test/llvm_autogenerated/comparisons_i64.wast +++ b/test/llvm_autogenerated/comparisons_i64.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "eq_i64" $eq_i64) (export "ne_i64" $ne_i64) diff --git a/test/llvm_autogenerated/conv.wast b/test/llvm_autogenerated/conv.wast index 273217a23..0ee43f493 100644 --- a/test/llvm_autogenerated/conv.wast +++ b/test/llvm_autogenerated/conv.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "i32_wrap_i64" $i32_wrap_i64) (export "i64_extend_s_i32" $i64_extend_s_i32) diff --git a/test/llvm_autogenerated/copysign-casts.wast b/test/llvm_autogenerated/copysign-casts.wast index 14da8c65d..853cce958 100644 --- a/test/llvm_autogenerated/copysign-casts.wast +++ b/test/llvm_autogenerated/copysign-casts.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "fold_promote" $fold_promote) (export "fold_demote" $fold_demote) diff --git a/test/llvm_autogenerated/cpus.wast b/test/llvm_autogenerated/cpus.wast index c874eab7c..ce2ace210 100644 --- a/test/llvm_autogenerated/cpus.wast +++ b/test/llvm_autogenerated/cpus.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "f" $f) (func $f (param $0 i32) (result i32) diff --git a/test/llvm_autogenerated/dead-vreg.wast b/test/llvm_autogenerated/dead-vreg.wast index efb17b49b..be6e82cfd 100644 --- a/test/llvm_autogenerated/dead-vreg.wast +++ b/test/llvm_autogenerated/dead-vreg.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "foo" $foo) (func $foo (param $0 i32) (param $1 i32) (param $2 i32) diff --git a/test/llvm_autogenerated/divrem-constant.wast b/test/llvm_autogenerated/divrem-constant.wast index c0f05f8b8..358ecdbf3 100644 --- a/test/llvm_autogenerated/divrem-constant.wast +++ b/test/llvm_autogenerated/divrem-constant.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "test_udiv_2" $test_udiv_2) (export "test_udiv_5" $test_udiv_5) diff --git a/test/llvm_autogenerated/f32.wast b/test/llvm_autogenerated/f32.wast index 03409d03b..466ce049a 100644 --- a/test/llvm_autogenerated/f32.wast +++ b/test/llvm_autogenerated/f32.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (type $FUNCSIG$ffff (func (param f32 f32 f32) (result f32))) (import $fmaf "env" "fmaf" (param f32 f32 f32) (result f32)) diff --git a/test/llvm_autogenerated/f64.wast b/test/llvm_autogenerated/f64.wast index 860d183f5..0c74c17ea 100644 --- a/test/llvm_autogenerated/f64.wast +++ b/test/llvm_autogenerated/f64.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (type $FUNCSIG$dddd (func (param f64 f64 f64) (result f64))) (import $fma "env" "fma" (param f64 f64 f64) (result f64)) diff --git a/test/llvm_autogenerated/fast-isel.wast b/test/llvm_autogenerated/fast-isel.wast index 02d8e97f1..50cdb5469 100644 --- a/test/llvm_autogenerated/fast-isel.wast +++ b/test/llvm_autogenerated/fast-isel.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "immediate_f32" $immediate_f32) (export "immediate_f64" $immediate_f64) diff --git a/test/llvm_autogenerated/frem.wast b/test/llvm_autogenerated/frem.wast index 15d5cc222..b7f784d2d 100644 --- a/test/llvm_autogenerated/frem.wast +++ b/test/llvm_autogenerated/frem.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (type $FUNCSIG$ddd (func (param f64 f64) (result f64))) (type $FUNCSIG$fff (func (param f32 f32) (result f32))) diff --git a/test/llvm_autogenerated/func.wast b/test/llvm_autogenerated/func.wast index 118fb252b..b4298e449 100644 --- a/test/llvm_autogenerated/func.wast +++ b/test/llvm_autogenerated/func.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "f0" $f0) (export "f1" $f1) diff --git a/test/llvm_autogenerated/global.wast b/test/llvm_autogenerated/global.wast index cbb8ac184..85c50ff03 100644 --- a/test/llvm_autogenerated/global.wast +++ b/test/llvm_autogenerated/global.wast @@ -1,19 +1,18 @@ (module - (memory 1 - (segment 4 "\b0\08\00\00") - (segment 12 "9\05\00\00") - (segment 28 "\01\00\00\00") - (segment 32 "*\00\00\00") - (segment 36 "\ff\ff\ff\ff") - (segment 64 "\00\00\00\00\01\00\00\00") - (segment 72 "\ff\ff\ff\ff\ff\ff\ff\ff") - (segment 92 "\00\00\00\80") - (segment 96 "\00\00\00@") - (segment 128 "\00\00\00\00\00\00\00\80") - (segment 136 "\00\00\00\00\00\00\00@") - (segment 656 "\e0\00\00\00") - (segment 1192 "\a4\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\b0\08\00\00") + (data (i32.const 12) "9\05\00\00") + (data (i32.const 28) "\01\00\00\00") + (data (i32.const 32) "*\00\00\00") + (data (i32.const 36) "\ff\ff\ff\ff") + (data (i32.const 64) "\00\00\00\00\01\00\00\00") + (data (i32.const 72) "\ff\ff\ff\ff\ff\ff\ff\ff") + (data (i32.const 92) "\00\00\00\80") + (data (i32.const 96) "\00\00\00@") + (data (i32.const 128) "\00\00\00\00\00\00\00\80") + (data (i32.const 136) "\00\00\00\00\00\00\00@") + (data (i32.const 656) "\e0\00\00\00") + (data (i32.const 1192) "\a4\04\00\00") (export "memory" memory) (type $FUNCSIG$iiii (func (param i32 i32 i32) (result i32))) (import $memcpy "env" "memcpy" (param i32 i32 i32) (result i32)) diff --git a/test/llvm_autogenerated/globl.wast b/test/llvm_autogenerated/globl.wast index e357a6337..cf493cb12 100644 --- a/test/llvm_autogenerated/globl.wast +++ b/test/llvm_autogenerated/globl.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "foo" $foo) (func $foo diff --git a/test/llvm_autogenerated/i128.wast b/test/llvm_autogenerated/i128.wast index 19b600792..830c1433c 100644 --- a/test/llvm_autogenerated/i128.wast +++ b/test/llvm_autogenerated/i128.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (type $FUNCSIG$vijji (func (param i32 i64 i64 i32))) (type $FUNCSIG$vijjjj (func (param i32 i64 i64 i64 i64))) diff --git a/test/llvm_autogenerated/i32-load-store-alignment.wast b/test/llvm_autogenerated/i32-load-store-alignment.wast index 230d3ffdc..e1ef2f5e8 100644 --- a/test/llvm_autogenerated/i32-load-store-alignment.wast +++ b/test/llvm_autogenerated/i32-load-store-alignment.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "ldi32_a1" $ldi32_a1) (export "ldi32_a2" $ldi32_a2) diff --git a/test/llvm_autogenerated/i32.wast b/test/llvm_autogenerated/i32.wast index 2f1bf90ca..72d5b14a8 100644 --- a/test/llvm_autogenerated/i32.wast +++ b/test/llvm_autogenerated/i32.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "add32" $add32) (export "sub32" $sub32) diff --git a/test/llvm_autogenerated/i64-load-store-alignment.wast b/test/llvm_autogenerated/i64-load-store-alignment.wast index f345f6dcc..33362acfc 100644 --- a/test/llvm_autogenerated/i64-load-store-alignment.wast +++ b/test/llvm_autogenerated/i64-load-store-alignment.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "ldi64_a1" $ldi64_a1) (export "ldi64_a2" $ldi64_a2) diff --git a/test/llvm_autogenerated/i64.wast b/test/llvm_autogenerated/i64.wast index bcbca2611..fa50edd5f 100644 --- a/test/llvm_autogenerated/i64.wast +++ b/test/llvm_autogenerated/i64.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "add64" $add64) (export "sub64" $sub64) diff --git a/test/llvm_autogenerated/ident.wast b/test/llvm_autogenerated/ident.wast index d54e39f47..20a88f29f 100644 --- a/test/llvm_autogenerated/ident.wast +++ b/test/llvm_autogenerated/ident.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) ) ;; METADATA: { "asmConsts": {},"staticBump": 1040, "initializers": [] } diff --git a/test/llvm_autogenerated/immediates.wast b/test/llvm_autogenerated/immediates.wast index 5e16ec488..89820cdf1 100644 --- a/test/llvm_autogenerated/immediates.wast +++ b/test/llvm_autogenerated/immediates.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "zero_i32" $zero_i32) (export "one_i32" $one_i32) diff --git a/test/llvm_autogenerated/irreducible-cfg.wast b/test/llvm_autogenerated/irreducible-cfg.wast index 6990faa76..3e7dbd28f 100644 --- a/test/llvm_autogenerated/irreducible-cfg.wast +++ b/test/llvm_autogenerated/irreducible-cfg.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "test0" $test0) (export "test1" $test1) diff --git a/test/llvm_autogenerated/legalize.wast b/test/llvm_autogenerated/legalize.wast index 8ceba3431..912efce02 100644 --- a/test/llvm_autogenerated/legalize.wast +++ b/test/llvm_autogenerated/legalize.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (type $FUNCSIG$vijji (func (param i32 i64 i64 i32))) (import $__ashlti3 "env" "__ashlti3" (param i32 i64 i64 i32)) diff --git a/test/llvm_autogenerated/load-ext.wast b/test/llvm_autogenerated/load-ext.wast index 4b734e546..67c07444d 100644 --- a/test/llvm_autogenerated/load-ext.wast +++ b/test/llvm_autogenerated/load-ext.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "sext_i8_i32" $sext_i8_i32) (export "zext_i8_i32" $zext_i8_i32) diff --git a/test/llvm_autogenerated/load-store-i1.wast b/test/llvm_autogenerated/load-store-i1.wast index 994c70a51..3138a07bf 100644 --- a/test/llvm_autogenerated/load-store-i1.wast +++ b/test/llvm_autogenerated/load-store-i1.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "load_u_i1_i32" $load_u_i1_i32) (export "load_s_i1_i32" $load_s_i1_i32) diff --git a/test/llvm_autogenerated/load.wast b/test/llvm_autogenerated/load.wast index 361027640..22774cc57 100644 --- a/test/llvm_autogenerated/load.wast +++ b/test/llvm_autogenerated/load.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "ldi32" $ldi32) (export "ldi64" $ldi64) diff --git a/test/llvm_autogenerated/mem-intrinsics.wast b/test/llvm_autogenerated/mem-intrinsics.wast index 6f3416a14..62d586ad9 100644 --- a/test/llvm_autogenerated/mem-intrinsics.wast +++ b/test/llvm_autogenerated/mem-intrinsics.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (type $FUNCSIG$v (func)) (type $FUNCSIG$i (func (result i32))) diff --git a/test/llvm_autogenerated/memory-addr32.wast b/test/llvm_autogenerated/memory-addr32.wast index e75c80eaf..d5e43423a 100644 --- a/test/llvm_autogenerated/memory-addr32.wast +++ b/test/llvm_autogenerated/memory-addr32.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "current_memory" $current_memory) (export "grow_memory" $grow_memory) diff --git a/test/llvm_autogenerated/non-executable-stack.wast b/test/llvm_autogenerated/non-executable-stack.wast index d54e39f47..20a88f29f 100644 --- a/test/llvm_autogenerated/non-executable-stack.wast +++ b/test/llvm_autogenerated/non-executable-stack.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) ) ;; METADATA: { "asmConsts": {},"staticBump": 1040, "initializers": [] } diff --git a/test/llvm_autogenerated/offset.wast b/test/llvm_autogenerated/offset.wast index 63383af3a..a24a055e3 100644 --- a/test/llvm_autogenerated/offset.wast +++ b/test/llvm_autogenerated/offset.wast @@ -1,8 +1,7 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - (segment 12 "\00\00\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") + (data (i32.const 12) "\00\00\00\00") (export "memory" memory) (export "load_i32_with_folded_offset" $load_i32_with_folded_offset) (export "load_i32_with_folded_gep_offset" $load_i32_with_folded_gep_offset) diff --git a/test/llvm_autogenerated/phi.wast b/test/llvm_autogenerated/phi.wast index 30c5aa12c..3bd742e8d 100644 --- a/test/llvm_autogenerated/phi.wast +++ b/test/llvm_autogenerated/phi.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "test0" $test0) (export "test1" $test1) diff --git a/test/llvm_autogenerated/reg-stackify.wast b/test/llvm_autogenerated/reg-stackify.wast index eea7e8bbf..b9526b566 100644 --- a/test/llvm_autogenerated/reg-stackify.wast +++ b/test/llvm_autogenerated/reg-stackify.wast @@ -1,8 +1,7 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - (segment 12 "\00\00\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") + (data (i32.const 12) "\00\00\00\00") (export "memory" memory) (type $FUNCSIG$i (func (result i32))) (type $FUNCSIG$ii (func (param i32) (result i32))) diff --git a/test/llvm_autogenerated/return-int32.wast b/test/llvm_autogenerated/return-int32.wast index 8a10e58e4..eca34d41d 100644 --- a/test/llvm_autogenerated/return-int32.wast +++ b/test/llvm_autogenerated/return-int32.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "return_i32" $return_i32) (export "return_i32_twice" $return_i32_twice) diff --git a/test/llvm_autogenerated/return-void.wast b/test/llvm_autogenerated/return-void.wast index e8c9ba861..f2aa0eb37 100644 --- a/test/llvm_autogenerated/return-void.wast +++ b/test/llvm_autogenerated/return-void.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "return_void" $return_void) (export "return_void_twice" $return_void_twice) diff --git a/test/llvm_autogenerated/select.wast b/test/llvm_autogenerated/select.wast index 0bb26d95f..b8c32c86e 100644 --- a/test/llvm_autogenerated/select.wast +++ b/test/llvm_autogenerated/select.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "select_i32_bool" $select_i32_bool) (export "select_i32_eq" $select_i32_eq) diff --git a/test/llvm_autogenerated/signext-zeroext.wast b/test/llvm_autogenerated/signext-zeroext.wast index e7004abe8..f3534f9ba 100644 --- a/test/llvm_autogenerated/signext-zeroext.wast +++ b/test/llvm_autogenerated/signext-zeroext.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "z2s_func" $z2s_func) (export "s2z_func" $s2z_func) diff --git a/test/llvm_autogenerated/store-results.wast b/test/llvm_autogenerated/store-results.wast index dd974db29..c0969bf5f 100644 --- a/test/llvm_autogenerated/store-results.wast +++ b/test/llvm_autogenerated/store-results.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 " \04\00\00") - ) + (memory 1) + (data (i32.const 4) " \04\00\00") (export "memory" memory) (export "single_block" $single_block) (export "foo" $foo) diff --git a/test/llvm_autogenerated/store-trunc.wast b/test/llvm_autogenerated/store-trunc.wast index c337018bf..cf20bcd00 100644 --- a/test/llvm_autogenerated/store-trunc.wast +++ b/test/llvm_autogenerated/store-trunc.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "trunc_i8_i32" $trunc_i8_i32) (export "trunc_i16_i32" $trunc_i16_i32) diff --git a/test/llvm_autogenerated/store.wast b/test/llvm_autogenerated/store.wast index 1234d94a9..1017588b1 100644 --- a/test/llvm_autogenerated/store.wast +++ b/test/llvm_autogenerated/store.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (export "sti32" $sti32) (export "sti64" $sti64) diff --git a/test/llvm_autogenerated/switch.wast b/test/llvm_autogenerated/switch.wast index 78f9a2859..abd4045ae 100644 --- a/test/llvm_autogenerated/switch.wast +++ b/test/llvm_autogenerated/switch.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (type $FUNCSIG$v (func)) (import $foo0 "env" "foo0") diff --git a/test/llvm_autogenerated/unreachable.wast b/test/llvm_autogenerated/unreachable.wast index 8c9838b3d..27a783ccf 100644 --- a/test/llvm_autogenerated/unreachable.wast +++ b/test/llvm_autogenerated/unreachable.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (type $FUNCSIG$v (func)) (import $abort "env" "abort") diff --git a/test/llvm_autogenerated/unused-argument.wast b/test/llvm_autogenerated/unused-argument.wast index 318ef7a87..c212ea165 100644 --- a/test/llvm_autogenerated/unused-argument.wast +++ b/test/llvm_autogenerated/unused-argument.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (type $FUNCSIG$i (func (result i32))) (import $return_something "env" "return_something" (result i32)) diff --git a/test/llvm_autogenerated/userstack.wast b/test/llvm_autogenerated/userstack.wast index c2b38605e..216930a03 100644 --- a/test/llvm_autogenerated/userstack.wast +++ b/test/llvm_autogenerated/userstack.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (type $FUNCSIG$vi (func (param i32))) (import $ext_func "env" "ext_func" (param i32)) diff --git a/test/llvm_autogenerated/varargs.wast b/test/llvm_autogenerated/varargs.wast index d460e2efb..02b3f2202 100644 --- a/test/llvm_autogenerated/varargs.wast +++ b/test/llvm_autogenerated/varargs.wast @@ -1,7 +1,6 @@ (module - (memory 1 - (segment 4 "\10\04\00\00") - ) + (memory 1) + (data (i32.const 4) "\10\04\00\00") (export "memory" memory) (type $FUNCSIG$vi (func (param i32))) (import $callee "env" "callee" (param i32)) diff --git a/test/unit.wast b/test/unit.wast index 301ba719c..b18ba6fdf 100644 --- a/test/unit.wast +++ b/test/unit.wast @@ -1,7 +1,6 @@ (module - (memory 4096 4096 - (segment 1026 "\14\00") - ) + (memory 4096 4096) + (data (i32.const 1026) "\14\00") (type $FUNCSIG$vf (func (param f32))) (type $FUNCSIG$v (func)) (type $FUNCSIG$id (func (param f64) (result i32))) diff --git a/test/unit.wast.fromBinary b/test/unit.wast.fromBinary index c9ba4528b..495b3daed 100644 --- a/test/unit.wast.fromBinary +++ b/test/unit.wast.fromBinary @@ -1,7 +1,6 @@ (module - (memory 4096 4096 - (segment 1026 "\14\00") - ) + (memory 4096 4096) + (data (i32.const 1026) "\14\00") (type $0 (func (param f32))) (type $1 (func)) (type $2 (func (param f64) (result i32))) |