comparison src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp @ 10182:5c93c1f61226

8011724: G1: Stack allocate instances of HeapRegionRemSetIterator Summary: Stack allocate instances of HeapRegionRemSetIterator during RSet scanning. Reviewed-by: brutisso, jwilhelm
author johnc
date Thu, 18 Apr 2013 10:09:23 -0700
parents a08c80e9e1e5
children 868d87ed63c8
comparison
equal deleted inserted replaced
10181:1cb4795305b9 10182:5c93c1f61226
1953 _task_queues = new RefToScanQueueSet(n_queues); 1953 _task_queues = new RefToScanQueueSet(n_queues);
1954 1954
1955 int n_rem_sets = HeapRegionRemSet::num_par_rem_sets(); 1955 int n_rem_sets = HeapRegionRemSet::num_par_rem_sets();
1956 assert(n_rem_sets > 0, "Invariant."); 1956 assert(n_rem_sets > 0, "Invariant.");
1957 1957
1958 HeapRegionRemSetIterator** iter_arr =
1959 NEW_C_HEAP_ARRAY(HeapRegionRemSetIterator*, n_queues, mtGC);
1960 for (int i = 0; i < n_queues; i++) {
1961 iter_arr[i] = new HeapRegionRemSetIterator();
1962 }
1963 _rem_set_iterator = iter_arr;
1964
1965 _worker_cset_start_region = NEW_C_HEAP_ARRAY(HeapRegion*, n_queues, mtGC); 1958 _worker_cset_start_region = NEW_C_HEAP_ARRAY(HeapRegion*, n_queues, mtGC);
1966 _worker_cset_start_region_time_stamp = NEW_C_HEAP_ARRAY(unsigned int, n_queues, mtGC); 1959 _worker_cset_start_region_time_stamp = NEW_C_HEAP_ARRAY(unsigned int, n_queues, mtGC);
1967 1960
1968 for (int i = 0; i < n_queues; i++) { 1961 for (int i = 0; i < n_queues; i++) {
1969 RefToScanQueue* q = new RefToScanQueue(); 1962 RefToScanQueue* q = new RefToScanQueue();