RFR (XS): 7181658 CTW: assert(t->meet(t0) == t) failed: Not monotonic

Christian Thalinger 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) ));

-- Chris

On Jul 6, 2012, at 6:09 AM, Vladimir Ivanov wrote:

> Vladimir,
> 
> Thanks for the review.
> 
> Here's updated version:
> http://cr.openjdk.java.net/~vlivanov/7181658/webrev.01
> 
> 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?
>> 
>> Thanks,
>> Vladimir
>> 
>> Vladimir Ivanov wrote:
>>> http://cr.openjdk.java.net/~vlivanov/7181658/webrev.00
>>> 
>>> 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 mailing list