[8u76] Request for approval: 8131782: C1 Class.cast optimization breaks when Class is loaded from static final
aleksey.shipilev at oracle.com
Thu Dec 3 17:18:30 UTC 2015
We'd like to backport a simple Hotspot compiler change that serves as
the important prerequisite for another upcoming JDK backport for
Atomic*FieldUpdaters (A*FU) performance.
The dependency is simple: C1 intrinsics for Class methods distrust the
classes loaded from final fields due to an oddity in constant parsing.
When A*FU implementations do the typechecks/casts against the target
classes loaded from their internal final fields, those operations are
not folded, but really should be. It is not visible now, since current
8u code does the direct class check, but it will be important when we
backport that other A*FU change
As other A*FU-related patches, thus provides a migration path with the
eventual demise of sun.misc.Unsafe. Therefore, I'd like us to consider
this in 8u76 to expose users to this improvement earlier than JDK 9 release.
I am not a 8u Committer, so if the change is approved, I'd need a sponsor.
JDK 9 Changeset:
JDK 9 Review:
The change was in jdk9 since August 2015. The patch applies without
fuzz. jdk8u builds and runs fine at least on Linux x86_64, the
performance improvement is the same as in JDK 9.
More information about the jdk8u-dev