comparison src/share/vm/opto/callGenerator.cpp @ 3901:aa67216400d3

7085404: JSR 292: VolatileCallSites should have push notification too Reviewed-by: never, kvn
author twisti
date Fri, 02 Sep 2011 00:36:18 -0700
parents a32de5085326
children c26de9aef2ed
comparison
equal deleted inserted replaced
3900:a32de5085326 3901:aa67216400d3
724 } 724 }
725 725
726 726
727 CallGenerator* CallGenerator::for_invokedynamic_inline(ciCallSite* call_site, JVMState* jvms, 727 CallGenerator* CallGenerator::for_invokedynamic_inline(ciCallSite* call_site, JVMState* jvms,
728 ciMethod* caller, ciMethod* callee, ciCallProfile profile) { 728 ciMethod* caller, ciMethod* callee, ciCallProfile profile) {
729 assert(call_site->is_constant_call_site() || call_site->is_mutable_call_site(), "must be");
730 ciMethodHandle* method_handle = call_site->get_target(); 729 ciMethodHandle* method_handle = call_site->get_target();
731 730
732 // Set the callee to have access to the class and signature in the 731 // Set the callee to have access to the class and signature in the
733 // MethodHandleCompiler. 732 // MethodHandleCompiler.
734 method_handle->set_callee(callee); 733 method_handle->set_callee(callee);
740 if (target_method != NULL) { 739 if (target_method != NULL) {
741 Compile *C = Compile::current(); 740 Compile *C = Compile::current();
742 CallGenerator* cg = C->call_generator(target_method, -1, false, jvms, true, PROB_ALWAYS); 741 CallGenerator* cg = C->call_generator(target_method, -1, false, jvms, true, PROB_ALWAYS);
743 if (cg != NULL && cg->is_inline()) { 742 if (cg != NULL && cg->is_inline()) {
744 // Add a dependence for invalidation of the optimization. 743 // Add a dependence for invalidation of the optimization.
745 if (call_site->is_mutable_call_site()) { 744 if (!call_site->is_constant_call_site()) {
746 C->dependencies()->assert_call_site_target_value(call_site, method_handle); 745 C->dependencies()->assert_call_site_target_value(call_site, method_handle);
747 } 746 }
748 return cg; 747 return cg;
749 } 748 }
750 } 749 }