static void placeholders_do(Symbol* sym, oop loader) {
   if (CompactingPermGenGen::is_shared(sym)) {
     oop k = SystemDictionary::find_shared_class(sym);
     if (k != NULL) {
       RecursiveAdjustSharedObjectClosure clo;
       clo.do_oop(&k);
     }
   }
 }
예제 #2
0
 template <class T> inline void do_oop_work(T* p) {
   oop obj = oopDesc::load_decode_heap_oop_not_null(p);
   if (obj->klass() == Universe::symbolKlassObj() &&
       obj->is_shared_readonly()) {
     symbolHandle sym((symbolOop) obj);
     oop k = SystemDictionary::find_shared_class(sym);
     if (k != NULL) {
       RecursiveAdjustSharedObjectClosure clo;
       clo.do_oop(&k);
     }
   }
 }
 void do_oop(oop* o) {
   oop obj = *o;
   if (obj->klass() == Universe::symbolKlassObj() &&
       obj->is_shared_readonly()) {
     symbolHandle sym((symbolOop) obj);
     oop k = SystemDictionary::find_shared_class(sym);
     if (k != NULL) {
       RecursiveAdjustSharedObjectClosure clo;
       clo.do_oop(&k);
     }
   }
 }