src/share/vm/oops/klass.cpp

changeset 4497
16fb9f942703
parent 4304
90273fc0a981
child 4544
3c9bc17b9403
equal deleted inserted replaced
4491:6cf2530f7fd3 4497:16fb9f942703
1 /* 1 /*
2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
27 #include "classfile/dictionary.hpp" 27 #include "classfile/dictionary.hpp"
28 #include "classfile/systemDictionary.hpp" 28 #include "classfile/systemDictionary.hpp"
29 #include "classfile/vmSymbols.hpp" 29 #include "classfile/vmSymbols.hpp"
30 #include "gc_implementation/shared/markSweep.inline.hpp" 30 #include "gc_implementation/shared/markSweep.inline.hpp"
31 #include "gc_interface/collectedHeap.inline.hpp" 31 #include "gc_interface/collectedHeap.inline.hpp"
32 #include "memory/heapInspection.hpp"
32 #include "memory/metadataFactory.hpp" 33 #include "memory/metadataFactory.hpp"
33 #include "memory/oopFactory.hpp" 34 #include "memory/oopFactory.hpp"
34 #include "memory/resourceArea.hpp" 35 #include "memory/resourceArea.hpp"
35 #include "oops/instanceKlass.hpp" 36 #include "oops/instanceKlass.hpp"
36 #include "oops/klass.inline.hpp" 37 #include "oops/klass.inline.hpp"
622 ResourceMark rm; // Cannot print in debug mode without this 623 ResourceMark rm; // Cannot print in debug mode without this
623 st->print("%s", internal_name()); 624 st->print("%s", internal_name());
624 obj->print_address_on(st); 625 obj->print_address_on(st);
625 } 626 }
626 627
628 #if INCLUDE_SERVICES
629 // Size Statistics
630 void Klass::collect_statistics(KlassSizeStats *sz) const {
631 sz->_klass_bytes = sz->count(this);
632 sz->_mirror_bytes = sz->count(java_mirror());
633 sz->_secondary_supers_bytes = sz->count_array(secondary_supers());
634
635 sz->_ro_bytes += sz->_secondary_supers_bytes;
636 sz->_rw_bytes += sz->_klass_bytes + sz->_mirror_bytes;
637 }
638 #endif // INCLUDE_SERVICES
627 639
628 // Verification 640 // Verification
629 641
630 void Klass::verify_on(outputStream* st) { 642 void Klass::verify_on(outputStream* st) {
631 guarantee(!Universe::heap()->is_in_reserved(this), "Shouldn't be"); 643 guarantee(!Universe::heap()->is_in_reserved(this), "Shouldn't be");

mercurial