| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2024-07-16 | Type,Value: mark `ResolveStrat` parameter of type queries as `comptime` | mlugg | |
| This eliminates the statically-reachable recursion loop between code generation backends and Sema. This is beneficial for optimizers (although I do not measure any performance improvement for this change), and for profilers. | |||
| 2024-07-16 | InternPool: reduce max tid width by one bit | Jacob Young | |
| @mlugg keeps stealing my bits! | |||
| 2024-07-15 | frontend: move updateZirRefs to be single-threaded | Andrew Kelley | |
| for simplicity's sake. This makes it O(M) instead of O(N*M) where N is tracked insts and M is number of changed source files. | |||
| 2024-07-14 | frontend: add -fincremental, -fno-incremental flag | Andrew Kelley | |
| Remove --debug-incremental This flag is also added to the build system. Importantly, this tells Compile step whether or not to keep the compiler running between rebuilds. It defaults off because it is currently crashing zirUpdateRefs. | |||
| 2024-07-14 | make zig compiler processes live across rebuilds | Andrew Kelley | |
| Changes the `make` function signature to take an options struct, which additionally includes `watch: bool`. I intentionally am not exposing this information to configure phase logic. Also adds global zig cache to the compiler cache prefixes. Closes #20600 | |||
| 2024-07-13 | Compilation: introduce work stages for better work distribution | Jacob Young | |
| 2024-07-13 | InternPool: add and use a mutate mutex for each list | Jacob Young | |
| This allows the mutate mutex to only be locked during actual grows, which are rare. For the lists that didn't previously have a mutex, this change has little effect since grows are rare and there is zero contention on a mutex that is only ever locked by one thread. This change allows `extra` to be mutated without racing with a grow. | |||
| 2024-07-12 | frontend: add file system inputs for incremental cache mode | Andrew Kelley | |
| These are also used for whole cache mode in the case that any compile errors are emitted. | |||
| 2024-07-10 | InternPool: make `global_error_set` thread-safe | Jacob Young | |
| 2024-07-10 | InternPool: make `tracked_insts` thread-safe | Jacob Young | |
| 2024-07-10 | InternPool: make `files` more thread-safe | Jacob Young | |
| 2024-07-10 | InternPool: fix undefined decl fully qualified name | Jacob Young | |
| This is now possible after moving `File.Index` to `*File` mapping into intern pool. | |||
| 2024-07-10 | InternPool: add `FileIndex` to `*File` mapping | Jacob Young | |
| 2024-07-10 | Air: store param names directly instead of referencing Zir | mlugg | |
| 2024-07-10 | Zcu: cache fully qualified name on Decl | Jacob Young | |
| This avoids needing to mutate the intern pool from backends. | |||
| 2024-07-09 | Merge pull request #20561 from jacobly0/debug-segfaults | Andrew Kelley | |
| debug: prevent segfaults on linux | |||
| 2024-07-09 | InternPool: implement thread-safe allocated lists | Jacob Young | |
| 2024-07-09 | Zcu: fix passing exported decls with compile errors to the backend | mlugg | |
| 2024-07-08 | Compilation: put supported codegen backends on a separate thread | Jacob Young | |
| (There are no supported backends.) | |||
| 2024-07-07 | InternPool: implement and use thread-safe list for extra and limbs | Jacob Young | |
| 2024-07-07 | InternPool: temporarily disable multi-threaded behavior | Jacob Young | |
| This reduces the cost of the new data structure until the multi-threaded behavior is actually used. | |||
| 2024-07-07 | InternPool: implement and use thread-safe list for items | Jacob Young | |
| 2024-07-07 | InternPool: implement and use thread-safe list for strings | Jacob Young | |
| 2024-07-07 | Zcu: pass `PerThread` to intern pool string functions | Jacob Young | |
| 2024-07-07 | Zcu: introduce `PerThread` and pass to all the functions | Jacob Young | |
