hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
changeset 1894 5c343868d071
parent 1893 c82e388e17c5
child 2105 347008ce7984
equal deleted inserted replaced
1893:c82e388e17c5 1894:5c343868d071
   883         return res;
   883         return res;
   884       }
   884       }
   885     } else {
   885     } else {
   886       // must read from what 'p' points to in each loop.
   886       // must read from what 'p' points to in each loop.
   887       klassOop k = ((volatile oopDesc*)p)->klass_or_null();
   887       klassOop k = ((volatile oopDesc*)p)->klass_or_null();
   888       if (k != NULL && ((oopDesc*)p)->is_parsable()) {
   888       if (k != NULL &&
       
   889           ((oopDesc*)p)->is_parsable() &&
       
   890           ((oopDesc*)p)->is_conc_safe()) {
   889         assert(k->is_oop(), "Should really be klass oop.");
   891         assert(k->is_oop(), "Should really be klass oop.");
   890         oop o = (oop)p;
   892         oop o = (oop)p;
   891         assert(o->is_oop(), "Should be an oop");
   893         assert(o->is_oop(), "Should be an oop");
   892         size_t res = o->size_given_klass(k->klass_part());
   894         size_t res = o->size_given_klass(k->klass_part());
   893         res = adjustObjectSize(res);
   895         res = adjustObjectSize(res);