review (S) for 7032162: assert(flat != TypePtr::BOTTOM) failed: cannot alias-analyze an untyped ptr
Vladimir Kozlov
vladimir.kozlov at oracle.com
Wed Apr 6 13:49:15 PDT 2011
You replaced 'require_constant' with 'true' to the call make_from_constant() so
I was wondering if it may change behavior. Specifically it may produce NULL now
if oop_constant->can_be_constant() is 'false':
if (require_constant) {
if (!o->can_be_constant()) return NULL;
Vladimir
Tom Rodriguez wrote:
> http://cr.openjdk.java.net/~never/7032162
>
> 7032162: assert(flat != TypePtr::BOTTOM) failed: cannot alias-analyze an untyped ptr
> Reviewed-by:
>
> This appears to be an existing problem with OptimizeStringConcat where
> missing control can allow some loads to be split up to where their
> base is NULL which causes addresses that can't be analyzed. The fix
> is to use the appropriate control. If it's truly unneeded it will be
> optimized away. The bug was exposed by the String not in perm changes
> because we were no longer treating some constant strings as embeddable
> constants. This is fixed by handling them specially in push_constant.
> Tested with failing test from report and full CTW with string opts.
>
More information about the hotspot-compiler-dev
mailing list