hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
equal
deleted
inserted
replaced
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); |