Request for reviews (S): 6923002: assert(false,"this call site should not be polymorphic")
Vladimir Kozlov
Vladimir.Kozlov at Sun.COM
Thu Feb 4 09:43:31 PST 2010
http://cr.openjdk.java.net/~kvn/6923002/webrev
Fixed 6923002: assert(false,"this call site should not be polymorphic")
Problem:
After the 6614597 changes C2 expects that the MDO total count at the virtual
call site indicates only polimorphic case and the assert was added for that.
But ReceiverTypeData::follow_weak_refs() may clear a receiver information
in MDO leaving the data at strange state and causing assert.
Solution:
Clear also the total count when a receiver information is cleared.
An additional receiver, if it exists, will be recorded in the cleaned row
during next execution of the call site.
Also add method name for the assert output and record in logs a second
receiver even for polimorphic case.
Reviewed by:
Fix verified (y/n): y, test
Other testing:
JPRT
More information about the hotspot-compiler-dev
mailing list