src/share/vm/c1/c1_Runtime1.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/c1/c1_Runtime1.cpp	Fri Jun 10 19:38:02 2016
--- new/src/share/vm/c1/c1_Runtime1.cpp	Fri Jun 10 19:38:02 2016

*** 757,770 **** --- 757,770 ---- static Klass* resolve_field_return_klass(methodHandle caller, int bci, TRAPS) { Bytecode_field field_access(caller, bci); // This can be static or non-static field access Bytecodes::Code code = field_access.code(); ! // We must load class, initialize class and resolve the field fieldDescriptor result; // initialize class if needed constantPoolHandle constants(THREAD, caller->constants()); ! LinkResolver::resolve_field_access(result, constants, field_access.index(), caller, Bytecodes::java_code(code), CHECK_NULL); return result.field_holder(); } //
*** 877,887 **** --- 877,887 ---- Bytecode_field field_access(caller_method, bci); fieldDescriptor result; // initialize class if needed Bytecodes::Code code = field_access.code(); constantPoolHandle constants(THREAD, caller_method->constants()); ! LinkResolver::resolve_field_access(result, constants, field_access.index(), caller_method, Bytecodes::java_code(code), CHECK); patch_field_offset = result.offset(); // If we're patching a field which is volatile then at compile it // must not have been know to be volatile, so the generated code // isn't correct for a volatile reference. The nmethod has to be

src/share/vm/c1/c1_Runtime1.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File