equal
deleted
inserted
replaced
2836 |
2836 |
2837 // get the java mirror |
2837 // get the java mirror |
2838 oop mirror = klass->java_mirror(); |
2838 oop mirror = klass->java_mirror(); |
2839 |
2839 |
2840 // super (only if something more interesting than java.lang.Object) |
2840 // super (only if something more interesting than java.lang.Object) |
2841 Klass* java_super = ik->java_super(); |
2841 InstanceKlass* java_super = ik->java_super(); |
2842 if (java_super != NULL && java_super != SystemDictionary::Object_klass()) { |
2842 if (java_super != NULL && java_super != SystemDictionary::Object_klass()) { |
2843 oop super = java_super->java_mirror(); |
2843 oop super = java_super->java_mirror(); |
2844 if (!CallbackInvoker::report_superclass_reference(mirror, super)) { |
2844 if (!CallbackInvoker::report_superclass_reference(mirror, super)) { |
2845 return false; |
2845 return false; |
2846 } |
2846 } |
2892 } |
2892 } |
2893 |
2893 |
2894 // interfaces |
2894 // interfaces |
2895 // (These will already have been reported as references from the constant pool |
2895 // (These will already have been reported as references from the constant pool |
2896 // but are specified by IterateOverReachableObjects and must be reported). |
2896 // but are specified by IterateOverReachableObjects and must be reported). |
2897 Array<Klass*>* interfaces = ik->local_interfaces(); |
2897 Array<InstanceKlass*>* interfaces = ik->local_interfaces(); |
2898 for (i = 0; i < interfaces->length(); i++) { |
2898 for (i = 0; i < interfaces->length(); i++) { |
2899 oop interf = ((Klass*)interfaces->at(i))->java_mirror(); |
2899 oop interf = interfaces->at(i)->java_mirror(); |
2900 if (interf == NULL) { |
2900 if (interf == NULL) { |
2901 continue; |
2901 continue; |
2902 } |
2902 } |
2903 if (!CallbackInvoker::report_interface_reference(mirror, interf)) { |
2903 if (!CallbackInvoker::report_interface_reference(mirror, interf)) { |
2904 return false; |
2904 return false; |