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
correct icode for match with tailcall nested in method call #6089
Comments
Imported From: https://issues.scala-lang.org/browse/SI-6089?orig=1 |
@adriaanm said: |
@paulp said: |
@adriaanm said: That's where I'll start exploring tomorrow. |
@magarciaEPFL said:
I'm asking because that The invariants, what are the invariants. |
@adriaanm said: The labeldefs/jumps emitted by patmat are all forward jumps that "respect the nesting of the labeldefs", The exception is when tailcalls kicks in and starts transforming. I figured the matchEnd5 jump would be discarded at the line number in GenICode I linked to. In this case, you could just drop the matchEnd5 call around _bungus(..), but its argument might also be an if-then-else that only conditionally tailcalls. Do you have any thoughts on how to fix this properly? |
@adriaanm said: |
@adriaanm said: |
Critical hit. This took me forever to minimize, but I guess I'm glad I did.
The text was updated successfully, but these errors were encountered: