aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/llvm.zig
diff options
context:
space:
mode:
authorRyan Liptak <squeek502@hotmail.com>2021-11-01 00:54:04 -0700
committerAndrew Kelley <andrew@ziglang.org>2021-11-04 14:54:25 -0400
commite97feb96e4daf7d53538c9c8773d50459a59e5ee (patch)
tree33474da46590a20370d970d033a3123b620b2f81 /src/codegen/llvm.zig
parentd03e9d0b8347a74d674bdafadb71e7ddd8fdfad1 (diff)
downloadzig-e97feb96e4daf7d53538c9c8773d50459a59e5ee.tar.gz
zig-e97feb96e4daf7d53538c9c8773d50459a59e5ee.zip
Replace ArrayList.init/ensureTotalCapacity pairs with initCapacity
Because ArrayList.initCapacity uses 'precise' capacity allocation, this should save memory on average, and definitely will save memory in cases where ArrayList is used where a regular allocated slice could have also be used.
Diffstat (limited to 'src/codegen/llvm.zig')
-rw-r--r--src/codegen/llvm.zig6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/codegen/llvm.zig b/src/codegen/llvm.zig
index 683ee9b95b..c59c9058ba 100644
--- a/src/codegen/llvm.zig
+++ b/src/codegen/llvm.zig
@@ -849,8 +849,7 @@ pub const DeclGen = struct {
assert(struct_obj.haveFieldTypes());
- var llvm_field_types: std.ArrayListUnmanaged(*const llvm.Type) = .{};
- try llvm_field_types.ensureTotalCapacity(gpa, struct_obj.fields.count());
+ var llvm_field_types = try std.ArrayListUnmanaged(*const llvm.Type).initCapacity(gpa, struct_obj.fields.count());
defer llvm_field_types.deinit(gpa);
for (struct_obj.fields.values()) |field| {
@@ -1251,8 +1250,7 @@ pub const DeclGen = struct {
const field_vals = tv.val.castTag(.@"struct").?.data;
const gpa = self.gpa;
- var llvm_fields: std.ArrayListUnmanaged(*const llvm.Value) = .{};
- try llvm_fields.ensureTotalCapacity(gpa, field_vals.len);
+ var llvm_fields = try std.ArrayListUnmanaged(*const llvm.Value).initCapacity(gpa, field_vals.len);
defer llvm_fields.deinit(gpa);
for (field_vals) |field_val, i| {