diff options
| author | Luuk de Gram <luuk@degram.dev> | 2022-03-03 19:10:58 +0100 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2022-03-03 16:33:46 -0700 |
| commit | 43cb19ea4da63dcaa8a18a06e3ab23f1c822c1fe (patch) | |
| tree | cb5cb5fd83ddb948f5d3fddc7819849fb2154006 /src/codegen/llvm.zig | |
| parent | ec4c30ae483e6700a1fd1d5edaadbb042790c52e (diff) | |
| download | zig-43cb19ea4da63dcaa8a18a06e3ab23f1c822c1fe.tar.gz zig-43cb19ea4da63dcaa8a18a06e3ab23f1c822c1fe.zip | |
wasm: Implement `@wasmMemoryGrow` builtin
Similarly to the other wasm builtin, this implements the grow variation where the memory
index is a comptime known value. The operand as well as the result are runtime values.
This also verifies during semantic analysis the target we're building for is wasm, or else
emits a compilation error. This means that other backends do not have to handle this AIR instruction,
other than the wasm and LLVM backends.
Diffstat (limited to 'src/codegen/llvm.zig')
| -rw-r--r-- | src/codegen/llvm.zig | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig index a22d8e01b0..3e1be05d55 100644 --- a/src/codegen/llvm.zig +++ b/src/codegen/llvm.zig @@ -3478,7 +3478,12 @@ pub const FuncGen = struct { fn airWasmMemorySize(self: *FuncGen, inst: Air.Inst.Index) !?*const llvm.Value { _ = inst; - return self.todo("`@wasmMemorySize()`", .{}); + return self.todo("implement builtin `@wasmMemorySize()`", .{}); + } + + fn airWasmMemoryGrow(self: *FuncGen, inst: Air.Inst.Index) !?*const llvm.Value { + _ = inst; + return self.todo("implement builtin `@wasmMemoryGrow()`", .{}); } fn airMin(self: *FuncGen, inst: Air.Inst.Index) !?*const llvm.Value { |
