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
Tue Apr 7 15:04:31 PDT 2009


I replaced type(base)->higher_equal(TypePtr::NOTNULL)
condition in LoadNode::Ideal() for EliminateAutoBox cases
with the assert::

assert(!phase->type(base)->higher_equal(TypePtr::NULL_PTR),

and added the check in LoadNode::Value()

http://cr.openjdk.java.net/~kvn/6711117/webrev.02

Vladimir

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