< prev index next > src/hotspot/share/cds/metaspaceShared.cpp
Print this page
#include "memory/metaspaceClosure.hpp"
#include "memory/resourceArea.hpp"
#include "memory/universe.hpp"
#include "nmt/memTracker.hpp"
#include "oops/compressedKlass.hpp"
+ #include "oops/flatArrayKlass.hpp"
+ #include "oops/inlineKlass.hpp"
#include "oops/instanceMirrorKlass.hpp"
#include "oops/klass.inline.hpp"
#include "oops/objArrayOop.hpp"
#include "oops/oop.inline.hpp"
#include "oops/oopHandle.hpp"
//
// The rw and ro regions are linearly allocated, in the order of rw->ro.
// These regions are aligned with MetaspaceShared::core_region_alignment().
//
// These 2 regions are populated in the following steps:
- // [0] All classes are loaded in MetaspaceShared::preload_classes(). All metadata are
+ // [0] All classes are loaded in MetaspaceShared::loadable_descriptors(). All metadata are
// temporarily allocated outside of the shared regions.
// [1] We enter a safepoint and allocate a buffer for the rw/ro regions.
// [2] C++ vtables are copied into the rw region.
// [3] ArchiveBuilder copies RW metadata into the rw region.
// [4] ArchiveBuilder copies RO metadata into the ro region.
buf_size - classlist_path_len,
"%sclasslist", os::file_separator());
}
}
- void MetaspaceShared::preload_classes(TRAPS) {
+ void MetaspaceShared::loadable_descriptors(TRAPS) {
char default_classlist[JVM_MAXPATHLEN];
const char* classlist_path;
get_default_classlist(default_classlist, sizeof(default_classlist));
if (SharedClassListFile == nullptr) {
}
void MetaspaceShared::preload_and_dump_impl(StaticArchiveBuilder& builder, TRAPS) {
if (CDSConfig::is_dumping_classic_static_archive()) {
// We are running with -Xshare:dump
- preload_classes(CHECK);
+ loadable_descriptors(CHECK);
if (SharedArchiveConfigFile) {
log_info(cds)("Reading extra data from %s ...", SharedArchiveConfigFile);
read_extra_data(THREAD, SharedArchiveConfigFile);
log_info(cds)("Reading extra data: done.");
return false;
}
}
void VM_PopulateDumpSharedSpace::dump_java_heap_objects() {
+ if (CDSConfig::is_valhalla_preview()) {
+ log_info(cds)("Archived java heap is not yet supported with Valhalla preview");
+ return;
+ }
+
if (CDSConfig::is_dumping_heap()) {
HeapShared::write_heap(&_heap_info);
} else {
CDSConfig::log_reasons_for_not_dumping_heap();
}
< prev index next >