zig/lib/std
Andrew Kelley a32d3a85d2 rework self-hosted compiler for incremental builds
* introduce std.ArrayListUnmanaged for when you have the allocator
   stored elsewhere
 * move std.heap.ArenaAllocator implementation to its own file. extract
   the main state into std.heap.ArenaAllocator.State, which can be
   stored as an alternative to storing the entire ArenaAllocator, saving
   24 bytes per ArenaAllocator on 64 bit targets.
 * std.LinkedList.Node pointer field now defaults to being null
   initialized.
 * Rework self-hosted compiler Package API
 * Delete almost all the bitrotted self-hosted compiler code. The only bit
   rotted code left is in main.zig and compilation.zig
 * Add call instruction to ZIR
 * self-hosted compiler ir API and link API are reworked to support
   a long-running compiler that incrementally updates declarations
 * Introduce the concept of scopes to ZIR semantic analysis
 * ZIR text format supports referencing named decls that are declared
   later in the file
 * Figure out how memory management works for the long-running compiler
   and incremental compilation. The main roots are top level
   declarations. There is a table of decls. The key is a cryptographic
   hash of the fully qualified decl name. Each decl has an arena
   allocator where all of the memory related to that decl is stored.
   Each code block has its own arena allocator for the lifetime of
   the block. Values that want to survive when going out of scope in
   a block must get copied into the outer block. Finally, values must
   get copied into the Decl arena to be long-lived.
 * Delete the unused MemoryCell struct. Instead, comptime pointers are
   based on references to Decl structs.
 * Figure out how caching works. Each Decl will store a set of other
   Decls which must be recompiled when it changes.

This branch is still work-in-progress; this commit breaks the build.
2020-05-10 02:05:54 -04:00
..
atomic Adds some documentation to std.atomic.Queue. 2020-04-04 13:47:07 -04:00
build Update emit_raw.zig 2020-04-14 16:19:01 -04:00
c Add arc4random_buf() in NetBSD libc, use it to implement getrandom() 2020-05-01 17:22:27 +01:00
crypto Add mips support to standard library 2020-04-24 15:28:55 -04:00
debug std.meta.IntType -> std.meta.Int 2020-04-28 19:11:31 -06:00
event Merge remote-tracking branch 'origin/master' into FireFox317-windows-evented-io 2020-05-02 14:16:59 -04:00
fmt std.meta.IntType -> std.meta.Int 2020-04-28 19:11:31 -06:00
fs Merge remote-tracking branch 'origin/master' into FireFox317-windows-evented-io 2020-05-02 14:16:59 -04:00
hash std.meta.IntType -> std.meta.Int 2020-04-28 19:11:31 -06:00
heap rework self-hosted compiler for incremental builds 2020-05-10 02:05:54 -04:00
http ArrayList: remove old (before span) API 2020-04-11 20:40:34 -04:00
io std.meta.IntType -> std.meta.Int 2020-04-28 19:11:31 -06:00
json Add mips support to standard library 2020-04-24 15:28:55 -04:00
math fix off-by-one error in sizeInBaseUpperBound 2020-05-01 13:33:46 -04:00
meta std lib fixups for new semantics 2020-03-19 09:53:55 -04:00
net Replace fmt with new fmtstream 2020-03-12 10:41:09 -05:00
os solve the problem with Darwin shims in std.os instead 2020-05-02 17:36:28 -04:00
rand ziggurat uses `@truncate` instead of `& 0xff` 2020-04-18 14:41:33 -04:00
special std.meta.IntType -> std.meta.Int 2020-04-28 19:11:31 -06:00
target Merge remote-tracking branch 'origin/master' into llvm10 2020-03-03 09:44:13 -05:00
testing Add explicit error message for too many frees 2020-01-30 01:12:21 -06:00
time
unicode Update all remaining uses of &outStream().stream 2020-04-03 12:12:23 -04:00
valgrind
zig add test coverage for top level fields 2020-05-02 14:53:20 -04:00
array_list.zig rework self-hosted compiler for incremental builds 2020-05-10 02:05:54 -04:00
array_list_sentineled.zig new ArrayList API: fix std.ArrayListSentineled 2020-04-02 15:14:28 +02:00
ascii.zig Switch a bunch of FBA to use testing.allocator 2020-02-12 17:17:56 -06:00
atomic.zig
base64.zig
bloom_filter.zig Add mips support to standard library 2020-04-24 15:28:55 -04:00
buf_map.zig Fix BufMap value leak 2020-01-29 22:22:01 -06:00
buf_set.zig Convert a bunch of page_allocator to testing.allocator 2020-01-29 22:22:01 -06:00
build.zig add missing const to pkg dependencies 2020-04-27 18:29:55 -04:00
builtin.zig rename mem.separate to mem.split 2020-04-04 17:37:51 -04:00
c.zig Fixed Darwin-incompatible socket flags and unavailable system calls 2020-05-02 16:37:39 -04:00
child_process.zig update windows impl of child process to new File API 2020-05-02 04:31:26 -04:00
coff.zig new ArrayList API: fix everything else 2020-04-02 16:12:08 +02:00
crypto.zig hashing algorithms: fix logic and index out of bounds 2020-02-24 13:43:54 -05:00
cstr.zig breaking: std.mem.len no longer takes a type argument 2020-03-01 13:21:39 -05:00
debug.zig std.event.Loop: promote the fs thread to be available for all OS's 2020-05-02 00:41:19 -04:00
dwarf.zig debug: Fix parsing of DWARF info for BE machines 2020-04-10 14:59:19 -04:00
dwarf_bits.zig debug: Split the DWARF stuff in its own file 2020-02-20 19:41:28 +01:00
dynamic_library.zig fix regressions in windows std lib tests 2020-05-02 01:25:22 -04:00
elf.zig fix regressions in elf parsing code 2020-03-11 17:34:12 -04:00
event.zig self-hosted libc detection 2020-02-16 13:25:30 -05:00
fifo.zig std: add LinearFifo().inStream 2020-04-02 21:14:15 +11:00
fmt.zig rework std.math.big.Int 2020-05-01 06:47:56 -04:00
fs.zig Merge remote-tracking branch 'origin/master' into FireFox317-windows-evented-io 2020-05-02 14:16:59 -04:00
hash.zig
hash_map.zig Add mips support to standard library 2020-04-24 15:28:55 -04:00
heap.zig rework self-hosted compiler for incremental builds 2020-05-10 02:05:54 -04:00
http.zig
io.zig cleanup and fixes. behavior tests passing with evented I/O 2020-05-01 23:17:28 -04:00
json.zig Fix issue with std.json incorrectly replacing forward slashes with a backslash (#5167) 2020-04-27 12:22:43 -04:00
linked_list.zig rework self-hosted compiler for incremental builds 2020-05-10 02:05:54 -04:00
macho.zig delete extra code, more forgiveness 2020-02-22 12:44:21 +01:00
math.zig ZIR: add cmp and condbr instructions 2020-05-01 06:47:20 -04:00
mem.zig Merge pull request #4683 from LakeByTheWoods/parser_test 2020-04-30 12:04:23 +03:00
meta.zig rename std.meta.IntType to std.meta.Int 2020-04-28 19:11:18 -06:00
mutex.zig introduce operating system version ranges as part of the target 2020-02-28 14:51:53 -05:00
net.zig solve the problem with Darwin shims in std.os instead 2020-05-02 17:36:28 -04:00
once.zig std: Introduce the Once synchronization primitive 2020-04-18 15:48:32 -04:00
os.zig solve the problem with Darwin shims in std.os instead 2020-05-02 17:36:28 -04:00
packed_int_array.zig std.meta.IntType -> std.meta.Int 2020-04-28 19:11:31 -06:00
pdb.zig cleanup and fixes. behavior tests passing with evented I/O 2020-05-01 23:17:28 -04:00
priority_queue.zig Promoted "leak_count_allocator" to the main testing.allocator 2020-01-29 22:22:00 -06:00
process.zig rename mem.separate to mem.split 2020-04-04 17:37:51 -04:00
progress.zig std.progress: handle error from FillConsoleOutputAttribute 2020-05-01 15:14:44 -04:00
rand.zig std.meta.IntType -> std.meta.Int 2020-04-28 19:11:31 -06:00
rb.zig rb: fix rb.Node.getLast() that never worked 2020-01-30 12:05:57 -05:00
reset_event.zig std.event.Loop: promote the fs thread to be available for all OS's 2020-05-02 00:41:19 -04:00
segmented_list.zig Convert a bunch of page_allocator to testing.allocator 2020-01-29 22:22:01 -06:00
sort.zig sort.binarySearch: Remove unneeded edge case check 2020-04-09 09:13:47 +01:00
spinlock.zig introduce operating system version ranges as part of the target 2020-02-28 14:51:53 -05:00
start.zig Add mips support to standard library 2020-04-24 15:28:55 -04:00
start_windows_tls.zig
std.zig rework self-hosted compiler for incremental builds 2020-05-10 02:05:54 -04:00
target.zig link: introduce the concept of output mode and link mode 2020-05-01 06:47:20 -04:00
testing.zig rework std.math.big.Int 2020-05-01 06:47:56 -04:00
thread.zig std: fix posix Thread.spawn to accept all startFn types 2020-04-25 16:15:25 -04:00
time.zig introduce operating system version ranges as part of the target 2020-02-28 14:51:53 -05:00
unicode.zig Add mips support to standard library 2020-04-24 15:28:55 -04:00
valgrind.zig short std.builtin enum literals in std lib 2020-03-01 13:57:41 -05:00
zig.zig add ZIR compare output test case to test suite 2020-05-01 06:47:20 -04:00