< prev index next >

src/hotspot/share/prims/jvmtiRedefineClasses.cpp

Print this page
*** 331,10 ***
--- 331,19 ---
    // classes for arrays cannot be redefined
    if (k == NULL || !k->is_instance_klass()) {
      return false;
    }
  
+   // Cannot redefine or retransform interface java.lang.IdentityObject.
+   if (k->name() == vmSymbols::java_lang_IdentityObject()) {
+     return false;
+   }
+   // Cannot redefine or retransform interface java.lang.PrimitiveObject.
+   if (k->name() == vmSymbols::java_lang_PrimitiveObject()) {
+     return false;
+   }
+ 
    // Cannot redefine or retransform a hidden class.
    if (InstanceKlass::cast(k)->is_hidden()) {
      return false;
    }
    return true;

*** 596,12 ***
      case JVM_CONSTANT_Invalid: // fall through
  
      // At this stage, String could be here, but not StringIndex
      case JVM_CONSTANT_StringIndex: // fall through
  
!     // At this stage JVM_CONSTANT_UnresolvedClassInError should not be
-     // here
      case JVM_CONSTANT_UnresolvedClassInError: // fall through
  
      default:
      {
        // leave a breadcrumb
--- 605,11 ---
      case JVM_CONSTANT_Invalid: // fall through
  
      // At this stage, String could be here, but not StringIndex
      case JVM_CONSTANT_StringIndex: // fall through
  
!     // At this stage JVM_CONSTANT_UnresolvedClassInError should not be here
      case JVM_CONSTANT_UnresolvedClassInError: // fall through
  
      default:
      {
        // leave a breadcrumb
< prev index next >