diff -r 7d079e0eedef -r ab48109f7d1b hotspot/src/share/vm/oops/klassVtable.cpp --- a/hotspot/src/share/vm/oops/klassVtable.cpp Fri Nov 09 22:22:53 2012 -0800 +++ b/hotspot/src/share/vm/oops/klassVtable.cpp Mon Nov 12 16:15:05 2012 -0500 @@ -746,7 +746,7 @@ while (target != NULL && target->is_static()) { // continue with recursive lookup through the superclass Klass* super = target->method_holder()->super(); - target = (super == NULL) ? (Method*)NULL : Klass::cast(super)->uncached_lookup_method(method_name, method_signature); + target = (super == NULL) ? (Method*)NULL : super->uncached_lookup_method(method_name, method_signature); } if (target == NULL || !target->is_public() || target->is_abstract()) { // Entry do not resolve. Leave it empty @@ -852,7 +852,7 @@ // Handle array argument for(int i = 0; i < transitive_intf->length(); i++) { Klass* intf = transitive_intf->at(i); - assert(Klass::cast(intf)->is_interface(), "sanity check"); + assert(intf->is_interface(), "sanity check"); // Find no. of methods excluding a int method_count = InstanceKlass::cast(intf)->methods()->length();