< prev index next >

src/hotspot/share/classfile/systemDictionary.cpp

Print this page

1960   ClassLoaderDataGraph::methods_do(f);
1961   // Walk method handle intrinsics
1962   invoke_method_table()->methods_do(f);
1963 }
1964 
1965 // ----------------------------------------------------------------------------
1966 // Initialization
1967 
1968 void SystemDictionary::initialize(TRAPS) {
1969   // Allocate arrays
1970   _placeholders        = new PlaceholderTable(_placeholder_table_size);
1971   _loader_constraints  = new LoaderConstraintTable(_loader_constraint_size);
1972   _resolution_errors   = new ResolutionErrorTable(_resolution_error_size);
1973   _invoke_method_table = new SymbolPropertyTable(_invoke_method_size);
1974   _pd_cache_table = new ProtectionDomainCacheTable(defaultProtectionDomainCacheSize);
1975 
1976   // Allocate private object used as system class loader lock
1977   oop lock_obj = oopFactory::new_intArray(0, CHECK);
1978   _system_loader_lock_obj = OopHandle(Universe::vm_global(), lock_obj);
1979 
1980   // Initialize basic classes
1981   resolve_well_known_classes(CHECK);




1982 }
1983 
1984 // Compact table of directions on the initialization of klasses:
1985 static const short wk_init_info[] = {
1986   #define WK_KLASS_INIT_INFO(name, symbol) \
1987     ((short)vmSymbols::VM_SYMBOL_ENUM_NAME(symbol)),
1988 
1989   WK_KLASSES_DO(WK_KLASS_INIT_INFO)
1990   #undef WK_KLASS_INIT_INFO
1991   0
1992 };
1993 
1994 #ifdef ASSERT
1995 bool SystemDictionary::is_well_known_klass(Symbol* class_name) {
1996   int sid;
1997   for (int i = 0; (sid = wk_init_info[i]) != 0; i++) {
1998     Symbol* symbol = vmSymbols::symbol_at((vmSymbols::SID)sid);
1999     if (class_name == symbol) {
2000       return true;
2001     }

1960   ClassLoaderDataGraph::methods_do(f);
1961   // Walk method handle intrinsics
1962   invoke_method_table()->methods_do(f);
1963 }
1964 
1965 // ----------------------------------------------------------------------------
1966 // Initialization
1967 
1968 void SystemDictionary::initialize(TRAPS) {
1969   // Allocate arrays
1970   _placeholders        = new PlaceholderTable(_placeholder_table_size);
1971   _loader_constraints  = new LoaderConstraintTable(_loader_constraint_size);
1972   _resolution_errors   = new ResolutionErrorTable(_resolution_error_size);
1973   _invoke_method_table = new SymbolPropertyTable(_invoke_method_size);
1974   _pd_cache_table = new ProtectionDomainCacheTable(defaultProtectionDomainCacheSize);
1975 
1976   // Allocate private object used as system class loader lock
1977   oop lock_obj = oopFactory::new_intArray(0, CHECK);
1978   _system_loader_lock_obj = OopHandle(Universe::vm_global(), lock_obj);
1979 
1980   // Resolve basic classes
1981   resolve_well_known_classes(CHECK);
1982   // Resolve classes used by archived heap objects
1983   if (UseSharedSpaces) {
1984     HeapShared::resolve_classes(CHECK);
1985   }
1986 }
1987 
1988 // Compact table of directions on the initialization of klasses:
1989 static const short wk_init_info[] = {
1990   #define WK_KLASS_INIT_INFO(name, symbol) \
1991     ((short)vmSymbols::VM_SYMBOL_ENUM_NAME(symbol)),
1992 
1993   WK_KLASSES_DO(WK_KLASS_INIT_INFO)
1994   #undef WK_KLASS_INIT_INFO
1995   0
1996 };
1997 
1998 #ifdef ASSERT
1999 bool SystemDictionary::is_well_known_klass(Symbol* class_name) {
2000   int sid;
2001   for (int i = 0; (sid = wk_init_info[i]) != 0; i++) {
2002     Symbol* symbol = vmSymbols::symbol_at((vmSymbols::SID)sid);
2003     if (class_name == symbol) {
2004       return true;
2005     }
< prev index next >