8057570: RedefineClasses() tests fail assert(((Metadata*)obj)->is_valid()) failed: obj is valid

Revert two small changes from the previous-versions cleanup with marking code cache.

Reviewed-by: kvn, dcubed
This commit is contained in:
Coleen Phillimore 2014-09-05 08:08:51 -04:00
parent b20fa155a6
commit 731bbae8fa
2 changed files with 5 additions and 2 deletions

View file

@ -2087,6 +2087,9 @@ void nmethod::metadata_do(void f(Metadata*)) {
Metadata* md = *p; Metadata* md = *p;
f(md); f(md);
} }
// Call function Method*, not embedded in these other places.
if (_method != NULL) f(_method);
} }
void nmethod::oops_do(OopClosure* f, bool allow_zombie) { void nmethod::oops_do(OopClosure* f, bool allow_zombie) {

View file

@ -1256,8 +1256,8 @@ void Universe::flush_evol_dependents_on(instanceKlassHandle ev_k_h) {
// Deoptimize all activations depending on marked nmethods // Deoptimize all activations depending on marked nmethods
Deoptimization::deoptimize_dependents(); Deoptimization::deoptimize_dependents();
// Make the dependent methods zombies (like VM_Deoptimize) // Make the dependent methods not entrant (in VM_Deoptimize they are made zombies)
CodeCache::make_marked_nmethods_zombies(); CodeCache::make_marked_nmethods_not_entrant();
} }
} }
#endif // HOTSWAP #endif // HOTSWAP