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

[Decompiler] More progress on method stuff #264

Merged
merged 2 commits into from
Feb 15, 2021
Merged

[Decompiler] More progress on method stuff #264

merged 2 commits into from
Feb 15, 2021

Conversation

water111
Copy link
Collaborator

@water111 water111 commented Feb 15, 2021

There's an issue where we can pop things more than once, and this allows stuff to escape ordering.

The best solution is to have the popping functions return a register with a flag that says this was popped and cannot be popped again.

It's possible we have some other code that relies on this double popping, and possibly in a way that's okay. For example, stuff in a temporary stack as part of a condition may be lifted out of the condition, and then can be popped. But this needs to be done more carefully than we are doing now. Either way, this needs to be rethought a little bit.

For example see ExprMethod14DeadPoolHeap, it nests method calls that shouldn't be nested.

I should also see why the side effect check doesn't catch this.

@coveralls
Copy link

coveralls commented Feb 15, 2021

Pull Request Test Coverage Report for Build 569112032

  • 141 of 147 (95.92%) changed or added relevant lines in 4 files are covered.
  • 7 unchanged lines in 3 files lost coverage.
  • Overall coverage increased (+0.2%) to 68.546%

Changes Missing Coverage Covered Lines Changed/Added Lines %
decompiler/IR2/FormStack.cpp 13 14 92.86%
decompiler/IR2/FormExpressionAnalysis.cpp 77 82 93.9%
Files with Coverage Reduction New Missed Lines %
decompiler/IR2/FormStack.cpp 1 77.54%
decompiler/analysis/cfg_builder.cpp 2 82.97%
decompiler/IR2/FormExpressionAnalysis.cpp 4 83.74%
Totals Coverage Status
Change from base Build 566935005: 0.2%
Covered Lines: 29065
Relevant Lines: 42402

💛 - Coveralls

@water111 water111 marked this pull request as ready for review February 15, 2021 16:28
@water111 water111 merged commit af1691a into master Feb 15, 2021
@water111 water111 deleted the w/gkernel-3 branch February 15, 2021 16:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants