hotspot/src/share/vm/interpreter/interpreterRuntime.cpp
changeset 10967 e13ea25b2f0b
parent 10546 e79347eebbc5
child 11572 84afef481892
equal deleted inserted replaced
10966:0c9ed2dfc6a2 10967:e13ea25b2f0b
   547     }
   547     }
   548   }
   548   }
   549 
   549 
   550   if (is_put && !is_static && klass->is_subclass_of(SystemDictionary::CallSite_klass()) && (info.name() == vmSymbols::target_name())) {
   550   if (is_put && !is_static && klass->is_subclass_of(SystemDictionary::CallSite_klass()) && (info.name() == vmSymbols::target_name())) {
   551     const jint direction = frame::interpreter_frame_expression_stack_direction();
   551     const jint direction = frame::interpreter_frame_expression_stack_direction();
   552     oop call_site     = *((oop*) thread->last_frame().interpreter_frame_tos_at(-1 * direction));
   552     Handle call_site    (THREAD, *((oop*) thread->last_frame().interpreter_frame_tos_at(-1 * direction)));
   553     oop method_handle = *((oop*) thread->last_frame().interpreter_frame_tos_at( 0 * direction));
   553     Handle method_handle(THREAD, *((oop*) thread->last_frame().interpreter_frame_tos_at( 0 * direction)));
   554     assert(call_site    ->is_a(SystemDictionary::CallSite_klass()),     "must be");
   554     assert(call_site    ->is_a(SystemDictionary::CallSite_klass()),     "must be");
   555     assert(method_handle->is_a(SystemDictionary::MethodHandle_klass()), "must be");
   555     assert(method_handle->is_a(SystemDictionary::MethodHandle_klass()), "must be");
   556 
   556 
   557     {
   557     {
   558       // Walk all nmethods depending on this call site.
   558       // Walk all nmethods depending on this call site.