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

Tobias Hartmann tobias.hartmann at oracle.com
Fri Jun 17 09:23:02 UTC 2016


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.

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

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).

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