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/505 #216

Merged
merged 14 commits into from Nov 19, 2021
Merged

Sync to upstream/release/505 #216

merged 14 commits into from Nov 19, 2021

Conversation

zeux
Copy link
Collaborator

@zeux zeux commented Nov 18, 2021

  • Improve error recovery during type checking
  • Initial (not fully complete) implementation for singleton types (RFC RFC: Singleton types #37)
  • Implement a C-friendly interface for compiler (luacode.h)
  • Remove C++ features from lua.h (removed default arguments from luau_load and lua_pushcfunction)
  • Fix lua_breakpoint behavior when enabled=false
  • Implement coroutine.close (RFC RFC: coroutine.close #88)

Note, this introduces small breaking changes in lua.h:

  • luau_load env argument is now required, pass an extra 0
  • lua_pushcfunction now must be called with 3 arguments; if you were calling it with 2 arguments, pass an extra NULL; if you were calling it with 4, use lua_pushcclosure.

These changes are necessary to make sure lua.h can be used from pure C - the future release will make it possible by adding an option to luaconf.h to change function name mangling to be C-compatible. We don't anticipate breaking the FFI interface in the future, but this change was necessary to restore C compatibility.

Closes #121
Fixes #213

zeux and others added 14 commits November 4, 2021 19:12
Changes:
- Support for time tracing for analysis/compiler (not currently exposed
  through CLI)
- Support for type pack arguments in type aliases (#83)
- Basic support for require(path) in luau-analyze
- Add a lint warning for table.move with 0 index as part of
  TableOperation lint
- Remove last STL dependency from Luau.VM
- Minor VS2022 performance tuning

Co-authored-by: Rodactor <rodactor@roblox.com>
- A series of major optimizations to type checking performance on complex
programs/types (up to two orders of magnitude speedup for programs
involving huge tagged unions)
- Fix a few issues encountered by UBSAN (and maybe fix s390x builds)
- Fix gcc-11 test builds
- Fix a rare corner case where luau_load wouldn't wake inactive threads
which could result in a use-after-free due to GC
- Fix CLI crash when error object that's not a string escapes to top level
@zeux zeux merged commit 3f1508c into master Nov 19, 2021
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.

disable breakpoints not working Reduce reliance on C++ types in the public API
1 participant