RFR(S): 8159715: Fix for 8072422 is incorrect
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.
> 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,
>> 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