comparison src/share/vm/oops/instanceKlass.cpp @ 1126:933a3e806ce6

6895168: JCK api/signaturetest/sigtest.basic.html#basic test fails for jdk 5.0 with HS 16 in nightly build Reviewed-by: dholmes, acorn, jrose
author xlu
date Wed, 16 Dec 2009 14:27:50 -0800
parents 987e948ebbc8
children 9b9c1ee9b3f6
comparison
equal deleted inserted replaced
1124:2e8bdfdd3ba2 1126:933a3e806ce6
2043 instanceKlassHandle outer1 = class1; 2043 instanceKlassHandle outer1 = class1;
2044 for (;;) { 2044 for (;;) {
2045 // As we walk along, look for equalities between outer1 and class2. 2045 // As we walk along, look for equalities between outer1 and class2.
2046 // Eventually, the walks will terminate as outer1 stops 2046 // Eventually, the walks will terminate as outer1 stops
2047 // at the top-level class around the original class. 2047 // at the top-level class around the original class.
2048 symbolOop ignore_name; 2048 bool ignore_inner_is_member;
2049 klassOop next = outer1->compute_enclosing_class(ignore_name, CHECK_false); 2049 klassOop next = outer1->compute_enclosing_class(&ignore_inner_is_member,
2050 CHECK_false);
2050 if (next == NULL) break; 2051 if (next == NULL) break;
2051 if (next == class2()) return true; 2052 if (next == class2()) return true;
2052 outer1 = instanceKlassHandle(THREAD, next); 2053 outer1 = instanceKlassHandle(THREAD, next);
2053 } 2054 }
2054 2055
2055 // Now do the same for class2. 2056 // Now do the same for class2.
2056 instanceKlassHandle outer2 = class2; 2057 instanceKlassHandle outer2 = class2;
2057 for (;;) { 2058 for (;;) {
2058 symbolOop ignore_name; 2059 bool ignore_inner_is_member;
2059 klassOop next = outer2->compute_enclosing_class(ignore_name, CHECK_false); 2060 klassOop next = outer2->compute_enclosing_class(&ignore_inner_is_member,
2061 CHECK_false);
2060 if (next == NULL) break; 2062 if (next == NULL) break;
2061 // Might as well check the new outer against all available values. 2063 // Might as well check the new outer against all available values.
2062 if (next == class1()) return true; 2064 if (next == class1()) return true;
2063 if (next == outer1()) return true; 2065 if (next == outer1()) return true;
2064 outer2 = instanceKlassHandle(THREAD, next); 2066 outer2 = instanceKlassHandle(THREAD, next);