Re: [9] RFR (S): 8074548: Never-taken branches cause repeated deopts in MHs.GWT case

2015-03-16 Thread Vladimir Ivanov
Vladimir, Thanks for the feedback! Updated webrev in place: http://cr.openjdk.java.net/~vlivanov/8074548/webrev.00/ You already have 'result' variable for argument(0), why reread?: CmpINode(argument(0) Good point. Fixed. Usually IfTrue is the fast path. IGVN will revert that check to hav

Re: [9] RFR (S): 8075263: MHI::checkCustomized isn't eliminated for inlined MethodHandles

2015-03-16 Thread Vladimir Kozlov
Good. thanks, Vladimir K On 3/16/15 12:05 PM, John Rose wrote: Reviewed. — John On Mar 16, 2015, at 11:47 AM, Vladimir Ivanov wrote: http://cr.openjdk.java.net/~vlivanov/8075263/webrev.00/hotspot http://cr.openjdk.java.net/~vlivanov/8075263/webrev.00/jdk https://bugs.openjdk.java.net/brow

Re: [9] RFR (S): 8074548: Never-taken branches cause repeated deopts in MHs.GWT case

2015-03-16 Thread Vladimir Kozlov
You already have 'result' variable for argument(0), why reread?: CmpINode(argument(0) Usually IfTrue is the fast path. IGVN will revert that check to have that. But it is better to have it in code. Current code looks like double negation. There is no explanation in changes why false_count ne

Re: [9] RFR (S): 8074548: Never-taken branches cause repeated deopts in MHs.GWT case

2015-03-16 Thread Vladimir Ivanov
Thanks, John! Will fix the typo before pushing the fix. Best regards, Vladimir Ivanov On 3/16/15 9:51 PM, John Rose wrote: Good fix, thanks. — John P.S. I noticed a typo: "it's" (contraction of "it is") should be "its" (genitive of "it"). On Mar 16, 2015, at 11:26 AM, Vladimir Ivanov w

Re: [9] RFR (S): 8075263: MHI::checkCustomized isn't eliminated for inlined MethodHandles

2015-03-16 Thread Vladimir Ivanov
Thanks, John! Best regards, Vladimir Ivanov On 3/16/15 10:05 PM, John Rose wrote: Reviewed. — John On Mar 16, 2015, at 11:47 AM, Vladimir Ivanov wrote: http://cr.openjdk.java.net/~vlivanov/8075263/webrev.00/hotspot http://cr.openjdk.java.net/~vlivanov/8075263/webrev.00/jdk https://bugs.op

Re: [9] RFR (S): 8075263: MHI::checkCustomized isn't eliminated for inlined MethodHandles

2015-03-16 Thread John Rose
Reviewed. — John On Mar 16, 2015, at 11:47 AM, Vladimir Ivanov wrote: > > http://cr.openjdk.java.net/~vlivanov/8075263/webrev.00/hotspot > http://cr.openjdk.java.net/~vlivanov/8075263/webrev.00/jdk > https://bugs.openjdk.java.net/browse/JDK-8075263 ___

Re: [9] RFR (S): 8074548: Never-taken branches cause repeated deopts in MHs.GWT case

2015-03-16 Thread John Rose
Good fix, thanks. — John P.S. I noticed a typo: "it's" (contraction of "it is") should be "its" (genitive of "it"). On Mar 16, 2015, at 11:26 AM, Vladimir Ivanov wrote: > > http://cr.openjdk.java.net/~vlivanov/8074548/webrev.00/ > https://bugs.openjdk.java.net/browse/JDK-8074548 > > Metho

[9] RFR (S): 8075263: MHI::checkCustomized isn't eliminated for inlined MethodHandles

2015-03-16 Thread Vladimir Ivanov
http://cr.openjdk.java.net/~vlivanov/8075263/webrev.00/hotspot http://cr.openjdk.java.net/~vlivanov/8075263/webrev.00/jdk https://bugs.openjdk.java.net/browse/JDK-8075263 When MethodHandle is a compile-time constant and it is inlined in MethodHandle.invoke/invokeExact there's no need in MHI::che

[9] RFR (S): 8074548: Never-taken branches cause repeated deopts in MHs.GWT case

2015-03-16 Thread Vladimir Ivanov
http://cr.openjdk.java.net/~vlivanov/8074548/webrev.00/ https://bugs.openjdk.java.net/browse/JDK-8074548 MethodHandleImpl::profileBoolean doesn't update never-taken branch count when hitting a deopt on it. As a result, for rarely taken branches consequent compilations consider them as never-tak