equal
deleted
inserted
replaced
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 { |