Commit graph

62 commits

Author SHA1 Message Date
Kampfkarren
1c172d2884 Merge remote-tracking branch 'upstream/master' into string-interpolation 2022-08-22 14:55:09 -07:00
Arseny Kapoulkine
be2769ad14
Sync to upstream/release/541 (#644)
- Fix autocomplete not suggesting globals defined after the cursor (fixes #622)
- Improve type checker stability
- Reduce parser C stack consumption which fixes some stack overflow crashes on deeply nested sources
- Improve performance of bit32.extract/replace when width is implied (~3% faster chess)
- Improve performance of bit32.extract when field/width are constants (~10% faster base64)
- Heap dump now annotates thread stacks with local variable/function names
2022-08-18 14:32:08 -07:00
Arseny Kapoulkine
f7d8ad0774
Sync to upstream/release/540 (#635)
Also adjust benchmark runs to use config=profile and run clang for all benchmarks + gcc for runtime
2022-08-11 14:01:33 -07:00
Kampfkarren
cce6b98821 Merge remote-tracking branch 'upstream/master' into string-interpolation 2022-08-04 18:15:53 -07:00
Arseny Kapoulkine
1b20fcd43c
Sync to upstream/release/539 (#625) 2022-08-04 15:35:33 -07:00
Arseny Kapoulkine
d3b566c258
Sync to upstream/release/538 (#616) 2022-07-28 21:24:07 -07:00
Kampfkarren
90f7bf6f72 Reserve format capacity 2022-07-28 17:56:28 -07:00
Kampfkarren
e7176f8ebf Remove commented code 2022-07-28 17:30:08 -07:00
Kampfkarren
856ef34719 string.append 2022-07-28 17:29:54 -07:00
Kampfkarren
e1a229aa80 Fix tests, but introduce a new snaggle 2022-07-27 23:29:57 -07:00
Kampfkarren
c224548781 Remove const& from strings loop 2022-07-27 17:45:24 -07:00
Kampfkarren
e496c86581 Change name 2022-07-27 17:26:27 -07:00
Kampfkarren
2a41dca9d4 Avoid extra allocations 2022-07-27 17:13:44 -07:00
Kampfkarren
c770cac964 auto cleanup 2022-07-27 16:43:49 -07:00
Kampfkarren
dd2c4e9391 Fix Compiler commit 2022-07-27 16:34:39 -07:00
Kampfkarren
be781b5083 Fix typechecker 2022-07-27 16:33:20 -07:00
Kampfkarren
38d40143d7 Remove commented code 2022-07-26 22:28:01 -07:00
Kampfkarren
1ea1d654ee Arseny told me I don't need this 2022-07-26 22:27:20 -07:00
Kampfkarren
4504b05b76 Pre-allocate registers, getting better errors 2022-07-26 21:30:19 -07:00
Kampfkarren
e42e7884bb Fix MSVC compiler warnings 2022-07-26 21:25:42 -07:00
Kampfkarren
7e00934619 Higher baseline cost 2022-07-26 21:05:33 -07:00
Kampfkarren
38cda27144 A test I haven't made work, Cost branch 2022-07-26 21:04:15 -07:00
Kampfkarren
36b0037145 FFlag 2022-07-26 20:40:37 -07:00
Kampfkarren
5a6912fe75 String escape 2022-07-26 18:49:17 -07:00
Kampfkarren
b40b10826c Fix constant folding 2022-07-26 18:40:47 -07:00
Kampfkarren
da716a6a76 Fix more complicated case 2022-07-26 18:37:11 -07:00
Kampfkarren
9ea7b44ab9 %* 2022-07-26 16:37:54 -07:00
Kampfkarren
7ace43e29f Fix multiple string interps 2022-07-26 15:44:51 -07:00
Kampfkarren
24f61dfeb5 Basic string interpolation proof of concept 2022-07-26 01:48:22 -07:00
Arseny Kapoulkine
b1cfaf5305
Sync to upstream/release/537 (#607) 2022-07-21 14:16:54 -07:00
Arseny Kapoulkine
5b2e39c922
Sync to upstream/release/536 (#592) 2022-07-14 15:52:26 -07:00
Arseny Kapoulkine
2daa6497a1
Sync to upstream/release/534 (#569) 2022-06-30 16:52:43 -07:00
Arseny Kapoulkine
08ab7da4db
Sync to upstream/release/533 (#560) 2022-06-23 18:56:00 -07:00
Arseny Kapoulkine
f1b46f4b96
Sync to upstream/release/532 (#545) 2022-06-16 18:05:14 -07:00
rblanckaert
b066e4c8f8
0.531 (#532)
* Fix free Luau type being fully overwritten by 'any' and causing UAF
* Fix lua_clonefunction implementation replacing top instead of pushing
* Falsey values other than false can now narrow refinements
* Fix lua_getmetatable, lua_getfenv not waking thread up
* FIx a case where lua_objlen could push a new string without thread wakeup or GC
* Moved Luau math and bit32 definitions to definition file 
* Improve Luau parse recovery of incorrect return type token
2022-06-10 09:58:21 -07:00
rblanckaert
61766a692c
Sync to upstream/release/529 (#505)
* Adds a currently unused x86-64 assembler as a prerequisite for possible future JIT compilation
* Fix a bug in table iteration (closes Possible table iteration bug #504)
* Improved warning method when function is used as a type
* Fix a bug with unsandboxed iteration with pairs()
* Type of coroutine.status() is now a union of value types
* Bytecode output for tests/debugging now has labels
* Improvements to loop unrolling cost estimation
* Report errors when the key obviously doesn't exist in the table
2022-05-26 15:08:16 -07:00
Arseny Kapoulkine
f5923aefeb
Sync to upstream/release/527 (#491) 2022-05-19 17:02:24 -07:00
Arseny Kapoulkine
a36b1eb29b
Sync to upstream/release/527 (#481) 2022-05-13 12:36:37 -07:00
Arseny Kapoulkine
e9cc76a3d5
Sync to upstream/release/526 (#477) 2022-05-05 17:03:43 -07:00
Arseny Kapoulkine
bd6d44f5e3
Sync to upstream/release/525 (#467) 2022-04-28 18:24:24 -07:00
Arseny Kapoulkine
e0a6461173
Sync to upstream/release/524 (#462) 2022-04-21 14:44:27 -07:00
Arseny Kapoulkine
8e7845076b
Sync to upstream/release/523 (#459) 2022-04-14 16:57:43 -07:00
Arseny Kapoulkine
de1381e3f1
Sync to upstream/release/522 (#450) 2022-04-07 14:29:01 -07:00
Arseny Kapoulkine
4c1f208d7a
Sync to upstream/release/521 (#443) 2022-03-31 14:01:51 -07:00
Arseny Kapoulkine
362428f8b4
Sync to upstream/release/519 (#422) 2022-03-17 17:46:04 -07:00
Arseny Kapoulkine
63d5423bbb
Sync to upstream/release/514 (#357) 2022-02-11 11:02:09 -08:00
Arseny Kapoulkine
d58e70b8c1
Sync to upstream/release/513 (#340) 2022-02-04 08:45:57 -08:00
Arseny Kapoulkine
2f989fc049
Sync to upstream/release/512 (#330)
- Improve refinement support for unions, in particular it's now possible to implement tagged unions as a union of tables where individual branches use a string literal type for one of the fields.
- Fix `string.split` type information
- Optimize `select(_, ...)` to run in constant time (~2.7x faster on VariadicSelect benchmark)
- Improve debug line information for multi-line assignments
- Improve compilation of table literals when table keys are constant expressions/variables
- Use forward GC barrier for `setmetatable` which slightly accelerates GC progress
2022-01-27 15:46:05 -08:00
Arseny Kapoulkine
8fe95c9963
Sync to upstream/release/511 (#324)
- TableOperations lint now includes a warning for table.create(N, {}) (which is likely a mistake since the table is shared by all entries)
- Type checker now type checks #v when v is a union
- Parser now rejects sources that consists of a single unfinished long comment
- Work around significant MSVC 2022 performance regression, bringing it more or less in line with MSVC 2019
- Compiler now predicts array size for newly allocated tables when the table is filled in a short loop
- Small improvements in compilation throughput (~2% faster)
- Implement paged sweeper for GC which improves sweep throughput 2-3x and reduces memory consumption by 8 bytes per object (once it is stabilized we will see additional 8 bytes per object of savings)
- Improve Repl Tab completion
- Repl now supports -i (interactive mode to run code in context of a script's environment) and -On (to control optimization flags)
2022-01-21 09:00:19 -08:00
Arseny Kapoulkine
32c39e2162
Sync to upstream/release/510 (#313) 2022-01-14 08:20:09 -08:00