src/share/vm/ci/ciObjectFactory.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File cik Sdiff src/share/vm/ci

src/share/vm/ci/ciObjectFactory.cpp

Print this page




 165       ->as_instance_klass_klass();
 166   ciEnv::_type_array_klass_klass_instance =
 167     get(Universe::typeArrayKlassKlassObj())
 168       ->as_type_array_klass_klass();
 169   ciEnv::_obj_array_klass_klass_instance =
 170     get(Universe::objArrayKlassKlassObj())
 171       ->as_obj_array_klass_klass();
 172 
 173 #define WK_KLASS_DEFN(name, ignore_s, opt)                              \
 174   if (SystemDictionary::name() != NULL) \
 175     ciEnv::_##name = get(SystemDictionary::name())->as_instance_klass();
 176 
 177   WK_KLASSES_DO(WK_KLASS_DEFN)
 178 #undef WK_KLASS_DEFN
 179 
 180   for (int len = -1; len != _ci_objects->length(); ) {
 181     len = _ci_objects->length();
 182     for (int i2 = 0; i2 < len; i2++) {
 183       ciObject* obj = _ci_objects->at(i2);
 184       if (obj->is_loaded() && obj->is_instance_klass()) {
 185         obj->as_instance_klass()->compute_nonstatic_fields();
 186       }
 187     }
 188   }
 189 
 190   ciEnv::_unloaded_cisymbol = ciObjectFactory::get_symbol(vmSymbols::dummy_symbol());
 191   // Create dummy instanceKlass and objArrayKlass object and assign them idents
 192   ciEnv::_unloaded_ciinstance_klass = new (_arena) ciInstanceKlass(ciEnv::_unloaded_cisymbol, NULL, NULL);
 193   init_ident_of(ciEnv::_unloaded_ciinstance_klass);
 194   ciEnv::_unloaded_ciobjarrayklass = new (_arena) ciObjArrayKlass(ciEnv::_unloaded_cisymbol, ciEnv::_unloaded_ciinstance_klass, 1);
 195   init_ident_of(ciEnv::_unloaded_ciobjarrayklass);
 196   assert(ciEnv::_unloaded_ciobjarrayklass->is_obj_array_klass(), "just checking");
 197 
 198   get(Universe::boolArrayKlassObj());
 199   get(Universe::charArrayKlassObj());
 200   get(Universe::singleArrayKlassObj());
 201   get(Universe::doubleArrayKlassObj());
 202   get(Universe::byteArrayKlassObj());
 203   get(Universe::shortArrayKlassObj());
 204   get(Universe::intArrayKlassObj());
 205   get(Universe::longArrayKlassObj());




 165       ->as_instance_klass_klass();
 166   ciEnv::_type_array_klass_klass_instance =
 167     get(Universe::typeArrayKlassKlassObj())
 168       ->as_type_array_klass_klass();
 169   ciEnv::_obj_array_klass_klass_instance =
 170     get(Universe::objArrayKlassKlassObj())
 171       ->as_obj_array_klass_klass();
 172 
 173 #define WK_KLASS_DEFN(name, ignore_s, opt)                              \
 174   if (SystemDictionary::name() != NULL) \
 175     ciEnv::_##name = get(SystemDictionary::name())->as_instance_klass();
 176 
 177   WK_KLASSES_DO(WK_KLASS_DEFN)
 178 #undef WK_KLASS_DEFN
 179 
 180   for (int len = -1; len != _ci_objects->length(); ) {
 181     len = _ci_objects->length();
 182     for (int i2 = 0; i2 < len; i2++) {
 183       ciObject* obj = _ci_objects->at(i2);
 184       if (obj->is_loaded() && obj->is_instance_klass()) {
 185         obj->as_instance_klass()->compute_fields();
 186       }
 187     }
 188   }
 189 
 190   ciEnv::_unloaded_cisymbol = ciObjectFactory::get_symbol(vmSymbols::dummy_symbol());
 191   // Create dummy instanceKlass and objArrayKlass object and assign them idents
 192   ciEnv::_unloaded_ciinstance_klass = new (_arena) ciInstanceKlass(ciEnv::_unloaded_cisymbol, NULL, NULL);
 193   init_ident_of(ciEnv::_unloaded_ciinstance_klass);
 194   ciEnv::_unloaded_ciobjarrayklass = new (_arena) ciObjArrayKlass(ciEnv::_unloaded_cisymbol, ciEnv::_unloaded_ciinstance_klass, 1);
 195   init_ident_of(ciEnv::_unloaded_ciobjarrayklass);
 196   assert(ciEnv::_unloaded_ciobjarrayklass->is_obj_array_klass(), "just checking");
 197 
 198   get(Universe::boolArrayKlassObj());
 199   get(Universe::charArrayKlassObj());
 200   get(Universe::singleArrayKlassObj());
 201   get(Universe::doubleArrayKlassObj());
 202   get(Universe::byteArrayKlassObj());
 203   get(Universe::shortArrayKlassObj());
 204   get(Universe::intArrayKlassObj());
 205   get(Universe::longArrayKlassObj());


src/share/vm/ci/ciObjectFactory.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File