RFR(M): 8141551: C2 can not handle returns with incompatible interface arrays

Andrew Dinn adinn at redhat.com
Thu Nov 12 10:27:37 UTC 2015

On 12/11/15 01:33, John Rose wrote:
> Ughh, that again.  This is 15-year-old technical debt in the C2 type system.
> It has almost earned VP-level recognition as an organizational cost center.
> Here is some of the trail of tears:
> https://bugs.openjdk.java.net/browse/JDK-6312651
> https://bugs.openjdk.java.net/browse/JDK-4641534
> https://bugs.openjdk.java.net/browse/JDK-6837094
> https://bugs.openjdk.java.net/browse/JDK-8028165?focusedCommentId=13614504&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13614504

A shame that the first two links seem not to be traversable (from
outside of Oracle at least). The final link is well worth a visit, not
just to the referenced comment but also to the opener -- which is not
afraid to name names.

I think I resolved the references correctly as follows:

Davey/Priestley to


and Nielson/Nielson/Hankin to


Hecht to


The first one looks like it is just basic lattice theory whereas the
second one looks to apply that theory to the compilation task and seems
to be highly relevant to what C2 does (1999 pub date :-). The third text
also seems to be about applications of lattices to compiler analysis but
dates back to the 70s. I assume it is one of those 'seminal works'. A
reference to the 2nd text in type.hpp would probably have helped me a
lot about 2 years ago.

A Happy Christmas (or alter/non-denominational festive vacation) to all
our readers.


Andrew Dinn

More information about the hotspot-compiler-dev mailing list