< prev index next >

src/share/vm/aot/aotCompiledMethod.cpp

Print this page

        

*** 150,162 **** Method* m = _method; int signature_len = build_u2_from((address)klass_name + klass_len + 2 + method_name_len); int full_len = 2 + klass_len + 2 + method_name_len + 2 + signature_len; if (!klass_matched || memcmp(_name, meta_name, full_len) != 0) { // Does not match? Thread* thread = Thread::current(); - KlassHandle klass = KlassHandle(thread, k); const char* method_name = klass_name + klass_len; ! m = AOTCodeHeap::find_method(klass, thread, method_name); } meta = ((intptr_t)m) | 1; *entry = (Metadata*)meta; // Should be atomic on x64 return (Metadata*)m; } --- 150,161 ---- Method* m = _method; int signature_len = build_u2_from((address)klass_name + klass_len + 2 + method_name_len); int full_len = 2 + klass_len + 2 + method_name_len + 2 + signature_len; if (!klass_matched || memcmp(_name, meta_name, full_len) != 0) { // Does not match? Thread* thread = Thread::current(); const char* method_name = klass_name + klass_len; ! m = AOTCodeHeap::find_method(k, thread, method_name); } meta = ((intptr_t)m) | 1; *entry = (Metadata*)meta; // Should be atomic on x64 return (Metadata*)m; }
*** 249,259 **** return true; } // We don't have full dependencies for AOT methods, so flushing is // more conservative than for nmethods. ! void AOTCompiledMethod::flush_evol_dependents_on(instanceKlassHandle dependee) { if (is_java_method()) { cleanup_inline_caches(); mark_for_deoptimization(); make_not_entrant(); } --- 248,258 ---- return true; } // We don't have full dependencies for AOT methods, so flushing is // more conservative than for nmethods. ! void AOTCompiledMethod::flush_evol_dependents_on(InstanceKlass* dependee) { if (is_java_method()) { cleanup_inline_caches(); mark_for_deoptimization(); make_not_entrant(); }
< prev index next >