equal
deleted
inserted
replaced
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. |