Index: vm/vmcore/src/kernel_classes/javasrc/java/lang/Class.java =================================================================== --- vm/vmcore/src/kernel_classes/javasrc/java/lang/Class.java (revision 661067) +++ vm/vmcore/src/kernel_classes/javasrc/java/lang/Class.java (working copy) @@ -77,6 +77,14 @@ private static final long serialVersionUID = 3206093459760846163L; + // Frequently-used classes + private static final Class SERIALIZABLE = Serializable.class; + private static final Class EXTERNALIZABLE = Externalizable.class; + private static final Class ENUM = Enum.class; + private static final Class CLONEABLE = Cloneable.class; + private static final Class OBJECT = Object.class; + + public static Class forName(String name) throws ClassNotFoundException { return forName(name, true, VMClassRegistry.getClassLoader(VMStack .getCallerClass(0))); @@ -553,11 +561,11 @@ public boolean isAssignableFrom(Class clazz) { - if (Serializable.class.equals(this)) { + if (SERIALIZABLE.equals(this)) { return clazz.getReflectionData().isSerializable(); } - if (Externalizable.class.equals(this)) { + if (EXTERNALIZABLE.equals(this)) { return clazz.getReflectionData().isExternalizable(); } @@ -771,7 +779,7 @@ public boolean isEnum() { // check for superclass is needed for compatibility // otherwise there are false positives on anonymous element classes - return ((getModifiers() & ACC_ENUM) != 0 && getSuperclass() == Enum.class); + return ((getModifiers() & ACC_ENUM) != 0 && getSuperclass() == ENUM); } public boolean isAnnotation() { @@ -811,7 +819,7 @@ public Type[] getGenericInterfaces() throws GenericSignatureFormatError, TypeNotPresentException, MalformedParameterizedTypeException { if (isArray()) { - return new Type[]{Cloneable.class, Serializable.class}; + return new Type[]{CLONEABLE, SERIALIZABLE}; } if (isPrimitive()) { return new Type[0]; @@ -826,7 +834,7 @@ return null; } if (isArray()) { - return (Type) Object.class; + return (Type) OBJECT; } Class clazz = getSuperclass(); @@ -935,8 +943,8 @@ private void resolveSerialProps() { if (!_serialPropsResolved){ - _isExternalizable = VMClassRegistry.isAssignableFrom(Externalizable.class, Class.this); - _isSerializable = VMClassRegistry.isAssignableFrom(Serializable.class, Class.this); + _isExternalizable = VMClassRegistry.isAssignableFrom(EXTERNALIZABLE, Class.this); + _isSerializable = VMClassRegistry.isAssignableFrom(SERIALIZABLE, Class.this); _serialPropsResolved = true; } }