| ... | ... | @@ -8396,6 +8396,50 @@ pub fn init(options: Options) Allocator.Error!Builder { |
| 8396 | 8396 | return self; |
| 8397 | 8397 | } |
| 8398 | 8398 | |
| 8399 | pub fn clearAndFree(self: *Builder) void { |
| 8400 | self.module_asm.clearAndFree(self.gpa); |
| 8401 | |
| 8402 | self.string_map.clearAndFree(self.gpa); |
| 8403 | self.string_indices.clearAndFree(self.gpa); |
| 8404 | self.string_bytes.clearAndFree(self.gpa); |
| 8405 | |
| 8406 | self.types.clearAndFree(self.gpa); |
| 8407 | self.next_unique_type_id.clearAndFree(self.gpa); |
| 8408 | self.type_map.clearAndFree(self.gpa); |
| 8409 | self.type_items.clearAndFree(self.gpa); |
| 8410 | self.type_extra.clearAndFree(self.gpa); |
| 8411 | |
| 8412 | self.attributes.clearAndFree(self.gpa); |
| 8413 | self.attributes_map.clearAndFree(self.gpa); |
| 8414 | self.attributes_indices.clearAndFree(self.gpa); |
| 8415 | self.attributes_extra.clearAndFree(self.gpa); |
| 8416 | |
| 8417 | self.function_attributes_set.clearAndFree(self.gpa); |
| 8418 | |
| 8419 | self.globals.clearAndFree(self.gpa); |
| 8420 | self.next_unique_global_id.clearAndFree(self.gpa); |
| 8421 | self.aliases.clearAndFree(self.gpa); |
| 8422 | self.variables.clearAndFree(self.gpa); |
| 8423 | for (self.functions.items) |*function| function.deinit(self.gpa); |
| 8424 | self.functions.clearAndFree(self.gpa); |
| 8425 | |
| 8426 | self.constant_map.clearAndFree(self.gpa); |
| 8427 | self.constant_items.shrinkAndFree(self.gpa, 0); |
| 8428 | self.constant_extra.clearAndFree(self.gpa); |
| 8429 | self.constant_limbs.clearAndFree(self.gpa); |
| 8430 | |
| 8431 | self.metadata_map.clearAndFree(self.gpa); |
| 8432 | self.metadata_items.shrinkAndFree(self.gpa, 0); |
| 8433 | self.metadata_extra.clearAndFree(self.gpa); |
| 8434 | self.metadata_limbs.clearAndFree(self.gpa); |
| 8435 | self.metadata_forward_references.clearAndFree(self.gpa); |
| 8436 | self.metadata_named.clearAndFree(self.gpa); |
| 8437 | |
| 8438 | self.metadata_string_map.clearAndFree(self.gpa); |
| 8439 | self.metadata_string_indices.clearAndFree(self.gpa); |
| 8440 | self.metadata_string_bytes.clearAndFree(self.gpa); |
| 8441 | } |
| 8442 | |
| 8399 | 8443 | pub fn deinit(self: *Builder) void { |
| 8400 | 8444 | self.module_asm.deinit(self.gpa); |
| 8401 | 8445 | |