comparison src/share/vm/oops/method.cpp @ 6983:070d523b96a7

8001471: Klass::cast() does nothing Summary: Remove function Klass::cast() and calls to it. Reviewed-by: dholmes, coleenp
author hseigel
date Mon, 12 Nov 2012 16:15:05 -0500
parents 18fb7da42534
children 2cb439954abf 59c790074993 b2dbd323c668
comparison
equal deleted inserted replaced
6981:8c413497f434 6983:070d523b96a7
150 assert(_adapter != NULL, "must have"); 150 assert(_adapter != NULL, "must have");
151 return _adapter->get_c2i_unverified_entry(); 151 return _adapter->get_c2i_unverified_entry();
152 } 152 }
153 153
154 char* Method::name_and_sig_as_C_string() const { 154 char* Method::name_and_sig_as_C_string() const {
155 return name_and_sig_as_C_string(Klass::cast(constants()->pool_holder()), name(), signature()); 155 return name_and_sig_as_C_string(constants()->pool_holder(), name(), signature());
156 } 156 }
157 157
158 char* Method::name_and_sig_as_C_string(char* buf, int size) const { 158 char* Method::name_and_sig_as_C_string(char* buf, int size) const {
159 return name_and_sig_as_C_string(Klass::cast(constants()->pool_holder()), name(), signature(), buf, size); 159 return name_and_sig_as_C_string(constants()->pool_holder(), name(), signature(), buf, size);
160 } 160 }
161 161
162 char* Method::name_and_sig_as_C_string(Klass* klass, Symbol* method_name, Symbol* signature) { 162 char* Method::name_and_sig_as_C_string(Klass* klass, Symbol* method_name, Symbol* signature) {
163 const char* klass_name = klass->external_name(); 163 const char* klass_name = klass->external_name();
164 int klass_name_len = (int)strlen(klass_name); 164 int klass_name_len = (int)strlen(klass_name);
576 objArrayOop m_oop = oopFactory::new_objArray(SystemDictionary::Class_klass(), length, CHECK_(objArrayHandle())); 576 objArrayOop m_oop = oopFactory::new_objArray(SystemDictionary::Class_klass(), length, CHECK_(objArrayHandle()));
577 objArrayHandle mirrors (THREAD, m_oop); 577 objArrayHandle mirrors (THREAD, m_oop);
578 for (int i = 0; i < length; i++) { 578 for (int i = 0; i < length; i++) {
579 CheckedExceptionElement* table = h_this->checked_exceptions_start(); // recompute on each iteration, not gc safe 579 CheckedExceptionElement* table = h_this->checked_exceptions_start(); // recompute on each iteration, not gc safe
580 Klass* k = h_this->constants()->klass_at(table[i].class_cp_index, CHECK_(objArrayHandle())); 580 Klass* k = h_this->constants()->klass_at(table[i].class_cp_index, CHECK_(objArrayHandle()));
581 assert(Klass::cast(k)->is_subclass_of(SystemDictionary::Throwable_klass()), "invalid exception class"); 581 assert(k->is_subclass_of(SystemDictionary::Throwable_klass()), "invalid exception class");
582 mirrors->obj_at_put(i, Klass::cast(k)->java_mirror()); 582 mirrors->obj_at_put(i, k->java_mirror());
583 } 583 }
584 return mirrors; 584 return mirrors;
585 } 585 }
586 }; 586 };
587 587
616 bool Method::is_klass_loaded_by_klass_index(int klass_index) const { 616 bool Method::is_klass_loaded_by_klass_index(int klass_index) const {
617 if( constants()->tag_at(klass_index).is_unresolved_klass() ) { 617 if( constants()->tag_at(klass_index).is_unresolved_klass() ) {
618 Thread *thread = Thread::current(); 618 Thread *thread = Thread::current();
619 Symbol* klass_name = constants()->klass_name_at(klass_index); 619 Symbol* klass_name = constants()->klass_name_at(klass_index);
620 Handle loader(thread, method_holder()->class_loader()); 620 Handle loader(thread, method_holder()->class_loader());
621 Handle prot (thread, Klass::cast(method_holder())->protection_domain()); 621 Handle prot (thread, method_holder()->protection_domain());
622 return SystemDictionary::find(klass_name, loader, prot, thread) != NULL; 622 return SystemDictionary::find(klass_name, loader, prot, thread) != NULL;
623 } else { 623 } else {
624 return true; 624 return true;
625 } 625 }
626 } 626 }
1065 1065
1066 return m; 1066 return m;
1067 } 1067 }
1068 1068
1069 Klass* Method::check_non_bcp_klass(Klass* klass) { 1069 Klass* Method::check_non_bcp_klass(Klass* klass) {
1070 if (klass != NULL && Klass::cast(klass)->class_loader() != NULL) { 1070 if (klass != NULL && klass->class_loader() != NULL) {
1071 if (Klass::cast(klass)->oop_is_objArray()) 1071 if (klass->oop_is_objArray())
1072 klass = ObjArrayKlass::cast(klass)->bottom_klass(); 1072 klass = ObjArrayKlass::cast(klass)->bottom_klass();
1073 return klass; 1073 return klass;
1074 } 1074 }
1075 return NULL; 1075 return NULL;
1076 } 1076 }