hotspot/src/share/vm/opto/callGenerator.cpp
changeset 25494 c18718ecf276
parent 24948 bc074f400757
child 25930 eae8b7490d2c
equal deleted inserted replaced
25379:d50969e81568 25494:c18718ecf276
   869         if (is_virtual_or_interface) {
   869         if (is_virtual_or_interface) {
   870           ciInstanceKlass* klass = target->holder();
   870           ciInstanceKlass* klass = target->holder();
   871           Node*             receiver_node = kit.argument(0);
   871           Node*             receiver_node = kit.argument(0);
   872           const TypeOopPtr* receiver_type = gvn.type(receiver_node)->isa_oopptr();
   872           const TypeOopPtr* receiver_type = gvn.type(receiver_node)->isa_oopptr();
   873           // call_does_dispatch and vtable_index are out-parameters.  They might be changed.
   873           // call_does_dispatch and vtable_index are out-parameters.  They might be changed.
   874           target = C->optimize_virtual_call(caller, jvms->bci(), klass, target, receiver_type,
   874           // optimize_virtual_call() takes 2 different holder
   875                                             is_virtual,
   875           // arguments for a corner case that doesn't apply here (see
       
   876           // Parse::do_call())
       
   877           target = C->optimize_virtual_call(caller, jvms->bci(), klass, klass,
       
   878                                             target, receiver_type, is_virtual,
   876                                             call_does_dispatch, vtable_index);  // out-parameters
   879                                             call_does_dispatch, vtable_index);  // out-parameters
   877           // We lack profiling at this call but type speculation may
   880           // We lack profiling at this call but type speculation may
   878           // provide us with a type
   881           // provide us with a type
   879           speculative_receiver_type = receiver_type->speculative_type();
   882           speculative_receiver_type = receiver_type->speculative_type();
   880         }
   883         }