+1
> On Jan 17, 2018, at 11:36 AM, Hannes Wallnöfer <hannes.wallnoe...@oracle.com> > wrote: > > Please review: > > Bug: https://bugs.openjdk.java.net/browse/JDK-8195123 > Webrev: http://cr.openjdk.java.net/~hannesw/8195123/webrev.00/ > > This undoes the recent fix for JDK-8193567 (Attila, in case you’re reading, I > should have taken your doubts more serously) and replaces it with a different > fix. > > Instead of disabling optimistic types within comparison nodes, the new fix > avoids the shortcuts for null and undefined comparison if the compared > expression contains an optimistic expression. Previously we only checked > whether the expression itself was optimistic or contained the expression that > triggered the current rest-of compilation. It’s easy to see why we must avoid > it also for nested optimistic expressions, as they can trigger deoptimization > as well. > > In my testing, this fixes the performance regression. > > Hannes