diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2024-12-18 22:11:20 -0800 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2025-01-15 15:11:36 -0800 |
| commit | 4f8a6b0888c8d1df87d254b68344bb99edcfe57c (patch) | |
| tree | 2685575e3ef8de7a9134e8a35a9067a67d8d365c /src/codegen.zig | |
| parent | 5fac6f380ef77a7650047c65450aec0d3215da2d (diff) | |
| download | zig-4f8a6b0888c8d1df87d254b68344bb99edcfe57c.tar.gz zig-4f8a6b0888c8d1df87d254b68344bb99edcfe57c.zip | |
wasm linker: implement data fixups
one hash table lookup per fixup
Diffstat (limited to 'src/codegen.zig')
| -rw-r--r-- | src/codegen.zig | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/codegen.zig b/src/codegen.zig index df88682466..3971d8f521 100644 --- a/src/codegen.zig +++ b/src/codegen.zig @@ -674,8 +674,9 @@ fn lowerUavRef( .addend = @intCast(offset), }); } else { - try wasm.uav_fixups.append(gpa, .{ - .ip_index = uav.val, + try wasm.uav_fixups.ensureUnusedCapacity(gpa, 1); + wasm.uav_fixups.appendAssumeCapacity(.{ + .uavs_exe_index = try wasm.refUavExe(pt, uav.val), .offset = @intCast(code.items.len), }); } @@ -745,8 +746,9 @@ fn lowerNavRef( .addend = @intCast(offset), }); } else { - try wasm.nav_fixups.append(gpa, .{ - .nav_index = nav_index, + try wasm.nav_fixups.ensureUnusedCapacity(gpa, 1); + wasm.nav_fixups.appendAssumeCapacity(.{ + .navs_exe_index = try wasm.refNavExe(nav_index), .offset = @intCast(code.items.len), }); } |
