Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync to upstream/release/590 #1008

Merged
merged 158 commits into from
Aug 11, 2023
Merged

Sync to upstream/release/590 #1008

merged 158 commits into from
Aug 11, 2023

Conversation

vegorov-rbx
Copy link
Collaborator

@vegorov-rbx vegorov-rbx commented Aug 11, 2023

Native code generation:

  • All VM side exits will block return to the native execution of the current function to preserve correctness
  • Fixed executable page allocation on Apple platforms when using hardened runtime
  • Added statistics for code generation (no. of functions compiler, memory used for different areas)
  • Fixed issue with function entry type checks performed more that once in some functions

vegorov-rbx and others added 28 commits June 9, 2023 15:20
…ll 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
@vegorov-rbx vegorov-rbx merged commit d98256b into master Aug 11, 2023
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

Internal recursion limit triggered when not retaining full type graphs
3 participants