[9] RFR (XS): 8058825: EA: ConnectionGraph::split_unique_types does incorrect scalar replacement

Vladimir Kozlov vladimir.kozlov at oracle.com
Mon Sep 29 16:32:00 UTC 2014

Looks good. But can you explain what is changed in Arrays::copyOf in jdk9 and how it affected this problem?
Did the allocation became escaped?

Vladimir K

On 9/29/14 9:16 AM, Vladimir Ivanov wrote:
> https://bugs.openjdk.java.net/browse/JDK-8058825
> http://cr.openjdk.java.net/~vlivanov/8058825/webrev.00/
> In some cases an allocation of non-escaping object can be eliminated, but there's no precise type information to
> rematerialize it. In that case, if there's a need to rematerialize the object, an object of possibly wrong type will be
> instantiated.
> The fix is to avoid allocation elimination, if the type isn't precise. The downside is that allocation isn't eliminated
> even if object rematerialization support isn't required. Filed JDK-8059378 [1] to track EA enhancement for this
> particular case.
> The bug was found in 8u40 with an old implementation of Arrays::copyOf intrinsic. The intrinsic implementation has been
> updated in 9.
> I wasn't able to come up with a regression test, which can reliably reproduce the problem in 9.
> Testing: tested w/ regression test (attached to the bug) on 8u40.
> Thanks!
> Best regards,
> Vladimir Ivanov
> [1] https://bugs.openjdk.java.net/browse/JDK-8059378

More information about the hotspot-compiler-dev mailing list