resend: Request for reviews (S): 7146442: assert(false) failed: bad AD file
Vladimir Kozlov
vladimir.kozlov at oracle.com
Tue Feb 21 10:30:40 PST 2012
Tom Rodriguez wrote:
> On Feb 21, 2012, at 5:35 AM, Vladimir Kozlov wrote:
>
>> http://cr.openjdk.java.net/~kvn/7146442/webrev
>>
>> 7146442: assert(false) failed: bad AD file
>>
>> EA code in find_init_values() is incorrect. It does not check for related loads
>> which could load NULL value from just allocated object before stores. As result
>> compare pointers (vs NULL) optimization could be incorrect.
>
> So this created a bad graph that resulted in top showing up?
Yes. CmpPtr optimization incorrectly removed null check of the load from field.
Later memory optimization (can_see_stored_value()) replaced load with NULL. As
result we got CastPP(NULL)#NotNULL which produced Top. And due to missing check
in CastP2X::value() we got CastP2X(Top) in matcher.
Thanks,
Vladimir
>
>> Take into account only stores captured by Initialize node.
>>
>> Also added missing check for Top input in value() methods for CastP2X and
>> CastX2P nodes.
>
> Ok.
>
> tom
>
>> Thanks,
>> Vladimir
>
More information about the hotspot-compiler-dev
mailing list