src/share/vm/opto/subnode.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/opto/subnode.cpp Fri May 8 12:53:18 2009
--- new/src/share/vm/opto/subnode.cpp Fri May 8 12:53:18 2009
*** 635,644 ****
--- 635,650 ----
ciKlass* klass0 = p0->klass();
bool xklass0 = p0->klass_is_exact();
ciKlass* klass1 = p1->klass();
bool xklass1 = p1->klass_is_exact();
int kps = (p0->isa_klassptr()?1:0) + (p1->isa_klassptr()?1:0);
+ while (klass0->is_obj_array_klass() && klass1->is_obj_array_klass()) {
+ // Compare klasses of obj arrays elements.
+ klass0 = klass0->as_obj_array_klass()->element_klass();
+ klass1 = klass1->as_obj_array_klass()->element_klass();
+
+ }
if (klass0 && klass1 &&
kps != 1 && // both or neither are klass pointers
klass0->is_loaded() && !klass0->is_interface() && // do not trust interfaces
klass1->is_loaded() && !klass1->is_interface()) {
bool unrelated_classes = false;
src/share/vm/opto/subnode.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File