hotspot/src/share/vm/code/compiledIC.cpp
changeset 14391 df0a1573d5bd
parent 13728 882756847a04
child 16377 3318d3edbf87
equal deleted inserted replaced
14390:bd0d881cf1c5 14391:df0a1573d5bd
   189   address entry;
   189   address entry;
   190   if (is_invoke_interface) {
   190   if (is_invoke_interface) {
   191     int index = klassItable::compute_itable_index(call_info->resolved_method()());
   191     int index = klassItable::compute_itable_index(call_info->resolved_method()());
   192     entry = VtableStubs::create_stub(false, index, method());
   192     entry = VtableStubs::create_stub(false, index, method());
   193     assert(entry != NULL, "entry not computed");
   193     assert(entry != NULL, "entry not computed");
   194     Klass* k = call_info->resolved_method()->method_holder();
   194     InstanceKlass* k = call_info->resolved_method()->method_holder();
   195     assert(Klass::cast(k)->is_interface(), "sanity check");
   195     assert(k->is_interface(), "sanity check");
   196     InlineCacheBuffer::create_transition_stub(this, k, entry);
   196     InlineCacheBuffer::create_transition_stub(this, k, entry);
   197   } else {
   197   } else {
   198     // Can be different than method->vtable_index(), due to package-private etc.
   198     // Can be different than method->vtable_index(), due to package-private etc.
   199     int vtable_index = call_info->vtable_index();
   199     int vtable_index = call_info->vtable_index();
   200     entry = VtableStubs::create_stub(true, vtable_index, method());
   200     entry = VtableStubs::create_stub(true, vtable_index, method());