# HG changeset patch # User sla # Date 1391437460 -3600 # Node ID 602e80a36dfb1ba4cc238b81f03e45aa0032f4cf # Parent a00b8f42c4c47cd147b9f7f6db784ca8f1e18a55 8033126: Can't call default methods from JNI Reviewed-by: dholmes, acorn, kamg diff -r a00b8f42c4c4 -r 602e80a36dfb src/share/vm/prims/jni.cpp --- a/src/share/vm/prims/jni.cpp Mon Feb 03 13:41:26 2014 +0100 +++ b/src/share/vm/prims/jni.cpp Mon Feb 03 15:24:20 2014 +0100 @@ -1320,9 +1320,13 @@ // interface call KlassHandle h_holder(THREAD, holder); - int itbl_index = m->itable_index(); - Klass* k = h_recv->klass(); - selected_method = InstanceKlass::cast(k)->method_at_itable(h_holder(), itbl_index, CHECK); + if (call_type == JNI_VIRTUAL) { + int itbl_index = m->itable_index(); + Klass* k = h_recv->klass(); + selected_method = InstanceKlass::cast(k)->method_at_itable(h_holder(), itbl_index, CHECK); + } else { + selected_method = m; + } } }