RFR (XS): 7181658 CTW: assert(t->meet(t0) == t) failed: Not monotonic
christian.thalinger at oracle.com
Fri Jul 6 10:46:52 PDT 2012
Looks good. Except the extra spaces:
+ in(1)->in(2)->eqv_uncast( in(2) ));
On Jul 6, 2012, at 6:09 AM, Vladimir Ivanov wrote:
> Thanks for the review.
> Here's updated version:
> Best regards,
> Vladimir Ivanov
> On 7/6/12 2:40 AM, Vladimir Kozlov wrote:
>> Thank you, Vladimir, for taking and fixing this bug.
>> Could you factor the condition into a separate function to be used in
>> both places?
>> Vladimir Ivanov wrote:
>>> 7181658 CTW: assert(t->meet(t0) == t) failed: Not monotonic
>>> One of node equivalence checks in CmpUNode::sub doesn't respect
>>> ConstraintCast nodes, which could lead to missed optimization
>>> opportunities. In this particular case it also breaks monotonicity
>>> assumption of CCP analysis due to a discrepancy in logic between 2 cases.
>>> I haven't been able to come up with a reduced regression test due to
>>> some tricky symbol resolution orderings which provoke the bug - even
>>> when the method bytecode is effectively the same! :-)
>>> Testing: failing test, CTW (full testlist)
>>> Best regards,
>>> Vladimir Ivanov
More information about the hotspot-compiler-dev