src/hotspot/share/ci/ciEnv.cpp
changeset 49658 8237a91c1cca
parent 49594 898ef81cbc0e
child 50113 caf115bb98ad
equal deleted inserted replaced
49657:45071514f87a 49658:8237a91c1cca
   539                                         get_symbol(klass_name),
   539                                         get_symbol(klass_name),
   540                                         false);
   540                                         false);
   541     // Calculate accessibility the hard way.
   541     // Calculate accessibility the hard way.
   542     if (!k->is_loaded()) {
   542     if (!k->is_loaded()) {
   543       is_accessible = false;
   543       is_accessible = false;
   544     } else if (k->loader() != accessor->loader() &&
   544     } else if (!oopDesc::equals(k->loader(), accessor->loader()) &&
   545                get_klass_by_name_impl(accessor, cpool, k->name(), true) == NULL) {
   545                get_klass_by_name_impl(accessor, cpool, k->name(), true) == NULL) {
   546       // Loaded only remotely.  Not linked yet.
   546       // Loaded only remotely.  Not linked yet.
   547       is_accessible = false;
   547       is_accessible = false;
   548     } else {
   548     } else {
   549       // Linked locally, and we must also check public/private, etc.
   549       // Linked locally, and we must also check public/private, etc.
   590   if (cache_index >= 0) {
   590   if (cache_index >= 0) {
   591     assert(index < 0, "only one kind of index at a time");
   591     assert(index < 0, "only one kind of index at a time");
   592     index = cpool->object_to_cp_index(cache_index);
   592     index = cpool->object_to_cp_index(cache_index);
   593     oop obj = cpool->resolved_references()->obj_at(cache_index);
   593     oop obj = cpool->resolved_references()->obj_at(cache_index);
   594     if (obj != NULL) {
   594     if (obj != NULL) {
   595       if (obj == Universe::the_null_sentinel()) {
   595       if (oopDesc::equals(obj, Universe::the_null_sentinel())) {
   596         return ciConstant(T_OBJECT, get_object(NULL));
   596         return ciConstant(T_OBJECT, get_object(NULL));
   597       }
   597       }
   598       BasicType bt = T_OBJECT;
   598       BasicType bt = T_OBJECT;
   599       if (cpool->tag_at(index).is_dynamic_constant())
   599       if (cpool->tag_at(index).is_dynamic_constant())
   600         bt = FieldType::basic_type(cpool->uncached_signature_ref_at(index));
   600         bt = FieldType::basic_type(cpool->uncached_signature_ref_at(index));