review (S) for 6958485: fix for 6879921 was insufficient

Vladimir Kozlov vladimir.kozlov at oracle.com
Fri Jun 4 10:33:28 PDT 2010


Looks good.

Vladimir

Tom Rodriguez wrote:
> http://cr.openjdk.java.net/~never/6958485
> 
> 6958485: fix for 6879921 was insufficient
> Reviewed-by:
> 
> 6879921 fixed a case where the superword optimization was attempting
> to handle arrays of oops which we shouldn't allow.  A guard was
> inserted in stmts_can_pack which fixed the original issue.  Testing
> with bigapps has shown that there are other paths where this problem
> can manifest.  In particular this pattern:
> 
>  dst[i] = (src[i] != null ? false : true);
> 
> shows that are_adjacent_refs can be reached through est_savings,
> skipping the added is_java_primitive guard.  The fix is to put an
> is_java_primitive guard into are_adjacent_refs to guard the data_size
> calls.  Tested with new testcase.


More information about the hotspot-compiler-dev mailing list