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

SI-9806 Fix incorrect codegen with optimizer, constants, try/catch #5218

Merged
merged 1 commit into from Oct 18, 2016

Conversation

retronym
Copy link
Member

@retronym retronym commented Jun 7, 2016

The constant optimizer phase performs abstract interpretation of the
icode representation of the progam in order to eliminate dead
code.

For each basic block, the possible and impossible states of each local
variable is computed for both a normal and an exceptional exit.

A bug in this code incorrectly tracked state for exception exits.
This appears to have been an oversight: the new state was computed
at each instruction, but it was discarded rather than folded through
the intepreter.

@scala-jenkins scala-jenkins added this to the 2.11.9 milestone Jun 7, 2016
The constant optimizer phase performs abstract interpretation of the
icode representation of the progam in order to eliminate dead
code.

For each basic block, the possible and impossible states of each local
variable is computed for both a normal and an exceptional exit.

A bug in this code incorrectly tracked state for exception exits.
This appears to have been an oversight: the new state was computed
at each instruction, but it was discarded rather than folded through
the intepreter.
@lrytz
Copy link
Member

lrytz commented Jun 7, 2016

LGTM

@dragos
Copy link
Contributor

dragos commented Oct 18, 2016

Maybe this could be merged now?

@retronym retronym merged commit 7aeb1bf into scala:2.11.x Oct 18, 2016
adriaanm added a commit to adriaanm/scala that referenced this pull request Oct 18, 2016
Skipping:
  - scala#5444 -- implemented in ef14a9a
  - scala#5218 -- old backend is gone
  - scala#5348 -- test for issue resolved in 2.12.x
@SethTisue SethTisue modified the milestones: 2.11.11, 2.11.9 May 1, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
5 participants