RFR(S): 8159715: Fix for 8072422 is incorrect
tobias.hartmann at oracle.com
Fri Jun 17 09:23:02 UTC 2016
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.
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).
> On 6/16/16 6:41 AM, Tobias Hartmann wrote:
>> please review the following fix:
>> The fix for JDK-8072422  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).
>>  http://cr.openjdk.java.net/~zmajo/8072422/webrev.02/
More information about the hotspot-compiler-dev