Serguei,
Thank you for reviewing.
On 3/29/19 3:06 PM, [email protected] wrote:
Hi Coleen,
It looks good to me.
I agree with Erik on reset_old_table().
I have one question.
http://cr.openjdk.java.net/~coleenp/2019/8221183.01/webrev/src/hotspot/share/code/codeCache.cpp.frames.html
Yes, I changed it to reset_old_method_table.
1077 void CodeCache::mark_for_evol_deoptimization(InstanceKlass*
dependee) {
*1078 MutexLockerEx mu(CodeCache_lock, Mutex::_no_safepoint_check_flag);*
1079
1080 // Mark dependent AOT nmethods, which are only found via the class
redefined.
1081 // TODO: add dependencies to aotCompiledMethod's metadata section
so this isn't
1082 // needed.
1083 AOTLoader::mark_evol_dependent_methods(dependee);
1084 }
Is it still necessary to grab the CodeCache_lock here?
It's actually not necessary because we're at a safepoint, and this code
is always at a safepoint.
I'll assert it's at a safepoint. flush_evol_dependents has this:
// --- Compile_lock is not held. However we are at a safepoint.
assert_locked_or_safepoint(Compile_lock);
Thanks,
Coleen
Thanks,
Serguei
On 3/27/19 06:09, [email protected] wrote:
Summary: Note nmethods with "old" Methods in them in table to walk
instead.
See RFE for more details. Tested with RedefineClasses tests
with/without -Xcomp, mach5 tier1-5.
open webrev at
http://cr.openjdk.java.net/~coleenp/2019/8221183.01/webrev
bug link https://bugs.openjdk.java.net/browse/JDK-8221183
Thanks,
Coleen