[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