-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
[Bug][compiler-v2] No warning for unreachable code after abort #14320
Labels
bug
Something isn't working
compiler-v2
stale-exempt
Prevents issues from being automatically marked and closed as stale
Comments
wrwg
added a commit
that referenced
this issue
Aug 19, 2024
Fixes #14233 On stack flush we must not pop values which cannot be dropped. Rather they should be stored in temps. This faciltates scenarios where an `abort` happens before the end of a block. Without this, we pop the value before the abort, leading to a bytecode verification error. There is still an issue with a missing warning, added #14320 for that.
15 tasks
wrwg
added a commit
that referenced
this issue
Aug 19, 2024
Fixes #14233 On stack flush we must not pop values which cannot be dropped. Rather they should be stored in temps. This faciltates scenarios where an `abort` happens before the end of a block. Without this, we pop the value before the abort, leading to a bytecode verification error. There is still an issue with a missing warning, added #14320 for that.
wrwg
added a commit
that referenced
this issue
Aug 19, 2024
Fixes #14233 On stack flush we must not pop values which cannot be dropped. Rather they should be stored in temps. This faciltates scenarios where an `abort` happens before the end of a block. Without this, we pop the value before the abort, leading to a bytecode verification error. There is still an issue with a missing warning, added #14320 for that.
wrwg
added a commit
that referenced
this issue
Aug 19, 2024
Fixes #14233 On stack flush we must not pop values which cannot be dropped. Rather they should be stored in temps. This faciltates scenarios where an `abort` happens before the end of a block. Without this, we pop the value before the abort, leading to a bytecode verification error. There is still an issue with a missing warning, added #14320 for that.
wrwg
added a commit
that referenced
this issue
Aug 19, 2024
* [compiler-v2] Adding and verifying some missing v1 tests This goes through all urgent bugs in the spreadsheet from issue #13747 and verifies that they have been resolved with recent changes. * [compiler-v2] Do not pop non-droppables on stack flush Fixes #14233 On stack flush we must not pop values which cannot be dropped. Rather they should be stored in temps. This faciltates scenarios where an `abort` happens before the end of a block. Without this, we pop the value before the abort, leading to a bytecode verification error. There is still an issue with a missing warning, added #14320 for that. * Addressing reviewer feedback * Fix wrong naming
sausagee
added
the
stale-exempt
Prevents issues from being automatically marked and closed as stale
label
Sep 5, 2024
This seems redundant with #11707 |
github-project-automation
bot
moved this from Assigned
to ✅ Done
in Move Language and Runtime
Sep 14, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
bug
Something isn't working
compiler-v2
stale-exempt
Prevents issues from being automatically marked and closed as stale
We do not detected unreachable code as in:
v1 will produce a warning:
Test case is at
third_party/move/move-compiler-v2/transactional-tests/tests/optimization/bug_14233_unused_non_droppable.move
.The text was updated successfully, but these errors were encountered: