summaryrefslogtreecommitdiff
path: root/test/files/run/t8601c.scala
Commit message (Collapse)AuthorAgeFilesLines
* SI-8601 Avoid over-eager optimization of LOAD_FIELDJason Zaugg2014-05-191-0/+12
| | | | | | | | | | | | | | | | | | It can NPE or trigger static class initilization, we can't elimiate it without changing semantics. To make sure we don't thwart closure elimination, I've allowed DCE to eliminate a non-static LOAD_FIELD of a member of a closure class. It would be more general to track nullity of the reciever (e.g, `this` or `new Foo` cannot be null), but that would require more infrastructure in this phase. I've added a test for closure inlining based on a a suggestion by @dragos. This actually passes if we remove the (LOAD_FIELD, DROP) peephole optimization for `closelim` altogether. But I chose to adapt that optimization (only allow it for non-static, closure fields), rather then remove it alogether, in the interests of treading lightly.
* Revert "SI-8601 Avoid over-eager optimization of LOAD_FIELD"Adriaan Moors2014-05-191-12/+0
| | | | This reverts commit 0b432f9cd22b6e9770852e5b331a15f0534a312c.
* SI-8601 Avoid over-eager optimization of LOAD_FIELDJason Zaugg2014-05-181-0/+12
It can NPE or trigger static class initilization, we can't elimiate it without changing semantics.