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


Reply via email to