comparison src/share/vm/oops/instanceKlass.hpp @ 8693:872b3feace55

8008750: [partfait] Null pointer deference in hotspot/src/share/vm/oops/instanceKlass.hpp Summary: fix null pointer Reviewed-by: kvn, coleenp
author morris
date Tue, 05 Mar 2013 18:03:36 -0800
parents 927a311d00f9
children 35ef86296a5d
comparison
equal deleted inserted replaced
8692:4f553e24b3b5 8693:872b3feace55
534 } 534 }
535 void set_host_klass(Klass* host) { 535 void set_host_klass(Klass* host) {
536 assert(is_anonymous(), "not anonymous"); 536 assert(is_anonymous(), "not anonymous");
537 Klass** addr = (Klass**)adr_host_klass(); 537 Klass** addr = (Klass**)adr_host_klass();
538 assert(addr != NULL, "no reversed space"); 538 assert(addr != NULL, "no reversed space");
539 *addr = host; 539 if (addr != NULL) {
540 *addr = host;
541 }
540 } 542 }
541 bool is_anonymous() const { 543 bool is_anonymous() const {
542 return (_misc_flags & _misc_is_anonymous) != 0; 544 return (_misc_flags & _misc_is_anonymous) != 0;
543 } 545 }
544 void set_is_anonymous(bool value) { 546 void set_is_anonymous(bool value) {
756 } 758 }
757 759
758 void set_implementor(Klass* k) { 760 void set_implementor(Klass* k) {
759 assert(is_interface(), "not interface"); 761 assert(is_interface(), "not interface");
760 Klass** addr = adr_implementor(); 762 Klass** addr = adr_implementor();
761 *addr = k; 763 assert(addr != NULL, "null addr");
764 if (addr != NULL) {
765 *addr = k;
766 }
762 } 767 }
763 768
764 int nof_implementors() const { 769 int nof_implementors() const {
765 Klass* k = implementor(); 770 Klass* k = implementor();
766 if (k == NULL) { 771 if (k == NULL) {