dev-2023-02
gingerBill
released this
03 Feb 11:28
·
5539 commits
to master
since this release
New Language Features
Compiler Improvements
Compile Time Speed Optimizations
- Multithreaded frontend by default
- Using the new and improved work stealing thread pool system
- Fix numerous race conditions
- Replace many instances of MPMC queues with MPSC queues
- Replace many instances of
BlockingMutex
withRwMutex
- Replace many instances of
RecursiveMutex
withBlockingMutex
- Multithread backend when the experimental
-use-separate-modules
is used-use-separate-modules
turns each package into a separate translation unit (object file) and then links them all together. This allows LLVM be multithreaded at the translation unit stage (LLVM Module).-use-separate-modules
will not produce as good code compared to without it because of the multiple translation units.
- Improvements to the hash table related structures (
StringMap
,StringSet
,PtrMap
,PtrSet
) - Big improvement to compile times due to the above improvements
General fixes
- Improved type inference for ternary if expressions
- Remove
auto_cast
from procedure parameters - Fix bug with built-in matrix transpose caused by misalignment of the value
- Fix valgrind assembly generation
- Allow
when
statements withinforeign
blocks at the file scope
New Packages
Package Improvements
core:mem/virtual
Arena_Temp
improvementsarena_temp_ignore
allowing for ignoring of a temporary section if necessary
- Numerous bug fixes