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/602 #1089

Merged
merged 2 commits into from
Nov 3, 2023
Merged

Sync to upstream/release/602 #1089

merged 2 commits into from
Nov 3, 2023

Conversation

aatxe
Copy link
Collaborator

@aatxe aatxe commented Nov 3, 2023

What's changed?

  • Fixed a bug in type cloning by maintaining persistent types.
  • We now parse imprecise integer literals to report the imprecision as a warning to developers.
  • Add a compiler flag to specify the name of the statistics output file.

New type solver

  • Renamed ConstraintGraphBuilder to ConstraintGenerator
  • LValues now take into account the type being assigned during constraint generation.
  • Normalization performance has been improved by 33% by replacing the an internal usage of std::unordered_set with DenseHashMap.
  • Normalization now has a helper to identify types that are equivalent to unknown, which is being used to fix some bugs in subtyping.
  • Uses of the old unifier in the new type solver have been eliminated.
  • Improved error explanations for subtyping errors in TypeChecker2.

Native code generation

  • Expanded some of the statistics recorded during compilation to include the number of instructions and blocks.
  • Introduce instruction and block count limiters for controlling what bytecode is translated into native code.
  • Implement code generation for byteswap instruction.

Internal Contributors

Co-authored-by: Aaron Weiss [email protected]
Co-authored-by: Alexander McCord [email protected]
Co-authored-by: Andy Friesen [email protected]
Co-authored-by: Aviral Goel [email protected]
Co-authored-by: Lily Brown [email protected]

@aatxe aatxe merged commit 7105c81 into master Nov 3, 2023
7 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.

2 participants