Commit c836feb
Sync to upstream/release/702 (#2126)
Hello!
This week, we've made a bunch of improvements to the performance and
stability of the analysis system. We've also made some small
improvements to inlining and native codegen.
# Autocomplete
* Suggest singleton string keys from indexers
# General
* Reduce stack utilization of the parser
# Analysis
* User-defined type functions don't need separate irreducible errors
when they error.
* Fix a performance problem that could occur when selecting an overload
for a function call.
* Fix a hang that could occur in function generalization.
* Delete EqSat. It was a very promising experiment but it didn't work
out.
* Properly treat negation types as being contravariant in their
operands. (ie if `A <: B`, then `~B <: ~A`)
* Add a new C++ utility function `Frontend::parseType`. This function
allocates a `TypeId` from a string that contains a valid Luau type
annotation.
* Correctly infer the type of a property lookup on a table which
contains an indexer which is a union of string singletons. (eg
`{["foo"|"bar"]: number}`)
# VM
* Reevaluate the inlining cost model using constant function arguments.
* Constant-fold `string.char` and `string.sub`.
# Native Codegen
* Fix a perfermance regression that could happen when running out of
registers.
* 32-bit integer addition and subtraction using bit32 library can be
performed by integer instructions without extra double conversions
# Internal Contributors
Co-authored-by: Andy Friesen <[email protected]>
Co-authored-by: Ariel Weiss <[email protected]>
Co-authored-by: Hunter Goldstein <[email protected]>
Co-authored-by: Sora Kanosue <[email protected]>
Co-authored-by: Vyacheslav Egorov <[email protected]>
---------
Co-authored-by: Hunter Goldstein <[email protected]>
Co-authored-by: Varun Saini <[email protected]>
Co-authored-by: Alexander Youngblood <[email protected]>
Co-authored-by: Menarul Alam <[email protected]>
Co-authored-by: Aviral Goel <[email protected]>
Co-authored-by: Vighnesh <[email protected]>
Co-authored-by: Vyacheslav Egorov <[email protected]>
Co-authored-by: Ariel Weiss <[email protected]>
Co-authored-by: Ilya Rezvov <[email protected]>1 parent 535f925 commit c836feb
File tree
122 files changed
+4169
-7408
lines changed- Analysis
- include/Luau
- src
- Ast
- include/Luau
- src
- CodeGen
- include/Luau
- src
- Compiler
- include/Luau
- src
- EqSat
- include/Luau
- src
- extern
- fuzz
- tests
- conformance
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
122 files changed
+4169
-7408
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
10 | 9 | | |
11 | 10 | | |
12 | 11 | | |
| |||
113 | 112 | | |
114 | 113 | | |
115 | 114 | | |
116 | | - | |
117 | | - | |
118 | 115 | | |
119 | 116 | | |
120 | 117 | | |
| |||
141 | 138 | | |
142 | 139 | | |
143 | 140 | | |
144 | | - | |
145 | 141 | | |
146 | 142 | | |
147 | 143 | | |
| |||
381 | 377 | | |
382 | 378 | | |
383 | 379 | | |
| 380 | + | |
384 | 381 | | |
385 | 382 | | |
386 | 383 | | |
| |||
390 | 387 | | |
391 | 388 | | |
392 | 389 | | |
| 390 | + | |
393 | 391 | | |
394 | 392 | | |
395 | 393 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
10 | 9 | | |
11 | 10 | | |
12 | 11 | | |
| |||
101 | 100 | | |
102 | 101 | | |
103 | 102 | | |
104 | | - | |
105 | 103 | | |
106 | 104 | | |
107 | 105 | | |
| |||
167 | 165 | | |
168 | 166 | | |
169 | 167 | | |
170 | | - | |
171 | 168 | | |
172 | 169 | | |
173 | 170 | | |
| |||
181 | 178 | | |
182 | 179 | | |
183 | 180 | | |
184 | | - | |
185 | 181 | | |
186 | 182 | | |
187 | 183 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
112 | 112 | | |
113 | 113 | | |
114 | 114 | | |
| 115 | + | |
| 116 | + | |
115 | 117 | | |
116 | 118 | | |
117 | 119 | | |
| |||
This file was deleted.
0 commit comments