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
testing
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
atomic.zig
base64.zig
bloom_filter.zig Add mips support to standard library 2020-04-24 15:28:55 -04:00
buf_map.zig
buf_set.zig
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
cstr.zig
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
dynamic_library.zig fix regressions in windows std lib tests 2020-05-02 01:25:22 -04:00
elf.zig
event.zig
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
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
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
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
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
sort.zig sort.binarySearch: Remove unneeded edge case check 2020-04-09 09:13:47 +01:00
spinlock.zig
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
unicode.zig Add mips support to standard library 2020-04-24 15:28:55 -04:00
valgrind.zig
zig.zig add ZIR compare output test case to test suite 2020-05-01 06:47:20 -04:00