8220512: Deoptimize redefinition functions that have dirty ICs

Walk ICs to determine whether nmethods are dependent on redefined classes.

Reviewed-by: sspitsyn, eosterlund
This commit is contained in:
Coleen Phillimore 2019-03-15 16:00:18 -04:00
parent f0b707b94b
commit 5c5089b0a2
23 changed files with 121 additions and 69 deletions

View file

@ -1866,7 +1866,7 @@ class JavaThread: public Thread {
virtual void nmethods_do(CodeBlobClosure* cf);
// RedefineClasses Support
void metadata_do(void f(Metadata*));
void metadata_do(MetadataClosure* f);
// Misc. operations
char* name() const { return (char*)get_thread_name(); }
@ -2281,7 +2281,7 @@ class Threads: AllStatic {
static void nmethods_do(CodeBlobClosure* cf);
// RedefineClasses support
static void metadata_do(void f(Metadata*));
static void metadata_do(MetadataClosure* f);
static void metadata_handles_do(void f(Metadata*));
#ifdef ASSERT