1957 // Calculate offsets for String and Class classes since they are loaded and
1958 // can be used after this point.
1959 java_lang_String::compute_offsets();
1960 java_lang_Class::compute_offsets();
1961
1962 // Fixup mirrors for classes loaded before java.lang.Class.
1963 // These calls iterate over the objects currently in the perm gen
1964 // so calling them at this point is matters (not before when there
1965 // are fewer objects and not later after there are more objects
1966 // in the perm gen.
1967 Universe::initialize_basic_type_mirrors(CHECK);
1968 Universe::fixup_mirrors(CHECK);
1969
1970 // do a bunch more:
1971 initialize_wk_klasses_through(WK_KLASS_ENUM_NAME(Reference_klass), scan, CHECK);
1972
1973 // Preload ref klasses and set reference types
1974 InstanceKlass::cast(WK_KLASS(Reference_klass))->set_reference_type(REF_OTHER);
1975 InstanceRefKlass::update_nonstatic_oop_maps(WK_KLASS(Reference_klass));
1976
1977 initialize_wk_klasses_through(WK_KLASS_ENUM_NAME(Cleaner_klass), scan, CHECK);
1978 InstanceKlass::cast(WK_KLASS(SoftReference_klass))->set_reference_type(REF_SOFT);
1979 InstanceKlass::cast(WK_KLASS(WeakReference_klass))->set_reference_type(REF_WEAK);
1980 InstanceKlass::cast(WK_KLASS(FinalReference_klass))->set_reference_type(REF_FINAL);
1981 InstanceKlass::cast(WK_KLASS(PhantomReference_klass))->set_reference_type(REF_PHANTOM);
1982 InstanceKlass::cast(WK_KLASS(Cleaner_klass))->set_reference_type(REF_CLEANER);
1983
1984 // JSR 292 classes
1985 WKID jsr292_group_start = WK_KLASS_ENUM_NAME(MethodHandle_klass);
1986 WKID jsr292_group_end = WK_KLASS_ENUM_NAME(VolatileCallSite_klass);
1987 initialize_wk_klasses_until(jsr292_group_start, scan, CHECK);
1988 initialize_wk_klasses_through(jsr292_group_end, scan, CHECK);
1989 initialize_wk_klasses_until(NOT_JVMCI(WKID_LIMIT) JVMCI_ONLY(FIRST_JVMCI_WKID), scan, CHECK);
1990
1991 _box_klasses[T_BOOLEAN] = WK_KLASS(Boolean_klass);
1992 _box_klasses[T_CHAR] = WK_KLASS(Character_klass);
1993 _box_klasses[T_FLOAT] = WK_KLASS(Float_klass);
1994 _box_klasses[T_DOUBLE] = WK_KLASS(Double_klass);
1995 _box_klasses[T_BYTE] = WK_KLASS(Byte_klass);
1996 _box_klasses[T_SHORT] = WK_KLASS(Short_klass);
1997 _box_klasses[T_INT] = WK_KLASS(Integer_klass);
1998 _box_klasses[T_LONG] = WK_KLASS(Long_klass);
1999 //_box_klasses[T_OBJECT] = WK_KLASS(object_klass);
2000 //_box_klasses[T_ARRAY] = WK_KLASS(object_klass);
2001
2002 { // Compute whether we should use loadClass or loadClassInternal when loading classes.
|
1957 // Calculate offsets for String and Class classes since they are loaded and
1958 // can be used after this point.
1959 java_lang_String::compute_offsets();
1960 java_lang_Class::compute_offsets();
1961
1962 // Fixup mirrors for classes loaded before java.lang.Class.
1963 // These calls iterate over the objects currently in the perm gen
1964 // so calling them at this point is matters (not before when there
1965 // are fewer objects and not later after there are more objects
1966 // in the perm gen.
1967 Universe::initialize_basic_type_mirrors(CHECK);
1968 Universe::fixup_mirrors(CHECK);
1969
1970 // do a bunch more:
1971 initialize_wk_klasses_through(WK_KLASS_ENUM_NAME(Reference_klass), scan, CHECK);
1972
1973 // Preload ref klasses and set reference types
1974 InstanceKlass::cast(WK_KLASS(Reference_klass))->set_reference_type(REF_OTHER);
1975 InstanceRefKlass::update_nonstatic_oop_maps(WK_KLASS(Reference_klass));
1976
1977 initialize_wk_klasses_through(WK_KLASS_ENUM_NAME(PhantomReference_klass), scan, CHECK);
1978 InstanceKlass::cast(WK_KLASS(SoftReference_klass))->set_reference_type(REF_SOFT);
1979 InstanceKlass::cast(WK_KLASS(WeakReference_klass))->set_reference_type(REF_WEAK);
1980 InstanceKlass::cast(WK_KLASS(FinalReference_klass))->set_reference_type(REF_FINAL);
1981 InstanceKlass::cast(WK_KLASS(PhantomReference_klass))->set_reference_type(REF_PHANTOM);
1982
1983 // JSR 292 classes
1984 WKID jsr292_group_start = WK_KLASS_ENUM_NAME(MethodHandle_klass);
1985 WKID jsr292_group_end = WK_KLASS_ENUM_NAME(VolatileCallSite_klass);
1986 initialize_wk_klasses_until(jsr292_group_start, scan, CHECK);
1987 initialize_wk_klasses_through(jsr292_group_end, scan, CHECK);
1988 initialize_wk_klasses_until(NOT_JVMCI(WKID_LIMIT) JVMCI_ONLY(FIRST_JVMCI_WKID), scan, CHECK);
1989
1990 _box_klasses[T_BOOLEAN] = WK_KLASS(Boolean_klass);
1991 _box_klasses[T_CHAR] = WK_KLASS(Character_klass);
1992 _box_klasses[T_FLOAT] = WK_KLASS(Float_klass);
1993 _box_klasses[T_DOUBLE] = WK_KLASS(Double_klass);
1994 _box_klasses[T_BYTE] = WK_KLASS(Byte_klass);
1995 _box_klasses[T_SHORT] = WK_KLASS(Short_klass);
1996 _box_klasses[T_INT] = WK_KLASS(Integer_klass);
1997 _box_klasses[T_LONG] = WK_KLASS(Long_klass);
1998 //_box_klasses[T_OBJECT] = WK_KLASS(object_klass);
1999 //_box_klasses[T_ARRAY] = WK_KLASS(object_klass);
2000
2001 { // Compute whether we should use loadClass or loadClassInternal when loading classes.
|