< prev index next > src/hotspot/share/classfile/systemDictionary.hpp
Print this page
class BootstrapInfo;
class ClassFileStream;
class ClassLoadInfo;
class Dictionary;
+ class AllFieldStream;
class PackageEntry;
class GCTimer;
class EventClassLoad;
class Symbol;
TRAPS);
// Resolve a superclass or superinterface. Called from ClassFileParser,
// parse_interfaces, resolve_instance_class_or_null, load_shared_class
// "class_name" is the class whose super class or interface is being resolved.
! static InstanceKlass* resolve_super_or_fail(Symbol* class_name, Symbol* super_name,
Handle class_loader,
bool is_superclass, TRAPS) {
return resolve_with_circularity_detection(class_name, super_name, class_loader, is_superclass, THREAD);
}
TRAPS);
// Resolve a superclass or superinterface. Called from ClassFileParser,
// parse_interfaces, resolve_instance_class_or_null, load_shared_class
// "class_name" is the class whose super class or interface is being resolved.
! static InstanceKlass* resolve_with_circularity_detection_or_fail(Symbol* class_name,
+ Symbol* super_name,
Handle class_loader,
bool is_superclass, TRAPS) {
return resolve_with_circularity_detection(class_name, super_name, class_loader, is_superclass, THREAD);
}
static oop get_system_class_loader_impl(TRAPS);
static oop get_platform_class_loader_impl(TRAPS);
public:
+
// Resolve either a hidden or normal class from a stream of bytes, based on ClassLoadInfo
static InstanceKlass* resolve_from_stream(ClassFileStream* st,
Symbol* class_name,
Handle class_loader,
const ClassLoadInfo& cl_info,
// Used by SystemDictionaryShared and LambdaProxyClassDictionary
static bool add_loader_constraint(Symbol* name, Klass* klass_being_linked, Handle loader1,
Handle loader2);
static void post_class_load_event(EventClassLoad* event, const InstanceKlass* k, const ClassLoaderData* init_cld);
+ static bool preload_from_null_free_field(InstanceKlass* ik, Handle class_loader, Symbol* sig, int field_index, TRAPS);
+ static void try_preload_from_loadable_descriptors(InstanceKlass* ik, Handle class_loader, Symbol* sig, int field_index, TRAPS);
static InstanceKlass* load_shared_class(InstanceKlass* ik,
Handle class_loader,
Handle protection_domain,
const ClassFileStream *cfs,
PackageEntry* pkg_entry,
< prev index next >