1824 MetaspaceShared::dump_closed_archive_heap_objects(_closed_archive_heap_regions);
1825
1826 tty->print_cr("Dumping objects to open archive heap region ...");
1827 _open_archive_heap_regions = new GrowableArray<MemRegion>(2);
1828 MetaspaceShared::dump_open_archive_heap_objects(_open_archive_heap_regions);
1829
1830 MetaspaceShared::destroy_archive_object_cache();
1831 }
1832
1833 G1HeapVerifier::verify_archive_regions();
1834 }
1835
1836 void MetaspaceShared::dump_closed_archive_heap_objects(
1837 GrowableArray<MemRegion> * closed_archive) {
1838 assert(is_heap_object_archiving_allowed(), "Cannot dump java heap objects");
1839
1840 Thread* THREAD = Thread::current();
1841 G1CollectedHeap::heap()->begin_archive_alloc_range();
1842
1843 // Archive interned string objects
1844 StringTable::write_to_archive(closed_archive);
1845
1846 G1CollectedHeap::heap()->end_archive_alloc_range(closed_archive,
1847 os::vm_allocation_granularity());
1848 }
1849
1850 void MetaspaceShared::dump_open_archive_heap_objects(
1851 GrowableArray<MemRegion> * open_archive) {
1852 assert(UseG1GC, "Only support G1 GC");
1853 assert(UseCompressedOops && UseCompressedClassPointers,
1854 "Only support UseCompressedOops and UseCompressedClassPointers enabled");
1855
1856 Thread* THREAD = Thread::current();
1857 G1CollectedHeap::heap()->begin_archive_alloc_range(true /* open */);
1858
1859 java_lang_Class::archive_basic_type_mirrors(THREAD);
1860
1861 MetaspaceShared::archive_klass_objects(THREAD);
1862
1863 G1CollectedHeap::heap()->end_archive_alloc_range(open_archive,
1864 os::vm_allocation_granularity());
|
1824 MetaspaceShared::dump_closed_archive_heap_objects(_closed_archive_heap_regions);
1825
1826 tty->print_cr("Dumping objects to open archive heap region ...");
1827 _open_archive_heap_regions = new GrowableArray<MemRegion>(2);
1828 MetaspaceShared::dump_open_archive_heap_objects(_open_archive_heap_regions);
1829
1830 MetaspaceShared::destroy_archive_object_cache();
1831 }
1832
1833 G1HeapVerifier::verify_archive_regions();
1834 }
1835
1836 void MetaspaceShared::dump_closed_archive_heap_objects(
1837 GrowableArray<MemRegion> * closed_archive) {
1838 assert(is_heap_object_archiving_allowed(), "Cannot dump java heap objects");
1839
1840 Thread* THREAD = Thread::current();
1841 G1CollectedHeap::heap()->begin_archive_alloc_range();
1842
1843 // Archive interned string objects
1844 StringTable::write_to_archive();
1845
1846 G1CollectedHeap::heap()->end_archive_alloc_range(closed_archive,
1847 os::vm_allocation_granularity());
1848 }
1849
1850 void MetaspaceShared::dump_open_archive_heap_objects(
1851 GrowableArray<MemRegion> * open_archive) {
1852 assert(UseG1GC, "Only support G1 GC");
1853 assert(UseCompressedOops && UseCompressedClassPointers,
1854 "Only support UseCompressedOops and UseCompressedClassPointers enabled");
1855
1856 Thread* THREAD = Thread::current();
1857 G1CollectedHeap::heap()->begin_archive_alloc_range(true /* open */);
1858
1859 java_lang_Class::archive_basic_type_mirrors(THREAD);
1860
1861 MetaspaceShared::archive_klass_objects(THREAD);
1862
1863 G1CollectedHeap::heap()->end_archive_alloc_range(open_archive,
1864 os::vm_allocation_granularity());
|