src/share/vm/classfile/systemDictionary.hpp

Print this page
rev 3 : [mq]: anonk.patch

@@ -221,10 +221,20 @@
   // class hierarchy, simply parse the stream. Used by JVMTI RedefineClasses.
   static klassOop parse_stream(symbolHandle class_name,
                                Handle class_loader,
                                Handle protection_domain,
                                ClassFileStream* st,
+                               TRAPS) {
+    KlassHandle nullHandle;
+    return parse_stream(class_name, class_loader, protection_domain, st, nullHandle, NULL, THREAD);
+  }
+  static klassOop parse_stream(symbolHandle class_name,
+                               Handle class_loader,
+                               Handle protection_domain,
+                               ClassFileStream* st,
+                               KlassHandle host_klass,
+                               GrowableArray<Handle>* cp_patches,
                                TRAPS);
 
   // Resolve from stream (called by jni_DefineClass and JVM_DefineClass)
   static klassOop resolve_from_stream(symbolHandle class_name, Handle class_loader, Handle protection_domain, ClassFileStream* st, TRAPS);
 

@@ -380,13 +390,17 @@
   #undef WK_KLASS_DECLARE
 
   // Local definition for direct access to the private array:
   #define WK_KLASS(name) _well_known_klasses[WK_KLASS_ENUM_NAME(name)]
 
+  // Return Integer for T_INT, etc.
+  // Return NULL if t is not a boxable primitive type, such as T_OBJECT or T_ILLEGAL.
   static klassOop box_klass(BasicType t) {
-    assert((uint)t < T_VOID+1, "range check");
-    return check_klass(_box_klasses[t]);
+    if ((uint)t <= T_VOID)
+      return _box_klasses[t];
+    else
+      return NULL;
   }
   static BasicType box_klass_type(klassOop k);  // inverse of box_klass
 
   // methods returning lazily loaded klasses
   // The corresponding method to load the class must be called before calling them.