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.