Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/shared/markSweep.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 | 1d1603768966 |
children | da91efe96a93 |
comparison
equal
deleted
inserted
replaced
6174:74533f63b116 | 6197:d2a62e0f25eb |
---|---|
28 #include "gc_interface/collectedHeap.inline.hpp" | 28 #include "gc_interface/collectedHeap.inline.hpp" |
29 #include "oops/methodDataOop.hpp" | 29 #include "oops/methodDataOop.hpp" |
30 #include "oops/objArrayKlass.inline.hpp" | 30 #include "oops/objArrayKlass.inline.hpp" |
31 #include "oops/oop.inline.hpp" | 31 #include "oops/oop.inline.hpp" |
32 | 32 |
33 Stack<oop> MarkSweep::_marking_stack; | 33 Stack<oop, mtGC> MarkSweep::_marking_stack; |
34 Stack<DataLayout*> MarkSweep::_revisit_mdo_stack; | 34 Stack<DataLayout*, mtGC> MarkSweep::_revisit_mdo_stack; |
35 Stack<Klass*> MarkSweep::_revisit_klass_stack; | 35 Stack<Klass*, mtGC> MarkSweep::_revisit_klass_stack; |
36 Stack<ObjArrayTask> MarkSweep::_objarray_stack; | 36 Stack<ObjArrayTask, mtGC> MarkSweep::_objarray_stack; |
37 | 37 |
38 Stack<oop> MarkSweep::_preserved_oop_stack; | 38 Stack<oop, mtGC> MarkSweep::_preserved_oop_stack; |
39 Stack<markOop> MarkSweep::_preserved_mark_stack; | 39 Stack<markOop, mtGC> MarkSweep::_preserved_mark_stack; |
40 size_t MarkSweep::_preserved_count = 0; | 40 size_t MarkSweep::_preserved_count = 0; |
41 size_t MarkSweep::_preserved_count_max = 0; | 41 size_t MarkSweep::_preserved_count_max = 0; |
42 PreservedMark* MarkSweep::_preserved_marks = NULL; | 42 PreservedMark* MarkSweep::_preserved_marks = NULL; |
43 ReferenceProcessor* MarkSweep::_ref_processor = NULL; | 43 ReferenceProcessor* MarkSweep::_ref_processor = NULL; |
44 | 44 |
164 for (size_t i = 0; i < _preserved_count; i++) { | 164 for (size_t i = 0; i < _preserved_count; i++) { |
165 _preserved_marks[i].adjust_pointer(); | 165 _preserved_marks[i].adjust_pointer(); |
166 } | 166 } |
167 | 167 |
168 // deal with the overflow stack | 168 // deal with the overflow stack |
169 StackIterator<oop> iter(_preserved_oop_stack); | 169 StackIterator<oop, mtGC> iter(_preserved_oop_stack); |
170 while (!iter.is_empty()) { | 170 while (!iter.is_empty()) { |
171 oop* p = iter.next_addr(); | 171 oop* p = iter.next_addr(); |
172 adjust_pointer(p); | 172 adjust_pointer(p); |
173 } | 173 } |
174 } | 174 } |