[clang] [libunwind] [llvm] [wasm] Toolchain support for `wasm32-wali-linux-musl` target (PR #156087)
Arjun Ramesh via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 29 22:32:24 PDT 2025
================
@@ -1200,6 +1225,36 @@ void Writer::createSyntheticInitFunctions() {
}
}
+void Writer::createMemoryGrowFunction() {
+ LLVM_DEBUG(dbgs() << "createMemoryGrowFunction\n");
+ assert(ctx.sym.memoryGrow);
+ std::string bodyContent;
+ {
+ raw_string_ostream os(bodyContent);
+ writeUleb128(os, 0, "num locals");
+ writeU8(os, WASM_OPCODE_LOCAL_GET, "local.get");
+ writeUleb128(os, 0, "local 0");
+ writeU8(os, WASM_OPCODE_MEMORY_GROW, "memory grow");
+ writeUleb128(os, 0, "reserved memory byte");
+ writeU8(os, WASM_OPCODE_END, "END");
+ }
+ createFunction(ctx.sym.memoryGrow, bodyContent);
+}
+
+void Writer::createMemorySizeFunction() {
+ LLVM_DEBUG(dbgs() << "createMemorySizeFunction\n");
+ assert(ctx.sym.memorySize);
+ std::string bodyContent;
+ {
+ raw_string_ostream os(bodyContent);
+ writeUleb128(os, 0, "num locals");
+ writeU8(os, WASM_OPCODE_MEMORY_SIZE, "memory size");
+ writeUleb128(os, 0, "reserved memory byte");
+ writeU8(os, WASM_OPCODE_END, "END");
+ }
+ createFunction(ctx.sym.memorySize, bodyContent);
----------------
arjunr2 wrote:
Good point. Moved everything out of the linker, which now has no changes.
https://github.com/llvm/llvm-project/pull/156087
More information about the llvm-commits
mailing list