Mercurial > hg > truffle
comparison src/share/vm/interpreter/interpreterRuntime.cpp @ 6224:56c4f88474b3
7087357: JSR 292: remove obsolete code after 7085860
Reviewed-by: kvn, never
author | twisti |
---|---|
date | Mon, 16 Jul 2012 11:14:41 -0700 |
parents | e2fe93124108 |
children | 9c9fb30d2b3b |
comparison
equal
deleted
inserted
replaced
6223:ed21db7b3fda | 6224:56c4f88474b3 |
---|---|
543 if (!uninitialized_static) { | 543 if (!uninitialized_static) { |
544 get_code = ((is_static) ? Bytecodes::_getstatic : Bytecodes::_getfield); | 544 get_code = ((is_static) ? Bytecodes::_getstatic : Bytecodes::_getfield); |
545 if (is_put || !info.access_flags().is_final()) { | 545 if (is_put || !info.access_flags().is_final()) { |
546 put_code = ((is_static) ? Bytecodes::_putstatic : Bytecodes::_putfield); | 546 put_code = ((is_static) ? Bytecodes::_putstatic : Bytecodes::_putfield); |
547 } | 547 } |
548 } | |
549 | |
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(); | |
552 Handle call_site (THREAD, *((oop*) thread->last_frame().interpreter_frame_tos_at(-1 * 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"); | |
555 assert(method_handle->is_a(SystemDictionary::MethodHandle_klass()), "must be"); | |
556 | |
557 { | |
558 // Walk all nmethods depending on this call site. | |
559 MutexLocker mu(Compile_lock, thread); | |
560 Universe::flush_dependents_on(call_site, method_handle); | |
561 } | |
562 | |
563 // Don't allow fast path for setting CallSite.target and sub-classes. | |
564 put_code = (Bytecodes::Code) 0; | |
565 } | 548 } |
566 | 549 |
567 cache_entry(thread)->set_field( | 550 cache_entry(thread)->set_field( |
568 get_code, | 551 get_code, |
569 put_code, | 552 put_code, |