< prev index next >

src/share/vm/classfile/symbolTable.cpp

Print this page

        

@@ -719,11 +719,11 @@
 static void ensure_string_alive(oop string) {
   // A lookup in the StringTable could return an object that was previously
   // considered dead. The SATB part of G1 needs to get notified about this
   // potential resurrection, otherwise the marking might not find the object.
 #if INCLUDE_ALL_GCS
-  if (UseG1GC && string != NULL) {
+  if ((UseG1GC || (UseShenandoahGC && ShenandoahKeepAliveBarrier)) && string != NULL) {
     G1SATBCardTableModRefBS::enqueue(string);
   }
 #endif
 }
 
< prev index next >