equal
deleted
inserted
replaced
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)); |