changeset 54067:94d1e2c8fe01

8220341: Class redefinition fails with assert(!is_unloaded()) failed: unloaded method on the stack Summary: Skip unloaded methods in compile queue during marking. Reviewed-by: kvn, neliasso, eosterlund, coleenp
author thartmann
date Tue, 12 Mar 2019 10:09:50 +0100
parents 1dbe0c210134
children b067bd7edc26
files src/hotspot/share/compiler/compileTask.cpp
diffstat 1 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/hotspot/share/compiler/compileTask.cpp	Thu Mar 07 02:39:06 2019 +0000
+++ b/src/hotspot/share/compiler/compileTask.cpp	Tue Mar 12 10:09:50 2019 +0100
@@ -182,8 +182,10 @@
 }
 
 void CompileTask::mark_on_stack() {
+  if (is_unloaded()) {
+    return;
+  }
   // Mark these methods as something redefine classes cannot remove.
-  assert(!is_unloaded(), "unloaded method on the stack");
   _method->set_on_stack(true);
   if (_hot_method != NULL) {
     _hot_method->set_on_stack(true);