Request for reviews (S): 6836054: java/util/Arrays/CopyMethods.java fails on solaris-sparc with IllegalArgumentException

Vladimir Kozlov Vladimir.Kozlov at Sun.COM
Thu May 7 20:29:04 PDT 2009


http://cr.openjdk.java.net/~kvn/6836054/webrev.00

Fixed 6836054: java/util/Arrays/CopyMethods.java fails on solaris-sparc with IllegalArgumentException

Problem:
Escape Analysis requires that allocations should have
exact type (by using CheckCastPP node) for restoring
objects during deoptimization. But reflection allocation
set type to j.l.Object assuming that caller will cast
to exact type. In the failing case there is no cast
to array type so debug info contains incorrect type
(j.l.Object) for scalar replaced array allocation.
It causes the Exception after deoptimization.

Solution:
Do not mark an allocation as scalar replaceable if
it does not have exact type.

Reviewed by:

Fix verified (y/n): y, bugs case

Other testing:
JPRT, CTW




More information about the hotspot-compiler-dev mailing list