Mercurial > hg > truffle
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 } |