< prev index next > src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/Method.java
Print this page
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);
// 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;
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 >