69 r = s; // Loop till find concrete class |
69 r = s; // Loop till find concrete class |
70 } |
70 } |
71 return r; // Return the 1 concrete class |
71 return r; // Return the 1 concrete class |
72 } |
72 } |
73 |
73 |
74 // Find LCA in class heirarchy |
74 // Find LCA in class hierarchy |
75 Klass *Klass::LCA( Klass *k2 ) { |
75 Klass *Klass::LCA( Klass *k2 ) { |
76 Klass *k1 = this; |
76 Klass *k1 = this; |
77 while( 1 ) { |
77 while( 1 ) { |
78 if( k1->is_subtype_of(k2->as_klassOop()) ) return k2; |
78 if( k1->is_subtype_of(k2->as_klassOop()) ) return k2; |
79 if( k2->is_subtype_of(k1->as_klassOop()) ) return k1; |
79 if( k2->is_subtype_of(k1->as_klassOop()) ) return k1; |