zig/std
Andrew Kelley 445b03384a introduce std.heap.ArenaAllocator and std.heap.DirectAllocator
* DirectAllocator does the underlying syscall for every allocation.
 * ArenaAllocator takes another allocator as an argument and
   allocates bytes up front, falling back to DirectAllocator with
   increasingly large allocation sizes, to avoid calling it too often.
   Then the entire arena can be freed at once.

The self hosted parser is updated to take advantage of ArenaAllocator
for the AST that it returns. This significantly reduces the complexity
of cleanup code.

docgen and build runner are updated to use the combination of
ArenaAllocator and DirectAllocator instead of IncrementingAllocator,
which is now deprecated in favor of FixedBufferAllocator combined
with DirectAllocator.

The C allocator calls aligned_alloc instead of malloc, in order to
respect the alignment parameter.

Added asserts in Allocator to ensure that implementors of the
interface return slices of the correct size.

Fixed a bug in Allocator when you call realloc to grow the allocation.
2018-02-12 02:14:44 -05:00
..
c introduce std.heap.ArenaAllocator and std.heap.DirectAllocator 2018-02-12 02:14:44 -05:00
crypto *WIP* error sets converting std lib 2018-01-31 22:48:40 -05:00
debug std.os and std.io API update 2018-02-10 21:02:24 -05:00
fmt Merge remote-tracking branch 'origin/master' into error-sets 2018-02-08 20:45:26 -05:00
math *WI* error sets - basic support working 2018-02-02 14:26:14 -05:00
os introduce std.heap.ArenaAllocator and std.heap.DirectAllocator 2018-02-12 02:14:44 -05:00
special introduce std.heap.ArenaAllocator and std.heap.DirectAllocator 2018-02-12 02:14:44 -05:00
zig introduce std.heap.ArenaAllocator and std.heap.DirectAllocator 2018-02-12 02:14:44 -05:00
array_list.zig Merge remote-tracking branch 'origin/master' into error-sets 2018-02-08 20:45:26 -05:00
base64.zig *WIP* error sets - support fns called at comptime 2018-02-03 11:51:29 -05:00
buf_map.zig *WIP* error sets converting std lib 2018-01-31 22:48:40 -05:00
buf_set.zig *WIP* error sets converting std lib 2018-01-31 22:48:40 -05:00
buffer.zig *WIP* error sets converting std lib 2018-01-31 22:48:40 -05:00
build.zig std.os and std.io API update 2018-02-10 21:02:24 -05:00
cstr.zig std.os and std.io API update 2018-02-10 21:02:24 -05:00
dwarf.zig better stack traces for ELF x86_64 2017-04-24 12:14:45 -04:00
elf.zig std.os and std.io API update 2018-02-10 21:02:24 -05:00
empty.zig recognize ar program and pass --gc-sections to ld 2016-05-11 14:44:10 -07:00
endian.zig syntax: functions require return type. remove `->` 2018-01-25 04:10:11 -05:00
hash_map.zig *WIP* error sets converting std lib 2018-01-31 22:48:40 -05:00
heap.zig introduce std.heap.ArenaAllocator and std.heap.DirectAllocator 2018-02-12 02:14:44 -05:00
index.zig self hosted compiler: move tokenization and parsing to std lib 2018-02-09 13:08:02 -05:00
io.zig std.os and std.io API update 2018-02-10 21:02:24 -05:00
io_test.zig std.os and std.io API update 2018-02-10 21:02:24 -05:00
linked_list.zig *WIP* error sets converting std lib 2018-01-31 22:48:40 -05:00
mem.zig introduce std.heap.ArenaAllocator and std.heap.DirectAllocator 2018-02-12 02:14:44 -05:00
net.zig *WIP* error sets converting std lib 2018-01-31 22:48:40 -05:00
rand.zig syntax: functions require return type. remove `->` 2018-01-25 04:10:11 -05:00
rand_test.zig std: add tests for mt32 and mt64 2016-07-28 20:14:57 -07:00
sort.zig syntax: functions require return type. remove `->` 2018-01-25 04:10:11 -05:00
unicode.zig *WIP* error sets converting std lib 2018-01-31 22:48:40 -05:00