comparison src/share/vm/prims/jni.cpp @ 17685:fd07a7e4222b

8033126: Can't call default methods from JNI Reviewed-by: dholmes, acorn, kamg
author sla
date Mon, 03 Feb 2014 15:24:20 +0100
parents a034dc5e910b
children cc3f124c6eae
comparison
equal deleted inserted replaced
17684:d1621038becf 17685:fd07a7e4222b
1354 } 1354 }
1355 } else { 1355 } else {
1356 // interface call 1356 // interface call
1357 KlassHandle h_holder(THREAD, holder); 1357 KlassHandle h_holder(THREAD, holder);
1358 1358
1359 int itbl_index = m->itable_index(); 1359 if (call_type == JNI_VIRTUAL) {
1360 Klass* k = h_recv->klass(); 1360 int itbl_index = m->itable_index();
1361 selected_method = InstanceKlass::cast(k)->method_at_itable(h_holder(), itbl_index, CHECK); 1361 Klass* k = h_recv->klass();
1362 selected_method = InstanceKlass::cast(k)->method_at_itable(h_holder(), itbl_index, CHECK);
1363 } else {
1364 selected_method = m;
1365 }
1362 } 1366 }
1363 } 1367 }
1364 1368
1365 methodHandle method(THREAD, selected_method); 1369 methodHandle method(THREAD, selected_method);
1366 1370