< prev index next >
src/hotspot/share/gc/cms/parNewGeneration.cpp
Print this page
rev 50373 : 8195097: Make it possible to process StringTable outside safepoint
Reviewed-by:
*** 21,30 ****
--- 21,31 ----
* questions.
*
*/
#include "precompiled.hpp"
+ #include "classfile/stringTable.hpp"
#include "gc/cms/cmsHeap.inline.hpp"
#include "gc/cms/compactibleFreeListSpace.hpp"
#include "gc/cms/concurrentMarkSweepGeneration.hpp"
#include "gc/cms/parNewGeneration.inline.hpp"
#include "gc/cms/parOopClosures.inline.hpp"
*** 587,597 ****
StrongRootsScope* strong_roots_scope) :
AbstractGangTask("ParNewGeneration collection"),
_young_gen(young_gen), _old_gen(old_gen),
_young_old_boundary(young_old_boundary),
_state_set(state_set),
! _strong_roots_scope(strong_roots_scope)
{}
void ParNewGenTask::work(uint worker_id) {
CMSHeap* heap = CMSHeap::heap();
// Since this is being done in a separate thread, need new resource
--- 588,599 ----
StrongRootsScope* strong_roots_scope) :
AbstractGangTask("ParNewGeneration collection"),
_young_gen(young_gen), _old_gen(old_gen),
_young_old_boundary(young_old_boundary),
_state_set(state_set),
! _strong_roots_scope(strong_roots_scope),
! _par_state_string(StringTable::weak_storage())
{}
void ParNewGenTask::work(uint worker_id) {
CMSHeap* heap = CMSHeap::heap();
// Since this is being done in a separate thread, need new resource
*** 609,619 ****
par_scan_state.start_strong_roots();
heap->young_process_roots(_strong_roots_scope,
&par_scan_state.to_space_root_closure(),
&par_scan_state.older_gen_closure(),
! &cld_scan_closure);
par_scan_state.end_strong_roots();
// "evacuate followers".
par_scan_state.evacuate_followers_closure().do_void();
--- 611,622 ----
par_scan_state.start_strong_roots();
heap->young_process_roots(_strong_roots_scope,
&par_scan_state.to_space_root_closure(),
&par_scan_state.older_gen_closure(),
! &cld_scan_closure,
! &_par_state_string);
par_scan_state.end_strong_roots();
// "evacuate followers".
par_scan_state.evacuate_followers_closure().do_void();
< prev index next >