-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Dart VM Support for NNBD #37479
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
Comments
The CFE team has started working on non-nullable types and late fields. See the NNBD feature specification for more information. Both of those features will require VM support.
@a-siva The VM work could probably start soon on this, even if the CFE is not done. |
Serialization of nullability just landed (https://dart-review.googlesource.com/c/sdk/+/112085). The values are still not added to types during parsing, though, so nothing is set yet (CFE issue #37811). |
@a-siva okrs mention @aartbik / @liamappelbe might be looking at the new language features, is that still the plan? /cc @leafpetersen |
@kustermann to answer your question above, @crelier is going to start working on the initial phase of this (accounting for non nullable types in the VM type system representation and type checks). A second phase of this would be to use the type information to potentially eliminate runtime null checks which generating code. |
This means that when snapshots are loaded, the nnbd experiment flag they were compiled with must match the flag the VM currently has. Bug: #37479 Change-Id: I907a68f49c7c1ac4467c4c39ce033075eba457a1 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127961 Reviewed-by: Régis Crelier <[email protected]> Reviewed-by: Siva Annamalai <[email protected]> Commit-Queue: Liam Appelbe <[email protected]>
Closing this as we have another Epic #41131 tracking the samething. |
Here is a list of items that need to get done for this:
Phase 1 will deal with supporting NNBD in weak mode (D28 milestone)
Phase 2 will deal with supporting NNBD with strong mode checks
Phase 3 will deal with NNBD performance/code size issues
Links:
NNBD specification
NNBD in Dart VM
dart-vm-nnbd-tracking
The text was updated successfully, but these errors were encountered: