luau/CodeGen/src
Andy Friesen 25cc75b096 * Progress toward a diffing algorithm for types. We hope that this will be useful for writing clearer error messages.
* Add a missing recursion limiter in `Unifier::tryUnifyTables`.  This was causing a crash in certain situations.
* Luau heap graph enumeration improvements:
    * Weak references are not reported
    * Added tag as a fallback name of non-string table links
    * Included top Luau function information in thread name to understand where thread might be suspended
* Constant folding for `math.pi` and `math.huge` at -O2
* Optimize `string.format` and `%*`
    * This change makes string interpolation 1.5x-2x faster depending on the number and type of formatted components, assuming a few are using primitive types, and reduces associated GC pressure.

New solver

* Initial work toward tracking the upper and lower bounds of types more accurately.

JIT

* Add IrCmd::CHECK_TRUTHY for improved assert fast-calls
* Do not compute type map for modules without types
* Capture metatable+readonly state for NEW_TABLE IR instructions
* Replace JUMP_CMP_ANY with CMP_ANY and existing JUMP_EQ_INT
* Add support for exits to VM with reentry lock in VmExit
2023-08-04 10:01:35 -07:00
..
AssemblyBuilderA64.cpp Sync to upstream/release/580 2023-06-09 15:20:36 +03:00
AssemblyBuilderX64.cpp Sync to upstream/release/581 2023-06-16 10:01:18 -07:00
BitUtils.h Sync to upstream/release/574 2023-04-28 14:55:55 +03:00
ByteUtils.h Sync to upstream/release/550 2022-10-21 10:33:43 -07:00
CodeAllocator.cpp Sync to upstream/release/581 2023-06-16 10:01:18 -07:00
CodeBlockUnwind.cpp Sync to upstream/release/584 2023-07-14 08:57:16 -07:00
CodeGen.cpp Sync to upstream/release/588 2023-07-28 14:37:00 +03:00
CodeGenA64.cpp Sync to upstream/release/583 2023-07-07 10:14:35 -07:00
CodeGenA64.h Sync to upstream/release/572 2023-04-14 15:05:27 +03:00
CodeGenAssembly.cpp Sync to upstream/release/584 2023-07-14 08:57:16 -07:00
CodeGenLower.h Sync to upstream/release/584 2023-07-14 08:57:16 -07:00
CodeGenUtils.cpp * Progress toward a diffing algorithm for types. We hope that this will be useful for writing clearer error messages. 2023-08-04 10:01:35 -07:00
CodeGenUtils.h * Progress toward a diffing algorithm for types. We hope that this will be useful for writing clearer error messages. 2023-08-04 10:01:35 -07:00
CodeGenX64.cpp Sync to upstream/release/583 2023-07-07 10:14:35 -07:00
CodeGenX64.h Sync to upstream/release/572 2023-04-14 15:05:27 +03:00
EmitBuiltinsX64.cpp Sync to upstream/release/582 2023-06-24 08:33:44 +03:00
EmitBuiltinsX64.h Sync to upstream/release/574 2023-04-28 14:55:55 +03:00
EmitCommon.h Sync to upstream/release/584 2023-07-14 08:57:16 -07:00
EmitCommonA64.h Sync to upstream/release/574 2023-04-28 14:55:55 +03:00
EmitCommonX64.cpp * Progress toward a diffing algorithm for types. We hope that this will be useful for writing clearer error messages. 2023-08-04 10:01:35 -07:00
EmitCommonX64.h * Progress toward a diffing algorithm for types. We hope that this will be useful for writing clearer error messages. 2023-08-04 10:01:35 -07:00
EmitInstructionX64.cpp Sync to upstream/release/583 2023-07-07 10:14:35 -07:00
EmitInstructionX64.h Sync to upstream/release/581 2023-06-16 10:01:18 -07:00
IrAnalysis.cpp * Progress toward a diffing algorithm for types. We hope that this will be useful for writing clearer error messages. 2023-08-04 10:01:35 -07:00
IrBuilder.cpp Sync to upstream/release/588 2023-07-28 14:37:00 +03:00
IrCallWrapperX64.cpp Sync to upstream/release/583 2023-07-07 10:14:35 -07:00
IrDump.cpp * Progress toward a diffing algorithm for types. We hope that this will be useful for writing clearer error messages. 2023-08-04 10:01:35 -07:00
IrLoweringA64.cpp * Progress toward a diffing algorithm for types. We hope that this will be useful for writing clearer error messages. 2023-08-04 10:01:35 -07:00
IrLoweringA64.h Sync to upstream/release/584 2023-07-14 08:57:16 -07:00
IrLoweringX64.cpp * Progress toward a diffing algorithm for types. We hope that this will be useful for writing clearer error messages. 2023-08-04 10:01:35 -07:00
IrLoweringX64.h Sync to upstream/release/584 2023-07-14 08:57:16 -07:00
IrRegAllocA64.cpp Sync to upstream/release/583 2023-07-07 10:14:35 -07:00
IrRegAllocA64.h Sync to upstream/release/583 2023-07-07 10:14:35 -07:00
IrRegAllocX64.cpp Sync to upstream/release/583 2023-07-07 10:14:35 -07:00
IrTranslateBuiltins.cpp * Progress toward a diffing algorithm for types. We hope that this will be useful for writing clearer error messages. 2023-08-04 10:01:35 -07:00
IrTranslateBuiltins.h Sync to upstream/release/584 2023-07-14 08:57:16 -07:00
IrTranslation.cpp * Progress toward a diffing algorithm for types. We hope that this will be useful for writing clearer error messages. 2023-08-04 10:01:35 -07:00
IrTranslation.h Sync to upstream/release/588 2023-07-28 14:37:00 +03:00
IrUtils.cpp * Progress toward a diffing algorithm for types. We hope that this will be useful for writing clearer error messages. 2023-08-04 10:01:35 -07:00
IrValueLocationTracking.cpp * Progress toward a diffing algorithm for types. We hope that this will be useful for writing clearer error messages. 2023-08-04 10:01:35 -07:00
IrValueLocationTracking.h Sync to upstream/release/573 2023-04-21 14:41:03 -07:00
lcodegen.cpp Sync to upstream/release/577 2023-05-19 11:59:59 -07:00
NativeState.cpp * Progress toward a diffing algorithm for types. We hope that this will be useful for writing clearer error messages. 2023-08-04 10:01:35 -07:00
NativeState.h * Progress toward a diffing algorithm for types. We hope that this will be useful for writing clearer error messages. 2023-08-04 10:01:35 -07:00
OptimizeConstProp.cpp * Progress toward a diffing algorithm for types. We hope that this will be useful for writing clearer error messages. 2023-08-04 10:01:35 -07:00
OptimizeFinalX64.cpp * Progress toward a diffing algorithm for types. We hope that this will be useful for writing clearer error messages. 2023-08-04 10:01:35 -07:00
UnwindBuilderDwarf2.cpp Sync to upstream/release/575 2023-05-05 12:57:12 -07:00
UnwindBuilderWin.cpp Sync to upstream/release/575 2023-05-05 12:57:12 -07:00