3 *
4 * Created on: May 6, 2018
5 * Author: thomas
6 */
7
8
9 #include "precompiled.hpp"
10 #include "logging/log.hpp"
11 #include "logging/logStream.hpp"
12 #include "memory/metaspace.hpp"
13 #include "memory/metaspace/chunkManager.hpp"
14 #include "memory/metaspace/metachunk.hpp"
15 #include "memory/metaspace/metaspaceCommon.hpp"
16 #include "memory/metaspace/virtualSpaceList.hpp"
17 #include "memory/metaspace/virtualSpaceNode.hpp"
18 #include "runtime/orderAccess.inline.hpp"
19 #include "runtime/mutexLocker.hpp"
20 #include "runtime/safepoint.hpp"
21
22 namespace metaspace {
23 namespace internals {
24
25
26 VirtualSpaceList::~VirtualSpaceList() {
27 VirtualSpaceListIterator iter(virtual_space_list());
28 while (iter.repeat()) {
29 VirtualSpaceNode* vsl = iter.get_next();
30 delete vsl;
31 }
32 }
33
34 void VirtualSpaceList::inc_reserved_words(size_t v) {
35 assert_lock_strong(MetaspaceExpand_lock);
36 _reserved_words = _reserved_words + v;
37 }
38 void VirtualSpaceList::dec_reserved_words(size_t v) {
39 assert_lock_strong(MetaspaceExpand_lock);
40 _reserved_words = _reserved_words - v;
41 }
42
43 #define assert_committed_below_limit() \
368 while (iter.repeat()) {
369 st->cr();
370 VirtualSpaceNode* node = iter.get_next();
371 node->print_on(st, scale);
372 }
373 }
374
375 void VirtualSpaceList::print_map(outputStream* st) const {
376 VirtualSpaceNode* list = virtual_space_list();
377 VirtualSpaceListIterator iter(list);
378 unsigned i = 0;
379 while (iter.repeat()) {
380 st->print_cr("Node %u:", i);
381 VirtualSpaceNode* node = iter.get_next();
382 node->print_map(st, this->is_class());
383 i ++;
384 }
385 }
386
387 } // namespace metaspace
388 } // namespace internals
|
3 *
4 * Created on: May 6, 2018
5 * Author: thomas
6 */
7
8
9 #include "precompiled.hpp"
10 #include "logging/log.hpp"
11 #include "logging/logStream.hpp"
12 #include "memory/metaspace.hpp"
13 #include "memory/metaspace/chunkManager.hpp"
14 #include "memory/metaspace/metachunk.hpp"
15 #include "memory/metaspace/metaspaceCommon.hpp"
16 #include "memory/metaspace/virtualSpaceList.hpp"
17 #include "memory/metaspace/virtualSpaceNode.hpp"
18 #include "runtime/orderAccess.inline.hpp"
19 #include "runtime/mutexLocker.hpp"
20 #include "runtime/safepoint.hpp"
21
22 namespace metaspace {
23
24
25 VirtualSpaceList::~VirtualSpaceList() {
26 VirtualSpaceListIterator iter(virtual_space_list());
27 while (iter.repeat()) {
28 VirtualSpaceNode* vsl = iter.get_next();
29 delete vsl;
30 }
31 }
32
33 void VirtualSpaceList::inc_reserved_words(size_t v) {
34 assert_lock_strong(MetaspaceExpand_lock);
35 _reserved_words = _reserved_words + v;
36 }
37 void VirtualSpaceList::dec_reserved_words(size_t v) {
38 assert_lock_strong(MetaspaceExpand_lock);
39 _reserved_words = _reserved_words - v;
40 }
41
42 #define assert_committed_below_limit() \
367 while (iter.repeat()) {
368 st->cr();
369 VirtualSpaceNode* node = iter.get_next();
370 node->print_on(st, scale);
371 }
372 }
373
374 void VirtualSpaceList::print_map(outputStream* st) const {
375 VirtualSpaceNode* list = virtual_space_list();
376 VirtualSpaceListIterator iter(list);
377 unsigned i = 0;
378 while (iter.repeat()) {
379 st->print_cr("Node %u:", i);
380 VirtualSpaceNode* node = iter.get_next();
381 node->print_map(st, this->is_class());
382 i ++;
383 }
384 }
385
386 } // namespace metaspace
387
|