hotspot/src/share/vm/c1/c1_GraphBuilder.cpp
changeset 11192 ff37c2093a0d
parent 10730 38dcf027574e
child 11634 cd87699d403b
equal deleted inserted replaced
11191:d54ab5dcba83 11192:ff37c2093a0d
  3493     compilation()->set_would_profile(true);
  3493     compilation()->set_would_profile(true);
  3494 
  3494 
  3495     if (profile_calls()) {
  3495     if (profile_calls()) {
  3496       profile_call(recv, holder_known ? callee->holder() : NULL);
  3496       profile_call(recv, holder_known ? callee->holder() : NULL);
  3497     }
  3497     }
  3498     if (profile_inlined_calls()) {
       
  3499       profile_invocation(callee, copy_state_before());
       
  3500     }
       
  3501   }
  3498   }
  3502 
  3499 
  3503   // Introduce a new callee continuation point - if the callee has
  3500   // Introduce a new callee continuation point - if the callee has
  3504   // more than one return instruction or the return does not allow
  3501   // more than one return instruction or the return does not allow
  3505   // fall-through of control flow, all return instructions of the
  3502   // fall-through of control flow, all return instructions of the
  3567 
  3564 
  3568   if (compilation()->env()->dtrace_method_probes()) {
  3565   if (compilation()->env()->dtrace_method_probes()) {
  3569     Values* args = new Values(1);
  3566     Values* args = new Values(1);
  3570     args->push(append(new Constant(new ObjectConstant(method()))));
  3567     args->push(append(new Constant(new ObjectConstant(method()))));
  3571     append(new RuntimeCall(voidType, "dtrace_method_entry", CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_method_entry), args));
  3568     append(new RuntimeCall(voidType, "dtrace_method_entry", CAST_FROM_FN_PTR(address, SharedRuntime::dtrace_method_entry), args));
       
  3569   }
       
  3570 
       
  3571   if (profile_inlined_calls()) {
       
  3572     profile_invocation(callee, copy_state_before_with_bci(SynchronizationEntryBCI));
  3572   }
  3573   }
  3573 
  3574 
  3574   BlockBegin* callee_start_block = block_at(0);
  3575   BlockBegin* callee_start_block = block_at(0);
  3575   if (callee_start_block != NULL) {
  3576   if (callee_start_block != NULL) {
  3576     assert(callee_start_block->is_set(BlockBegin::parser_loop_header_flag), "must be loop header");
  3577     assert(callee_start_block->is_set(BlockBegin::parser_loop_header_flag), "must be loop header");