--- old/src/share/vm/opto/callGenerator.cpp 2016-02-05 20:16:44.000000000 +0300 +++ new/src/share/vm/opto/callGenerator.cpp 2016-02-05 20:16:44.000000000 +0300 @@ -825,10 +825,12 @@ input_not_const = false; const TypeOopPtr* oop_ptr = receiver->bottom_type()->is_oopptr(); ciMethod* target = oop_ptr->const_oop()->as_method_handle()->get_vmtarget(); - guarantee(!target->is_method_handle_intrinsic(), "should not happen"); // XXX remove const int vtable_index = Method::invalid_vtable_index; - CallGenerator* cg = C->call_generator(target, vtable_index, false, jvms, true, PROB_ALWAYS, NULL, true, true); - assert(cg == NULL || !cg->is_late_inline() || cg->is_mh_late_inline(), "no late inline here"); + CallGenerator* cg = C->call_generator(target, vtable_index, + false /* call_does_dispatch */, + jvms, + true /* allow_inline */, + PROB_ALWAYS); return cg; } else { const char* msg = "receiver not constant"; @@ -898,13 +900,15 @@ target = C->optimize_virtual_call(caller, jvms->bci(), klass, klass, target, receiver_type, is_virtual, call_does_dispatch, vtable_index, // out-parameters - /*check_access=*/false); + false /* check_access */); // We lack profiling at this call but type speculation may // provide us with a type speculative_receiver_type = (receiver_type != NULL) ? receiver_type->speculative_type() : NULL; } - CallGenerator* cg = C->call_generator(target, vtable_index, call_does_dispatch, jvms, /*allow_inline=*/true, PROB_ALWAYS, speculative_receiver_type, true, true); - assert(cg == NULL || !cg->is_late_inline() || cg->is_mh_late_inline(), "no late inline here"); + CallGenerator* cg = C->call_generator(target, vtable_index, call_does_dispatch, jvms, + true /* allow_inline */, + PROB_ALWAYS, + speculative_receiver_type); return cg; } else { const char* msg = "member_name not constant";