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

Make sure GetBlock() works for constants/parameters #36895

Closed
aartbik opened this issue May 8, 2019 · 1 comment
Closed

Make sure GetBlock() works for constants/parameters #36895

aartbik opened this issue May 8, 2019 · 1 comment
Assignees
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.

Comments

@aartbik
Copy link
Contributor

aartbik commented May 8, 2019

The "null" and "optimized" constants misbehave, since they are re-used in the IR.
Also, the block_ field of parameters (used directly by GetBlock() rather than scanning back) is not always updated properly, causing inconsistencies now detected by stricter graph checking.

@mraleph

@aartbik aartbik added the area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. label May 8, 2019
@aartbik aartbik self-assigned this May 8, 2019
@aartbik
Copy link
Contributor Author

aartbik commented May 8, 2019

I already made one initial improvement by using AddToInitialDefinitions() for each insertion, which makes finding all remaining inconsistencies a bit easier.

dart-bot pushed a commit that referenced this issue May 13, 2019
Rationale:
Refactored existing verify uses (with some overlap and some
additional checks) into the graph checker. Also added more
verification code and repaired some inconsistencies in IR
found by new checker. However, some checks are disabled with
a TODO, since the IR does not currently meet all the stricter
assumptions. Fixes will follow.

#36893
#36894
#36895
#36899

Change-Id: Ic0395208da38ecb6fc8ca2551efe819e6458a731
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101922
Commit-Queue: Aart Bik <[email protected]>
Reviewed-by: Alexander Markov <[email protected]>
dart-bot pushed a commit that referenced this issue May 15, 2019
Rationale:
Stricter graph checking found some dangling pointers
and missing updates. This CL fixes the omissions
and removes some bail-outs in the graph checker itself,
making the checker stricter and more consistent. Also
adds flag to control verification (avoid excessive runtimes
for large programs in general, but allows testing even
these through command line option).

#36893
#36894
#36895
#36899

Change-Id: If4357cb897484ddfdb60722525092198771ec90a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102420
Reviewed-by: Aart Bik <[email protected]>
Commit-Queue: Aart Bik <[email protected]>
@aartbik aartbik closed this as completed May 15, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.
Projects
None yet
Development

No branches or pull requests

1 participant