[11u] RFR(M): 8213250: CDS archive creation aborts due to metaspace object allocation failure
Lindenmaier, Goetz
goetz.lindenmaier at sap.com
Fri Mar 13 14:21:28 UTC 2020
Hi
I would like to downport this [1] for parity with 11.0.8-oracle.
I had to resolve because in one context the InstandeKlass/Klass type differs.
Further the change depends on some previous changes in jdk/jdk.
I had to do the following changes in systemDictionaryShared.cpp:
Because [2] "8209645: Split ClassLoaderData and ClassLoaderDataGraph into separate files"
is not in 11, the include of ClassLoaderDataGraph.hpp is not needed.
I had to undo the effects of [3] "8209301: JVM rename is_anonymous, host_klass to
unsafe specific terminology ahead of Unsafe.defineAnonymousClass deprecation":
is_unsafe_anonymous() --> is_anonymous()
The new SystemDictionaryShared::finalize_verification_constraints() locks the
ClassLoaderDataGraph_lock. This lock was introduced by [4] "8210155: Lock
ClassLoaderDataGraph Summary: In preparation for concurrent class unloading." and
is not in 11. As I understand, 11 has no concurrent class loading, so this is not needed.
Removed.
This webrev shows the edits I did after applying the change:
http://cr.openjdk.java.net/~goetz/wr20/8213250-CDS_aborts-jdk11/01-edits/
This is the resulting webrev:
http://cr.openjdk.java.net/~goetz/wr20/8213250-CDS_aborts-jdk11/01/
Please review.
Best regards,
Goetz.
[1]
Original bug:
https://bugs.openjdk.java.net/browse/JDK-8213250
http://hg.openjdk.java.net/jdk/jdk/rev/e0fd97beab7e
[2]
8209645: Split ClassLoaderData and ClassLoaderDataGraph into separate files
https://bugs.openjdk.java.net/browse/JDK-8209645
http://hg.openjdk.java.net/jdk/jdk/rev/db0c3952de52
[3]
8209301: JVM rename is_anonymous, host_klass to unsafe specific terminology ahead
of Unsafe.defineAnonymousClass deprecation
https://bugs.openjdk.java.net/browse/JDK-8209301
http://hg.openjdk.java.net/jdk/jdk/rev/3e5d28e6de32
[4]
8210155: Lock ClassLoaderDataGraph Summary: In preparation for concurrent
class unloading
https://bugs.openjdk.java.net/browse/JDK-8210155
http://hg.openjdk.java.net/jdk/jdk/rev/625a5bdde0c5
More information about the jdk-updates-dev
mailing list