aboutsummaryrefslogtreecommitdiff
path: root/src/hash_map.hpp
diff options
context:
space:
mode:
authorMichael Dusan <michael.dusan@gmail.com>2020-02-10 21:08:08 -0500
committerMichael Dusan <michael.dusan@gmail.com>2020-02-10 21:08:08 -0500
commitedb210905dcbe666fa5222bceacd2e5bdb16bb89 (patch)
tree984aec0e5bad756daf426855c54bae3c42c73eca /src/hash_map.hpp
parent1cdefeb10b7496126bbb7d00709235abfee56a4a (diff)
downloadzig-edb210905dcbe666fa5222bceacd2e5bdb16bb89.tar.gz
zig-edb210905dcbe666fa5222bceacd2e5bdb16bb89.zip
stage1: memory/report overhaul
- split util_base.hpp from util.hpp - new namespaces: `mem` and `heap` - new `mem::Allocator` interface - new `heap::CAllocator` impl with global `heap::c_allocator` - new `heap::ArenaAllocator` impl - new `mem::TypeInfo` extracts names without RTTI - name extraction is enabled w/ ZIG_ENABLE_MEM_PROFILE=1 - new `mem::List` takes explicit `Allocator&` parameter - new `mem::HashMap` takes explicit `Allocator&` parameter - add Codegen.pass1_arena and use for all `ZigValue` allocs - deinit Codegen.pass1_arena early in `zig_llvm_emit_output()`
Diffstat (limited to 'src/hash_map.hpp')
-rw-r--r--src/hash_map.hpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/hash_map.hpp b/src/hash_map.hpp
index e819ea1c10..69e5568093 100644
--- a/src/hash_map.hpp
+++ b/src/hash_map.hpp
@@ -19,7 +19,7 @@ public:
init_capacity(capacity);
}
void deinit(void) {
- free(_entries);
+ heap::c_allocator.deallocate(_entries, _capacity);
}
struct Entry {
@@ -57,7 +57,7 @@ public:
if (old_entry->used)
internal_put(old_entry->key, old_entry->value);
}
- free(old_entries);
+ heap::c_allocator.deallocate(old_entries, old_capacity);
}
}
@@ -164,7 +164,7 @@ private:
void init_capacity(int capacity) {
_capacity = capacity;
- _entries = allocate<Entry>(_capacity);
+ _entries = heap::c_allocator.allocate<Entry>(_capacity);
_size = 0;
_max_distance_from_start_index = 0;
for (int i = 0; i < _capacity; i += 1) {