[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:

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,

> 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