Mercurial > hg > truffle
comparison src/share/vm/runtime/handles.inline.hpp @ 6882:716c64bda5ba
7199092: NMT: NMT needs to deal overlapped virtual memory ranges
Summary: Enhanced virtual memory tracking to track committed regions as well as reserved regions, so NMT now can generate virtual memory map.
Reviewed-by: acorn, coleenp
author | zgu |
---|---|
date | Fri, 19 Oct 2012 21:40:07 -0400 |
parents | da91efe96a93 |
children | f34d701e952e |
comparison
equal
deleted
inserted
replaced
6879:8ebcedb7604d | 6882:716c64bda5ba |
---|---|
134 | 134 |
135 inline void HandleMark::pop_and_restore() { | 135 inline void HandleMark::pop_and_restore() { |
136 HandleArea* area = _area; // help compilers with poor alias analysis | 136 HandleArea* area = _area; // help compilers with poor alias analysis |
137 // Delete later chunks | 137 // Delete later chunks |
138 if( _chunk->next() ) { | 138 if( _chunk->next() ) { |
139 // reset arena size before delete chunks. Otherwise, the total | |
140 // arena size could exceed total chunk size | |
141 assert(area->size_in_bytes() > size_in_bytes(), "Sanity check"); | |
142 area->set_size_in_bytes(size_in_bytes()); | |
139 _chunk->next_chop(); | 143 _chunk->next_chop(); |
144 } else { | |
145 assert(area->size_in_bytes() == size_in_bytes(), "Sanity check"); | |
140 } | 146 } |
141 // Roll back arena to saved top markers | 147 // Roll back arena to saved top markers |
142 area->_chunk = _chunk; | 148 area->_chunk = _chunk; |
143 area->_hwm = _hwm; | 149 area->_hwm = _hwm; |
144 area->_max = _max; | 150 area->_max = _max; |
145 area->set_size_in_bytes(_size_in_bytes); | |
146 debug_only(area->_handle_mark_nesting--); | 151 debug_only(area->_handle_mark_nesting--); |
147 } | 152 } |
148 | 153 |
149 #endif // SHARE_VM_RUNTIME_HANDLES_INLINE_HPP | 154 #endif // SHARE_VM_RUNTIME_HANDLES_INLINE_HPP |