[9] RFR(S): 8159715: Fix for 8072422 is incorrect

Vladimir Kozlov vladimir.kozlov at oracle.com
Fri Jun 17 19:38:52 UTC 2016


On 6/17/16 2:23 AM, Tobias Hartmann wrote:
> Hi Vladimir,
>
> On 17.06.2016 02:52, Vladimir Kozlov wrote:
>> Thank you, Tobias
>>
>> Changes look good.
>
> Thanks for the review!
>
>> Please, try to run at least jtreg tests with -XX:-UseLoopPredicate. There could be some code that assume that predicates exist only with UseLoopPredicate (missed LoopLimitCheck originally).
>
> Right, the assert in IdealLoopTree::policy_range_check() assumes that predicates only exist with -XX:+UseLoopPredicate. This assert also failed before 8072422 and I think the UseLoopPredicate part should be removed because we always emit a LoopLimitCheck predicate.

Good.

>
> New webrev:
> http://cr.openjdk.java.net/~thartmann/8159715/webrev.01/

Looks good.

>
> While testing, I noticed that -XX:-UseLoopPredicates causes some test failures (also with the latest hs-comp). I filed JDK-8159792 and will put the flag on my list of potential candidates for removal (we don't have a single test with -XX:-UseLoopPredicates).

thanks,
Vladimir

>
> Best regards,
> Tobias
>
>>
>> Thanks,
>> Vladimir
>>
>> On 6/16/16 6:41 AM, Tobias Hartmann wrote:
>>> Hi,
>>>
>>> please review the following fix:
>>>
>>> https://bugs.openjdk.java.net/browse/JDK-8159715
>>> http://cr.openjdk.java.net/~thartmann/8159715/webrev.00/
>>>
>>> The fix for JDK-8072422 [1] removed the RangeLimitCheck flag that was set to true by default. In PhaseIdealLoop::do_range_check(), conditional_rc should now be always set to true. The LoopLimitCheck flag was also removed but the code in parse1.cpp and loopnode.cpp was not adapted correctly (see bug description).
>>>
>>> Tested with JPRT and RBT (running).
>>>
>>> Thanks,
>>> Tobias
>>>
>>> [1] http://cr.openjdk.java.net/~zmajo/8072422/webrev.02/
>>>


More information about the hotspot-compiler-dev mailing list