-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
[Patterns] VM implementation #49755
Comments
…scope When lowering patterns, front-end can add multiple distinct local variables with the same name into the same local scope. Previously, VM identified local variables in a local scope by name. However, this no longer works with patterns. With this change, local variables are now identified by pair (name, kernel offset). Name is still taken into account as compiler can add extra variables which do not correspond to kernel variables, such as 'this'. TEST=runtime/tests/vm/dart/regress_51091_test.dart Fixes #51091 Issue #49755 Change-Id: I0263769cb31f3f8d9652f5d6534800510ac882fb Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/279650 Reviewed-by: Slava Egorov <vegorov@google.com> Commit-Queue: Alexander Markov <alexmarkov@google.com> Reviewed-by: Ryan Macnak <rmacnak@google.com>
… of a compatible shape Compiler can see an unreachable code like this: v1 <- Constant(Record (C, C)) if v1 is (C, C, C) { v2 <- LoadField (v1.$3) } So it should check that record type of the receiver has enough fields before querying field type in LoadField. TEST=co19/LanguageFeatures/Patterns/matching_record_* Fixes #51767 Issue #49755 Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-nnbd-linux-release-x64-try Change-Id: Iac42c8edf3d22dce0061b6d75e8bdf51b7bf88e6 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/289540 Auto-Submit: Alexander Markov <alexmarkov@google.com> Reviewed-by: Martin Kustermann <kustermann@google.com> Commit-Queue: Martin Kustermann <kustermann@google.com>
…ing through patterns TEST=pkg/vm_service/test/step_through_patterns_test.dart Issue: #51812 Issue: #49755 Change-Id: Ieb2e6f49c613c7543e7e76119cefbc4d8f9ae3de Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/291840 Commit-Queue: Alexander Markov <alexmarkov@google.com> Reviewed-by: Ben Konyi <bkonyi@google.com>
Friendly ping @alexmarkov |
@itsjustkevin We don't have any planned work to do, and currently we don't have any open bugs in the VM related to patterns. However, there is still a significant number of failing tests, seemingly because tests were not updated after the recent spec change (dart-lang/co19#1976). So we're waiting for co19 roll to land in Dart SDK and all VM bots to cycle in order to confirm that all tests now pass (or discover more bugs which could be hidden beyond the existing failures). |
Marking this as closed, if we find issues with the new set of co19 tests we can create new issues specific to the failures. |
All pattern tests are now passing on the VM. |
No description provided.
The text was updated successfully, but these errors were encountered: