< prev index next > src/hotspot/share/classfile/systemDictionary.hpp
Print this page
class PackageEntry;
class GCTimer;
class EventClassLoad;
class Symbol;
+ template <class E> class GrowableArray;
+
class SystemDictionary : AllStatic {
+ friend class AOTLinkedClassBulkLoader;
friend class BootstrapInfo;
friend class vmClasses;
friend class VMStructs;
public:
// (does not ask Java, since this is a low-level intrinsic defined by the JVM)
static Method* find_method_handle_intrinsic(vmIntrinsicID iid,
Symbol* signature,
TRAPS);
+ static void get_all_method_handle_intrinsics(GrowableArray<Method*>* methods) NOT_CDS_RETURN;
+ static void restore_archived_method_handle_intrinsics() NOT_CDS_RETURN;
+
// compute java_mirror (java.lang.Class instance) for a type ("I", "[[B", "LFoo;", etc.)
// Either the accessing_klass or the CL/PD can be non-null, but not both.
static Handle find_java_mirror_for_type(Symbol* signature,
Klass* accessing_klass,
Handle class_loader,
// Record a nest host resolution/validation error
static void add_nest_host_error(const constantPoolHandle& pool, int which,
const char* message);
static const char* find_nest_host_error(const constantPoolHandle& pool, int which);
+ static void add_to_initiating_loader(JavaThread* current, InstanceKlass* k,
+ ClassLoaderData* loader_data) NOT_CDS_RETURN;
+ protected:
+ static InstanceKlass* _well_known_klasses[];
+
+ private:
+ // table of box klasses (int_klass, etc.)
+ static InstanceKlass* _box_klasses[T_VOID+1];
+
static OopHandle _java_system_loader;
static OopHandle _java_platform_loader;
private:
// Basic loading operations
static bool check_shared_class_super_type(InstanceKlass* klass, InstanceKlass* super,
Handle class_loader, Handle protection_domain,
bool is_superclass, TRAPS);
static bool check_shared_class_super_types(InstanceKlass* ik, Handle class_loader,
Handle protection_domain, TRAPS);
- // Second part of load_shared_class
- static void load_shared_class_misc(InstanceKlass* ik, ClassLoaderData* loader_data) NOT_CDS_RETURN;
+ static void restore_archived_method_handle_intrinsics_impl(TRAPS);
protected:
// Used by SystemDictionaryShared
+ // Second part of load_shared_class
+ static void load_shared_class_misc(InstanceKlass* ik, ClassLoaderData* loader_data) NOT_CDS_RETURN;
+
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 InstanceKlass* load_shared_lambda_proxy_class(InstanceKlass* ik,
Handle class_loader,
< prev index next >