luau/Ast/include/Luau
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
..
Ast.h Sync to upstream/release/598 (#1063) 2023-10-06 12:02:32 -07:00
Confusables.h Sync to upstream/release/501 (#20) 2021-11-01 14:52:34 -07:00
Lexer.h Sync to upstream/release/598 (#1063) 2023-10-06 12:02:32 -07:00
Location.h Sync to upstream/release/584 (#977) 2023-07-14 11:08:53 -07:00
ParseOptions.h Sync to upstream/release/575 (#919) 2023-05-05 14:52:49 -07:00
Parser.h Sync to upstream/release/598 (#1063) 2023-10-06 12:02:32 -07:00
ParseResult.h Sync to upstream/release/551 (#727) 2022-10-28 03:37:29 -07:00
StringUtils.h Sync to upstream/release/549 (#707) 2022-10-14 12:48:41 -07:00
TimeTrace.h Sync to upstream/release/583 (#974) 2023-07-07 13:10:48 -07:00