comparison src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp @ 1705:2d160770d2e5

6814437: G1: remove the _new_refs array Summary: The per-worker _new_refs array is used to hold references that point into the collection set. It is populated during RSet updating and subsequently processed. In the event of an evacuation failure it processed again to recreate the RSets of regions in the collection set. Remove the per-worker _new_refs array by processing the references directly. Use a DirtyCardQueue to hold the cards containing the references so that the RSets of regions in the collection set can be recreated when handling an evacuation failure. Reviewed-by: iveresov, jmasa, tonyp
author johnc
date Mon, 02 Aug 2010 12:51:43 -0700
parents 4e5661ba9d98
children 0ce1569c90e5
comparison
equal deleted inserted replaced
1704:63f4675ac87d 1705:2d160770d2e5
236 236
237 _par_last_update_rs_times_ms = new double[_parallel_gc_threads]; 237 _par_last_update_rs_times_ms = new double[_parallel_gc_threads];
238 _par_last_update_rs_processed_buffers = new double[_parallel_gc_threads]; 238 _par_last_update_rs_processed_buffers = new double[_parallel_gc_threads];
239 239
240 _par_last_scan_rs_times_ms = new double[_parallel_gc_threads]; 240 _par_last_scan_rs_times_ms = new double[_parallel_gc_threads];
241 _par_last_scan_new_refs_times_ms = new double[_parallel_gc_threads];
242 241
243 _par_last_obj_copy_times_ms = new double[_parallel_gc_threads]; 242 _par_last_obj_copy_times_ms = new double[_parallel_gc_threads];
244 243
245 _par_last_termination_times_ms = new double[_parallel_gc_threads]; 244 _par_last_termination_times_ms = new double[_parallel_gc_threads];
246 _par_last_termination_attempts = new double[_parallel_gc_threads]; 245 _par_last_termination_attempts = new double[_parallel_gc_threads];
840 _par_last_ext_root_scan_times_ms[i] = -1234.0; 839 _par_last_ext_root_scan_times_ms[i] = -1234.0;
841 _par_last_mark_stack_scan_times_ms[i] = -1234.0; 840 _par_last_mark_stack_scan_times_ms[i] = -1234.0;
842 _par_last_update_rs_times_ms[i] = -1234.0; 841 _par_last_update_rs_times_ms[i] = -1234.0;
843 _par_last_update_rs_processed_buffers[i] = -1234.0; 842 _par_last_update_rs_processed_buffers[i] = -1234.0;
844 _par_last_scan_rs_times_ms[i] = -1234.0; 843 _par_last_scan_rs_times_ms[i] = -1234.0;
845 _par_last_scan_new_refs_times_ms[i] = -1234.0;
846 _par_last_obj_copy_times_ms[i] = -1234.0; 844 _par_last_obj_copy_times_ms[i] = -1234.0;
847 _par_last_termination_times_ms[i] = -1234.0; 845 _par_last_termination_times_ms[i] = -1234.0;
848 _par_last_termination_attempts[i] = -1234.0; 846 _par_last_termination_attempts[i] = -1234.0;
849 _par_last_gc_worker_end_times_ms[i] = -1234.0; 847 _par_last_gc_worker_end_times_ms[i] = -1234.0;
850 } 848 }