diff --git a/src/codegen/wasm/Emit.zig b/src/codegen/wasm/Emit.zig index 81bf1e1315362d5b4dd4928b29f76dc5ab1f41f0..ccc75b9b536871e5010f1a5155cdd0ae4abf9301 100644 --- a/src/codegen/wasm/Emit.zig +++ b/src/codegen/wasm/Emit.zig @@ -978,7 +978,7 @@ fn uavRefExe(wasm: *Wasm, code: *ArrayList(u8), value: InternPool.Index, offset: code.appendAssumeCapacity(@backingInt(opcode)); const addr = wasm.uavAddr(value); - writeUleb128(code, @as(u32, @intCast(@as(i64, addr) + offset))); + writeSleb128(code, @as(u32, @intCast(@as(i64, addr) + offset))); } fn navRefOff(wasm: *Wasm, code: *ArrayList(u8), data: Mir.NavRefOff, is_wasm32: bool) !void { @@ -1004,7 +1004,7 @@ fn navRefOff(wasm: *Wasm, code: *ArrayList(u8), data: Mir.NavRefOff, is_wasm32: code.appendNTimesAssumeCapacity(0, if (is_wasm32) 5 else 10); } else { const addr = wasm.navAddr(data.nav_index); - writeUleb128(code, @as(u32, @intCast(@as(i64, addr) + data.offset))); + writeSleb128(code, @as(u32, @intCast(@as(i64, addr) + data.offset))); } } diff --git a/src/link/Wasm/Flush.zig b/src/link/Wasm/Flush.zig index 410ebb7e4434595ecbe1353810235ad1f6b468b2..ac580f9bbc5656362185489f457f15b387605a68 100644 --- a/src/link/Wasm/Flush.zig +++ b/src/link/Wasm/Flush.zig @@ -2032,8 +2032,7 @@ fn appendGlobal(gpa: Allocator, bytes: *ArrayList(u8), mutable: u8, val: u32) Al try bytes.ensureUnusedCapacity(gpa, 9); bytes.appendAssumeCapacity(@backingInt(std.wasm.Valtype.i32)); bytes.appendAssumeCapacity(mutable); - bytes.appendAssumeCapacity(@backingInt(std.wasm.Opcode.i32_const)); - appendReservedUleb32(bytes, val); + appendReservedI32Const(bytes, val); bytes.appendAssumeCapacity(@backingInt(std.wasm.Opcode.end)); }