Mercurial > hg > graal-jvmci-8
diff src/share/vm/code/nmethod.cpp @ 23428:be740540f60c
8134493: Cleaning inline caches of unloaded nmethods should be done in sweeper
Summary: Clean ICs of unloaded nmethods in sweeper to avoid impact on safepoint duration.
Reviewed-by: kvn, mdoerr
author | thartmann |
---|---|
date | Thu, 08 Oct 2015 09:38:24 +0200 |
parents | c1950f51ed60 |
children | 5cece4584b8e |
line wrap: on
line diff
--- a/src/share/vm/code/nmethod.cpp Thu Oct 08 09:37:51 2015 +0200 +++ b/src/share/vm/code/nmethod.cpp Thu Oct 08 09:38:24 2015 +0200 @@ -1191,7 +1191,7 @@ if( cb != NULL && cb->is_nmethod() ) { nmethod* nm = (nmethod*)cb; // Clean inline caches pointing to zombie, non-entrant and unloaded methods - if (!nm->is_in_use() || (nm->method()->code() != nm)) ic->set_to_clean(); + if (!nm->is_in_use() || (nm->method()->code() != nm)) ic->set_to_clean(is_alive()); } break; } @@ -1291,7 +1291,7 @@ // Tell if a non-entrant method can be converted to a zombie (i.e., // there are no activations on the stack, not in use by the VM, // and not in use by the ServiceThread) -bool nmethod::can_not_entrant_be_converted() { +bool nmethod::can_convert_to_zombie() { assert(is_not_entrant(), "must be a non-entrant method"); // Since the nmethod sweeper only does partial sweep the sweeper's traversal