Mercurial > hg > truffle
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) { |