654 guarantee(1 << LogHeapWordSize == sizeof(HeapWord),
655 "LogHeapWordSize is incorrect.");
656 guarantee(sizeof(oop) >= sizeof(HeapWord), "HeapWord larger than oop?");
657 guarantee(sizeof(oop) % sizeof(HeapWord) == 0,
658 "oop size is not not a multiple of HeapWord size");
659
660 TraceTime timer("Genesis", TRACETIME_LOG(Info, startuptime));
661
662 JavaClasses::compute_hard_coded_offsets();
663
664 initialize_global_behaviours();
665
666 jint status = Universe::initialize_heap();
667 if (status != JNI_OK) {
668 return status;
669 }
670
671 SystemDictionary::initialize_oop_storage();
672
673 Metaspace::global_initialize();
674
675 // Initialize performance counters for metaspaces
676 MetaspaceCounters::initialize_performance_counters();
677 CompressedClassSpaceCounters::initialize_performance_counters();
678
679 AOTLoader::universe_init();
680
681 // Checks 'AfterMemoryInit' constraints.
682 if (!JVMFlagConstraintList::check_constraints(JVMFlagConstraint::AfterMemoryInit)) {
683 return JNI_EINVAL;
684 }
685
686 // Create memory for metadata. Must be after initializing heap for
687 // DumpSharedSpaces.
688 ClassLoaderData::init_null_class_loader_data();
689
690 // We have a heap so create the Method* caches before
691 // Metaspace::initialize_shared_spaces() tries to populate them.
692 Universe::_finalizer_register_cache = new LatestMethodCache();
693 Universe::_loader_addClass_cache = new LatestMethodCache();
694 Universe::_throw_illegal_access_error_cache = new LatestMethodCache();
|
654 guarantee(1 << LogHeapWordSize == sizeof(HeapWord),
655 "LogHeapWordSize is incorrect.");
656 guarantee(sizeof(oop) >= sizeof(HeapWord), "HeapWord larger than oop?");
657 guarantee(sizeof(oop) % sizeof(HeapWord) == 0,
658 "oop size is not not a multiple of HeapWord size");
659
660 TraceTime timer("Genesis", TRACETIME_LOG(Info, startuptime));
661
662 JavaClasses::compute_hard_coded_offsets();
663
664 initialize_global_behaviours();
665
666 jint status = Universe::initialize_heap();
667 if (status != JNI_OK) {
668 return status;
669 }
670
671 SystemDictionary::initialize_oop_storage();
672
673 Metaspace::global_initialize();
674 // Initialize performance counters for metaspaces
675 MetaspaceCounters::initialize_performance_counters();
676 CompressedClassSpaceCounters::initialize_performance_counters();
677
678 AOTLoader::universe_init();
679
680 // Checks 'AfterMemoryInit' constraints.
681 if (!JVMFlagConstraintList::check_constraints(JVMFlagConstraint::AfterMemoryInit)) {
682 return JNI_EINVAL;
683 }
684
685 // Create memory for metadata. Must be after initializing heap for
686 // DumpSharedSpaces.
687 ClassLoaderData::init_null_class_loader_data();
688
689 // We have a heap so create the Method* caches before
690 // Metaspace::initialize_shared_spaces() tries to populate them.
691 Universe::_finalizer_register_cache = new LatestMethodCache();
692 Universe::_loader_addClass_cache = new LatestMethodCache();
693 Universe::_throw_illegal_access_error_cache = new LatestMethodCache();
|