Request for reviews (S): 6711117: Assertion in 64bit server vm (flat != TypePtr::BOTTOM,"cannot alias-analyze an untyped ptr")
Vladimir Kozlov
Vladimir.Kozlov at Sun.COM
Mon Apr 6 16:18:58 PDT 2009
Tom Rodriguez wrote:
> The extra load of base can be eliminated too since you moved the check
> for != NULL outside.
Done.
>
> I don't understand this addition:
>
> && phase->type(base)->higher_equal(TypePtr::NOTNULL)
>
> Why does the base need to be NOTNULL?
You are right, it should be != NULL_PTR:
!phase->type(base)->higher_equal(TypePtr::NULL_PTR)
to avoid "NULL+off" address type.
Vladimir
>
> tom
>
> On Apr 6, 2009, at 3:33 PM, Vladimir Kozlov wrote:
>
>> http://cr.openjdk.java.net/~kvn/6711117/webrev.00
>>
>> Fixed 6711117: Assertion in 64bit server vm (flat !=
>> TypePtr::BOTTOM,"cannot alias-analyze an untyped ptr")
>>
>> Problem:
>> The assert is triggered by the eliminate AutoBox code which asks
>> an alias type of "NULL+off" address type.
>> It is caused by the memory node processing during IGVN before
>> its control edge which checks the address's nullness is processed.
>>
>> Solution:
>> Delay a memory node transformation if its control on IGVN worklist.
>> Delay a memory node transformation if its address on IGVN worklist.
>> Execute the eliminate AutoBox code only when the address is not NULL.
>> Use replace_node() instead of subsume_node() during macro nodes
>> expansion to put users of the old node on IGVN worklist.
>>
>> Reviewed by:
>>
>> Fix verified (y/n): y, bug test
>>
>> Other testing:
>> JPRT
>
More information about the hotspot-compiler-dev
mailing list