< prev index next >

src/share/vm/classfile/stringTable.cpp

Print this page
rev 14282 : Factor out keep-alive barrier from usual pre-barrier implementations.

*** 41,51 **** #include "services/diagnosticCommand.hpp" #include "utilities/hashtable.inline.hpp" #include "utilities/macros.hpp" #if INCLUDE_ALL_GCS #include "gc/g1/g1CollectedHeap.hpp" - #include "gc/g1/g1SATBCardTableModRefBS.hpp" #include "gc/g1/g1StringDedup.hpp" #endif // the number of buckets a thread claims const int ClaimChunkSize = 32; --- 41,50 ----
*** 196,207 **** 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 (((UseShenandoahGC && ShenandoahSATBBarrier) || UseG1GC) && string != NULL) { ! G1SATBCardTableModRefBS::enqueue(string); } #endif } oop StringTable::lookup(jchar* name, int len) { --- 195,206 ---- 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 (string != NULL) { ! oopDesc::bs()->keep_alive_barrier(string); } #endif } oop StringTable::lookup(jchar* name, int len) {
< prev index next >