src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.cpp
changeset 47552 8a3599d60996
parent 47216 71c04702a3d5
child 47580 96392e113a0a
equal deleted inserted replaced
47551:4d034d861e13 47552:8a3599d60996
  1073 
  1073 
  1074   collector()->promoted(true,          // parallel
  1074   collector()->promoted(true,          // parallel
  1075                         obj_ptr, old->is_objArray(), word_sz);
  1075                         obj_ptr, old->is_objArray(), word_sz);
  1076 
  1076 
  1077   NOT_PRODUCT(
  1077   NOT_PRODUCT(
  1078     Atomic::inc_ptr(&_numObjectsPromoted);
  1078     Atomic::inc(&_numObjectsPromoted);
  1079     Atomic::add_ptr(alloc_sz, &_numWordsPromoted);
  1079     Atomic::add_ptr(alloc_sz, &_numWordsPromoted);
  1080   )
  1080   )
  1081 
  1081 
  1082   return obj;
  1082   return obj;
  1083 }
  1083 }
  7972   _overflow_list = p;
  7972   _overflow_list = p;
  7973 }
  7973 }
  7974 
  7974 
  7975 // Multi-threaded; use CAS to prepend to overflow list
  7975 // Multi-threaded; use CAS to prepend to overflow list
  7976 void CMSCollector::par_push_on_overflow_list(oop p) {
  7976 void CMSCollector::par_push_on_overflow_list(oop p) {
  7977   NOT_PRODUCT(Atomic::inc_ptr(&_num_par_pushes);)
  7977   NOT_PRODUCT(Atomic::inc(&_num_par_pushes);)
  7978   assert(oopDesc::is_oop(p), "Not an oop");
  7978   assert(oopDesc::is_oop(p), "Not an oop");
  7979   par_preserve_mark_if_necessary(p);
  7979   par_preserve_mark_if_necessary(p);
  7980   oop observed_overflow_list = _overflow_list;
  7980   oop observed_overflow_list = _overflow_list;
  7981   oop cur_overflow_list;
  7981   oop cur_overflow_list;
  7982   do {
  7982   do {