comparison src/share/vm/memory/genMarkSweep.cpp @ 6197:d2a62e0f25eb

6995781: Native Memory Tracking (Phase 1) 7151532: DCmd for hotspot native memory tracking Summary: Implementation of native memory tracking phase 1, which tracks VM native memory usage, and related DCmd Reviewed-by: acorn, coleenp, fparain
author zgu
date Thu, 28 Jun 2012 17:03:16 -0400
parents 9d679effd28c
children da91efe96a93
comparison
equal deleted inserted replaced
6174:74533f63b116 6197:d2a62e0f25eb
201 _preserved_marks = (PreservedMark*)scratch; 201 _preserved_marks = (PreservedMark*)scratch;
202 _preserved_count = 0; 202 _preserved_count = 0;
203 203
204 #ifdef VALIDATE_MARK_SWEEP 204 #ifdef VALIDATE_MARK_SWEEP
205 if (ValidateMarkSweep) { 205 if (ValidateMarkSweep) {
206 _root_refs_stack = new (ResourceObj::C_HEAP) GrowableArray<void*>(100, true); 206 _root_refs_stack = new (ResourceObj::C_HEAP, mtGC) GrowableArray<void*>(100, true);
207 _other_refs_stack = new (ResourceObj::C_HEAP) GrowableArray<void*>(100, true); 207 _other_refs_stack = new (ResourceObj::C_HEAP, mtGC) GrowableArray<void*>(100, true);
208 _adjusted_pointers = new (ResourceObj::C_HEAP) GrowableArray<void*>(100, true); 208 _adjusted_pointers = new (ResourceObj::C_HEAP, mtGC) GrowableArray<void*>(100, true);
209 _live_oops = new (ResourceObj::C_HEAP) GrowableArray<oop>(100, true); 209 _live_oops = new (ResourceObj::C_HEAP, mtGC) GrowableArray<oop>(100, true);
210 _live_oops_moved_to = new (ResourceObj::C_HEAP) GrowableArray<oop>(100, true); 210 _live_oops_moved_to = new (ResourceObj::C_HEAP, mtGC) GrowableArray<oop>(100, true);
211 _live_oops_size = new (ResourceObj::C_HEAP) GrowableArray<size_t>(100, true); 211 _live_oops_size = new (ResourceObj::C_HEAP, mtGC) GrowableArray<size_t>(100, true);
212 } 212 }
213 if (RecordMarkSweepCompaction) { 213 if (RecordMarkSweepCompaction) {
214 if (_cur_gc_live_oops == NULL) { 214 if (_cur_gc_live_oops == NULL) {
215 _cur_gc_live_oops = new(ResourceObj::C_HEAP) GrowableArray<HeapWord*>(100, true); 215 _cur_gc_live_oops = new(ResourceObj::C_HEAP, mtGC) GrowableArray<HeapWord*>(100, true);
216 _cur_gc_live_oops_moved_to = new(ResourceObj::C_HEAP) GrowableArray<HeapWord*>(100, true); 216 _cur_gc_live_oops_moved_to = new(ResourceObj::C_HEAP, mtGC) GrowableArray<HeapWord*>(100, true);
217 _cur_gc_live_oops_size = new(ResourceObj::C_HEAP) GrowableArray<size_t>(100, true); 217 _cur_gc_live_oops_size = new(ResourceObj::C_HEAP, mtGC) GrowableArray<size_t>(100, true);
218 _last_gc_live_oops = new(ResourceObj::C_HEAP) GrowableArray<HeapWord*>(100, true); 218 _last_gc_live_oops = new(ResourceObj::C_HEAP, mtGC) GrowableArray<HeapWord*>(100, true);
219 _last_gc_live_oops_moved_to = new(ResourceObj::C_HEAP) GrowableArray<HeapWord*>(100, true); 219 _last_gc_live_oops_moved_to = new(ResourceObj::C_HEAP, mtGC) GrowableArray<HeapWord*>(100, true);
220 _last_gc_live_oops_size = new(ResourceObj::C_HEAP) GrowableArray<size_t>(100, true); 220 _last_gc_live_oops_size = new(ResourceObj::C_HEAP, mtGC) GrowableArray<size_t>(100, true);
221 } else { 221 } else {
222 _cur_gc_live_oops->clear(); 222 _cur_gc_live_oops->clear();
223 _cur_gc_live_oops_moved_to->clear(); 223 _cur_gc_live_oops_moved_to->clear();
224 _cur_gc_live_oops_size->clear(); 224 _cur_gc_live_oops_size->clear();
225 } 225 }