comparison 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
comparison
equal deleted inserted replaced
18613:8c3a85077f84 18614:c307546c7b0a
183 do_klass(Integer_klass, java_lang_Integer, Pre ) \ 183 do_klass(Integer_klass, java_lang_Integer, Pre ) \
184 do_klass(Long_klass, java_lang_Long, Pre ) \ 184 do_klass(Long_klass, java_lang_Long, Pre ) \
185 \ 185 \
186 /* Support for Graal */ \ 186 /* Support for Graal */ \
187 do_klass(BitSet_klass, java_util_BitSet, Opt ) \ 187 do_klass(BitSet_klass, java_util_BitSet, Opt ) \
188 /* Graal classes */ \ 188 /* Graal classes. These are loaded on-demand. */ \
189 GRAAL_ONLY(do_klass(Node_klass, com_oracle_graal_graph_Node, Graal)) \ 189 GRAAL_ONLY(do_klass(Node_klass, com_oracle_graal_graph_Node, Graal)) \
190 GRAAL_ONLY(do_klass(NodeClass_klass, com_oracle_graal_graph_NodeClass, Graal)) \ 190 GRAAL_ONLY(do_klass(NodeClass_klass, com_oracle_graal_graph_NodeClass, Graal)) \
191 GRAAL_ONLY(do_klass(HotSpotCompiledCode_klass, com_oracle_graal_hotspot_HotSpotCompiledCode, Graal)) \ 191 GRAAL_ONLY(do_klass(HotSpotCompiledCode_klass, com_oracle_graal_hotspot_HotSpotCompiledCode, Graal)) \
192 GRAAL_ONLY(do_klass(HotSpotCompiledCode_Comment_klass, com_oracle_graal_hotspot_HotSpotCompiledCode_Comment, Graal)) \ 192 GRAAL_ONLY(do_klass(HotSpotCompiledCode_Comment_klass, com_oracle_graal_hotspot_HotSpotCompiledCode_Comment, Graal)) \
193 GRAAL_ONLY(do_klass(HotSpotCompiledNmethod_klass, com_oracle_graal_hotspot_HotSpotCompiledNmethod, Graal)) \ 193 GRAAL_ONLY(do_klass(HotSpotCompiledNmethod_klass, com_oracle_graal_hotspot_HotSpotCompiledNmethod, Graal)) \
535 535
536 #ifdef GRAAL 536 #ifdef GRAAL
537 // Returns the Graal loader. This will be NULL if !UseGraalClassLoader 537 // Returns the Graal loader. This will be NULL if !UseGraalClassLoader
538 // in which case it's equivalent to the boot loader 538 // in which case it's equivalent to the boot loader
539 static oop graal_loader(); 539 static oop graal_loader();
540 // Sets the Graal loader. This is called at most once.
541 static void init_graal_loader(oop loader);
540 #endif 542 #endif
541 543
542 // Compute the default system loader 544 // Compute the default system loader
543 static void compute_java_system_loader(TRAPS); 545 static void compute_java_system_loader(TRAPS);
544 546
702 static bool is_parallelDefine(Handle class_loader); 704 static bool is_parallelDefine(Handle class_loader);
703 705
704 public: 706 public:
705 static bool is_ext_class_loader(Handle class_loader); 707 static bool is_ext_class_loader(Handle class_loader);
706 708
707 #ifdef GRAAL
708 static void initialize_preloaded_graal_classes(TRAPS);
709 #endif
710
711 private: 709 private:
712 static Klass* find_shared_class(Symbol* class_name); 710 static Klass* find_shared_class(Symbol* class_name);
713 711
714 // Setup link to hierarchy 712 // Setup link to hierarchy
715 static void add_to_hierarchy(instanceKlassHandle k, TRAPS); 713 static void add_to_hierarchy(instanceKlassHandle k, TRAPS);