< prev index next >

src/hotspot/share/memory/metaspaceShared.cpp

Print this page
rev 50285 : 8195097: Make it possible to process StringTable outside safepoint
Reviewed-by:


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());


< prev index next >