306 static void print() { return print_on(tty); } 307 static void print_on(outputStream* st) NOT_CDS_RETURN; 308 static void print_table_statistics(outputStream* st) NOT_CDS_RETURN; 309 static bool empty_dumptime_table() NOT_CDS_RETURN_(true); 310 311 DEBUG_ONLY(static bool no_class_loading_should_happen() {return _no_class_loading_should_happen;}) 312 313 #ifdef ASSERT 314 class NoClassLoadingMark: public StackObj { 315 public: 316 NoClassLoadingMark() { 317 assert(!_no_class_loading_should_happen, "must not be nested"); 318 _no_class_loading_should_happen = true; 319 } 320 ~NoClassLoadingMark() { 321 _no_class_loading_should_happen = false; 322 } 323 }; 324 #endif 325 326 }; 327 328 #endif // SHARE_CLASSFILE_SYSTEMDICTIONARYSHARED_HPP | 306 static void print() { return print_on(tty); } 307 static void print_on(outputStream* st) NOT_CDS_RETURN; 308 static void print_table_statistics(outputStream* st) NOT_CDS_RETURN; 309 static bool empty_dumptime_table() NOT_CDS_RETURN_(true); 310 311 DEBUG_ONLY(static bool no_class_loading_should_happen() {return _no_class_loading_should_happen;}) 312 313 #ifdef ASSERT 314 class NoClassLoadingMark: public StackObj { 315 public: 316 NoClassLoadingMark() { 317 assert(!_no_class_loading_should_happen, "must not be nested"); 318 _no_class_loading_should_happen = true; 319 } 320 ~NoClassLoadingMark() { 321 _no_class_loading_should_happen = false; 322 } 323 }; 324 #endif 325 326 template <typename T> 327 static unsigned int hash_for_shared_dictionary(T* ptr) { 328 assert(ptr > (T*)SharedBaseAddress, "must be"); 329 address p = address(ptr) - SharedBaseAddress; 330 return primitive_hash<address>(p); 331 } 332 }; 333 334 #endif // SHARE_CLASSFILE_SYSTEMDICTIONARYSHARED_HPP |