luau/Compiler/src
Andy Friesen 36e0e64715
Sync to upstream/release/598 (#1063)
* Include `windows.h` rather than `Windows.h` to make things compile on
MinGW.
* Custom implementation of timegm/os.time for all platforms
* Disable builtin constant folding when getfenv/setfenv are used
* Fixes https://github.com/Roblox/luau/issues/1042
* Fixes https://github.com/Roblox/luau/issues/1043

New Type Checker

* Initial work toward type states.
* Rework most overloadable operators to use type families.
* Initial work toward our new nonstrict mode.


Native Codegen

* Fix native code generation for dead loops
* Annotate top-level functions as cold
* Slightly smaller/faster x64 Luau calls
* emitInstCall used to not set savedpc itself, but now it does for
consistency with all other implementations
* Implement cmov support for X64
* Fix assertion in luau-compile when module is empty
* Optimize A64 calls at some code size cost
* Inline constant array index offset into the load/store instruction
* Increase x64 spill slots from 5 to 13

---------

Co-authored-by: Arseny Kapoulkine <arseny.kapoulkine@gmail.com>
Co-authored-by: Vyacheslav Egorov <vegorov@roblox.com>
Co-authored-by: Lily Brown <lbrown@roblox.com>
Co-authored-by: Aaron Weiss <aaronweiss@roblox.com>
Co-authored-by: Alexander McCord <amccord@roblox.com>
2023-10-06 12:02:32 -07:00
..
BuiltinFolding.cpp Sync to upstream/release/589 (#1000) 2023-08-04 12:18:54 -07:00
BuiltinFolding.h Sync to upstream/release/589 (#1000) 2023-08-04 12:18:54 -07:00
Builtins.cpp Sync to upstream/release/592 (#1018) 2023-08-25 10:23:55 -07:00
Builtins.h Sync to upstream/release/588 (#992) 2023-07-28 08:13:53 -07:00
BytecodeBuilder.cpp Sync to upstream/release/598 (#1063) 2023-10-06 12:02:32 -07:00
Compiler.cpp Sync to upstream/release/598 (#1063) 2023-10-06 12:02:32 -07:00
ConstantFolding.cpp Sync to upstream/release/593 (#1024) 2023-09-01 10:58:27 -07:00
ConstantFolding.h Sync to upstream/release/589 (#1000) 2023-08-04 12:18:54 -07:00
CostModel.cpp Sync to upstream/release/591 (#1012) 2023-08-18 11:15:41 -07:00
CostModel.h Sync to upstream/release/536 (#592) 2022-07-14 15:52:26 -07:00
lcode.cpp Sync to upstream/release/505 (#216) 2021-11-19 08:10:07 -08:00
TableShape.cpp Sync to upstream/release/513 (#340) 2022-02-04 08:45:57 -08:00
TableShape.h Sync to upstream/release/510 (#313) 2022-01-14 08:20:09 -08:00
Types.cpp Sync to upstream/release/590 (#1008) 2023-08-11 07:42:37 -07:00
Types.h Sync to upstream/release/590 (#1008) 2023-08-11 07:42:37 -07:00
ValueTracking.cpp Use const char* const* over const char** (#1005) 2023-08-07 13:45:04 -07:00
ValueTracking.h Use const char* const* over const char** (#1005) 2023-08-07 13:45:04 -07:00