8059340: ConstantPool::_resolved_references is missing in heap dump
authorvlivanov
Thu, 21 May 2015 18:23:01 +0300
changeset 31071 b455d36ef73c
parent 31070 d6c79efc10fe
child 31072 c6a387636aa5
8059340: ConstantPool::_resolved_references is missing in heap dump Reviewed-by: sspitsyn, stefank, twisti
jdk/src/java.base/share/classes/java/lang/Class.java
jdk/src/java.base/share/classes/sun/reflect/Reflection.java
--- a/jdk/src/java.base/share/classes/java/lang/Class.java	Fri May 15 19:23:27 2015 +0300
+++ b/jdk/src/java.base/share/classes/java/lang/Class.java	Thu May 21 18:23:01 2015 +0300
@@ -3653,4 +3653,7 @@
     public AnnotatedType[] getAnnotatedInterfaces() {
          return TypeAnnotationParser.buildAnnotatedInterfaces(getRawTypeAnnotations(), getConstantPool(), this);
     }
+
+    /** An array of resolved objects from constant pool. Used by JVM. */
+    private transient Object[] resolvedReferences;
 }
--- a/jdk/src/java.base/share/classes/sun/reflect/Reflection.java	Fri May 15 19:23:27 2015 +0300
+++ b/jdk/src/java.base/share/classes/sun/reflect/Reflection.java	Thu May 21 18:23:01 2015 +0300
@@ -46,7 +46,7 @@
         map.put(Reflection.class,
             new String[] {"fieldFilterMap", "methodFilterMap"});
         map.put(System.class, new String[] {"security"});
-        map.put(Class.class, new String[] {"classLoader"});
+        map.put(Class.class, new String[] {"classLoader", "resolvedReferences"});
         fieldFilterMap = map;
 
         methodFilterMap = new HashMap<>();