src/share/vm/interpreter/interpreterRuntime.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 8073191-work Cdiff src/share/vm/interpreter/interpreterRuntime.cpp

src/share/vm/interpreter/interpreterRuntime.cpp

Print this page

        

*** 556,573 **** void InterpreterRuntime::resolve_get_put(JavaThread* thread, Bytecodes::Code bytecode) { Thread* THREAD = thread; // resolve field fieldDescriptor info; constantPoolHandle pool(thread, method(thread)->constants()); bool is_put = (bytecode == Bytecodes::_putfield || bytecode == Bytecodes::_nofast_putfield || bytecode == Bytecodes::_putstatic); bool is_static = (bytecode == Bytecodes::_getstatic || bytecode == Bytecodes::_putstatic); { JvmtiHideSingleStepping jhss(thread); LinkResolver::resolve_field_access(info, pool, get_index_u2_cpcache(thread, bytecode), ! bytecode, CHECK); } // end JvmtiHideSingleStepping // check if link resolution caused cpCache to be updated ConstantPoolCacheEntry* cp_cache_entry = cache_entry(thread); if (cp_cache_entry->is_resolved(bytecode)) return; --- 556,574 ---- void InterpreterRuntime::resolve_get_put(JavaThread* thread, Bytecodes::Code bytecode) { Thread* THREAD = thread; // resolve field fieldDescriptor info; constantPoolHandle pool(thread, method(thread)->constants()); + methodHandle m(thread, method(thread)); bool is_put = (bytecode == Bytecodes::_putfield || bytecode == Bytecodes::_nofast_putfield || bytecode == Bytecodes::_putstatic); bool is_static = (bytecode == Bytecodes::_getstatic || bytecode == Bytecodes::_putstatic); { JvmtiHideSingleStepping jhss(thread); LinkResolver::resolve_field_access(info, pool, get_index_u2_cpcache(thread, bytecode), ! m, bytecode, CHECK); } // end JvmtiHideSingleStepping // check if link resolution caused cpCache to be updated ConstantPoolCacheEntry* cp_cache_entry = cache_entry(thread); if (cp_cache_entry->is_resolved(bytecode)) return;
src/share/vm/interpreter/interpreterRuntime.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File