diff -r bd0d881cf1c5 -r df0a1573d5bd hotspot/src/share/vm/prims/methodHandles.cpp --- a/hotspot/src/share/vm/prims/methodHandles.cpp Thu Oct 04 14:55:57 2012 +0200 +++ b/hotspot/src/share/vm/prims/methodHandles.cpp Tue Nov 06 15:09:37 2012 -0500 @@ -233,7 +233,7 @@ methodHandle m = info.resolved_method(); KlassHandle defc = info.resolved_klass(); int vmindex = -1; - if (defc->is_interface() && Klass::cast(m->method_holder())->is_interface()) { + if (defc->is_interface() && m->method_holder()->is_interface()) { // LinkResolver does not report itable indexes! (fix this?) vmindex = klassItable::compute_itable_index(m()); } else if (m->can_be_statically_bound()) { @@ -749,8 +749,8 @@ DEBUG_ONLY(vmtarget = NULL); // safety if (m.is_null()) break; if (!have_defc) { - Klass* defc = m->method_holder(); - java_lang_invoke_MemberName::set_clazz(mname(), Klass::cast(defc)->java_mirror()); + InstanceKlass* defc = m->method_holder(); + java_lang_invoke_MemberName::set_clazz(mname(), defc->java_mirror()); } if (!have_name) { //not java_lang_String::create_from_symbol; let's intern member names