diff src/share/vm/classfile/systemDictionary.hpp @ 18614:c307546c7b0a

made initialization of the Graal class loader and well known Graal classes lazy
author Doug Simon <doug.simon@oracle.com>
date Thu, 04 Dec 2014 13:42:56 +0100
parents 43e2cc9a4fde
children 8f2fb6bec986
line wrap: on
line diff
--- a/src/share/vm/classfile/systemDictionary.hpp	Thu Dec 04 13:41:59 2014 +0100
+++ b/src/share/vm/classfile/systemDictionary.hpp	Thu Dec 04 13:42:56 2014 +0100
@@ -185,7 +185,7 @@
                                                                                                                          \
   /* Support for Graal */                                                                                                \
   do_klass(BitSet_klass,                                java_util_BitSet,                          Opt                 ) \
-  /* Graal classes */                                                                                                    \
+  /* Graal classes. These are loaded on-demand. */                                                                                 \
   GRAAL_ONLY(do_klass(Node_klass,                            com_oracle_graal_graph_Node,                                  Graal)) \
   GRAAL_ONLY(do_klass(NodeClass_klass,                       com_oracle_graal_graph_NodeClass,                             Graal)) \
   GRAAL_ONLY(do_klass(HotSpotCompiledCode_klass,             com_oracle_graal_hotspot_HotSpotCompiledCode,                 Graal)) \
@@ -537,6 +537,8 @@
   // Returns the Graal loader. This will be NULL if !UseGraalClassLoader
   // in which case it's equivalent to the boot loader
   static oop graal_loader();
+  // Sets the Graal loader. This is called at most once.
+  static void init_graal_loader(oop loader);
 #endif
 
   // Compute the default system loader
@@ -704,10 +706,6 @@
 public:
   static bool is_ext_class_loader(Handle class_loader);
 
-#ifdef GRAAL
-  static void initialize_preloaded_graal_classes(TRAPS);
-#endif
-
 private:
   static Klass* find_shared_class(Symbol* class_name);