0.615
What's changed?
- Luau allocation scheme was changed to handle allocations in 513-1024 byte range internally without falling back to global allocator
- coroutine/thread creation no longer requires any global allocations, making it up to 15% faster (vs libc malloc)
- table construction for 17-32 keys or 33-64 array elements is up to 30% faster (vs libc malloc)
- luau-compile: Fix usage of vector-ctor without vector-lib by @zeux in #1172
New Type Solver
- Cyclic unary negation type families are reduced to
number
when possible - Class types are skipped when searching for free types in unifier to improve performance
- Fixed issues with table type inference when metatables are present
- Improved inference of iteration loop types
- Fixed an issue with bidirectional inference of method calls
- Type simplification will now preserve error suppression markers
Native Code Generation
- Fixed TAG_VECTOR skip optimization to not break instruction use counts (broken optimization wasn't included in 614)
- Fixed missing side-effect when optimizing generic loop preparation instruction
- Optimized vector ops for X64 when the source is computed by @zeux in #1174
Full Changelog: 0.614...0.615