Kym Object Allocation Fix #13
|
@ -7,11 +7,11 @@ const math = @import("./math.zig");
|
|||
const std = @import("std");
|
||||
|
||||
///
|
||||
/// Addressable mapping of integer values of type described by `index_int` to values of type `Value`.
|
||||
/// Addressable mapping of integers described by `index_int` to values of type `Value`.
|
||||
///
|
||||
/// Slab maps are similar to slot maps in that they have O(1) insertion and removal, use a fragmented flat table
|
||||
/// structure instead. This reduces memory usage in some cases and can be useful for data that does not need to be
|
||||
/// quickly iterated over, as values ordering is not guaranteed.
|
||||
/// Slab maps are similar to slot maps in that they have O(1) insertion and removal, however, use a flat table layout
|
||||
/// instead of parallel arrays. This reduces memory usage in some cases and can be useful for data that does not need to
|
||||
/// be quickly iterated over, as values ordering is not guaranteed.
|
||||
///
|
||||
/// *Note* `index_int` values may be as big or as small as desired per the use-case of the consumer, however, integers
|
||||
/// smaller than `usize` may result in the map reporting it is out of memory due to exhausting the addressable space
|
||||
|
@ -37,7 +37,7 @@ pub fn Map(comptime index_int: std.builtin.Type.Int, comptime Value: type) type
|
|||
const Index = math.Int(index_int);
|
||||
|
||||
///
|
||||
/// Slab type.
|
||||
/// Slab map type.
|
||||
///
|
||||
const Self = @This();
|
||||
|
||||
|
@ -78,6 +78,7 @@ pub fn Map(comptime index_int: std.builtin.Type.Int, comptime Value: type) type
|
|||
|
||||
self.table = &.{};
|
||||
self.count = 0;
|
||||
kayomn marked this conversation as resolved
|
||||
self.free_index = 0;
|
||||
}
|
||||
|
||||
///
|
||||
|
|
Loading…
Reference in New Issue
free_index
should be reset in here as well, otherwise re-uses of the data structure in future will have a corrupt initial state.