Mercurial > hg > graal-jvmci-8
comparison src/share/vm/oops/methodOop.cpp @ 1144:9b9c1ee9b3f6
Merge
author | iveresov |
---|---|
date | Wed, 06 Jan 2010 22:21:39 -0800 |
parents | 4ce7240d622c |
children | cd37471eaecc |
comparison
equal
deleted
inserted
replaced
1129:a5a6adfca6ec | 1144:9b9c1ee9b3f6 |
---|---|
454 int length = this_oop->checked_exceptions_length(); | 454 int length = this_oop->checked_exceptions_length(); |
455 if (length == 0) { // common case | 455 if (length == 0) { // common case |
456 return objArrayHandle(THREAD, Universe::the_empty_class_klass_array()); | 456 return objArrayHandle(THREAD, Universe::the_empty_class_klass_array()); |
457 } else { | 457 } else { |
458 methodHandle h_this(THREAD, this_oop); | 458 methodHandle h_this(THREAD, this_oop); |
459 objArrayOop m_oop = oopFactory::new_objArray(SystemDictionary::class_klass(), length, CHECK_(objArrayHandle())); | 459 objArrayOop m_oop = oopFactory::new_objArray(SystemDictionary::Class_klass(), length, CHECK_(objArrayHandle())); |
460 objArrayHandle mirrors (THREAD, m_oop); | 460 objArrayHandle mirrors (THREAD, m_oop); |
461 for (int i = 0; i < length; i++) { | 461 for (int i = 0; i < length; i++) { |
462 CheckedExceptionElement* table = h_this->checked_exceptions_start(); // recompute on each iteration, not gc safe | 462 CheckedExceptionElement* table = h_this->checked_exceptions_start(); // recompute on each iteration, not gc safe |
463 klassOop k = h_this->constants()->klass_at(table[i].class_cp_index, CHECK_(objArrayHandle())); | 463 klassOop k = h_this->constants()->klass_at(table[i].class_cp_index, CHECK_(objArrayHandle())); |
464 assert(Klass::cast(k)->is_subclass_of(SystemDictionary::throwable_klass()), "invalid exception class"); | 464 assert(Klass::cast(k)->is_subclass_of(SystemDictionary::Throwable_klass()), "invalid exception class"); |
465 mirrors->obj_at_put(i, Klass::cast(k)->java_mirror()); | 465 mirrors->obj_at_put(i, Klass::cast(k)->java_mirror()); |
466 } | 466 } |
467 return mirrors; | 467 return mirrors; |
468 } | 468 } |
469 }; | 469 }; |
1030 klassOop klass = SystemDictionary::resolve_or_null(name, class_loader, | 1030 klassOop klass = SystemDictionary::resolve_or_null(name, class_loader, |
1031 protection_domain, THREAD); | 1031 protection_domain, THREAD); |
1032 // We are loading classes eagerly. If a ClassNotFoundException or | 1032 // We are loading classes eagerly. If a ClassNotFoundException or |
1033 // a LinkageError was generated, be sure to ignore it. | 1033 // a LinkageError was generated, be sure to ignore it. |
1034 if (HAS_PENDING_EXCEPTION) { | 1034 if (HAS_PENDING_EXCEPTION) { |
1035 if (PENDING_EXCEPTION->is_a(SystemDictionary::classNotFoundException_klass()) || | 1035 if (PENDING_EXCEPTION->is_a(SystemDictionary::ClassNotFoundException_klass()) || |
1036 PENDING_EXCEPTION->is_a(SystemDictionary::linkageError_klass())) { | 1036 PENDING_EXCEPTION->is_a(SystemDictionary::LinkageError_klass())) { |
1037 CLEAR_PENDING_EXCEPTION; | 1037 CLEAR_PENDING_EXCEPTION; |
1038 } else { | 1038 } else { |
1039 return false; | 1039 return false; |
1040 } | 1040 } |
1041 } | 1041 } |