< prev index next >

src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/Method.java

Print this page
@@ -66,10 +66,11 @@
      fromCompiledCodeEntryPoint = type.getAddressField("_from_compiled_code_entry_point");
      interpreterEntry           = type.getAddressField("_from_interpreted_entry");
      */
  
      objectInitializerName = null;
+     valueFactoryName = null;
      classInitializerName = null;
    }
  
    public Method(Address addr) {
      super(addr);

@@ -95,17 +96,24 @@
  
  
    // constant method names - <init>, <clinit>
    // Initialized lazily to avoid initialization ordering dependencies between ArrayKlass and String
    private static String objectInitializerName;
+   private static String valueFactoryName;
    private static String classInitializerName;
    private static String objectInitializerName() {
      if (objectInitializerName == null) {
        objectInitializerName = "<init>";
      }
      return objectInitializerName;
    }
+   private static String valueFactoryName() {
+     if (valueFactoryName == null) {
+       valueFactoryName = "<vnew>";
+     }
+     return classInitializerName;
+   }
    private static String classInitializerName() {
      if (classInitializerName == null) {
        classInitializerName = "<clinit>";
      }
      return classInitializerName;

@@ -251,11 +259,11 @@
    public boolean isAbstract()       { return getAccessFlagsObj().isAbstract();                         }
    public boolean isStrict()         { return getAccessFlagsObj().isStrict();                           }
    public boolean isSynthetic()      { return getAccessFlagsObj().isSynthetic();                        }
  
    public boolean isConstructor() {
-      return (!isStatic()) && getName().equals(objectInitializerName());
+      return (!isStatic()) && (getName().equals(objectInitializerName()) || getName().equals(valueFactoryName()));
    }
  
    public boolean isStaticInitializer() {
       return isStatic() && getName().equals(classInitializerName());
    }
< prev index next >