< prev index next >

src/hotspot/share/memory/universe.cpp

Print this page




  31 #include "classfile/systemDictionary.hpp"
  32 #include "classfile/vmSymbols.hpp"
  33 #include "code/codeCache.hpp"
  34 #include "code/dependencies.hpp"
  35 #include "gc/shared/collectedHeap.inline.hpp"
  36 #include "gc/shared/gcArguments.hpp"
  37 #include "gc/shared/gcConfig.hpp"
  38 #include "gc/shared/gcTraceTime.inline.hpp"
  39 #include "interpreter/interpreter.hpp"
  40 #include "logging/log.hpp"
  41 #include "logging/logStream.hpp"
  42 #include "memory/filemap.hpp"
  43 #include "memory/metadataFactory.hpp"
  44 #include "memory/metaspaceClosure.hpp"
  45 #include "memory/metaspaceCounters.hpp"
  46 #include "memory/metaspaceShared.hpp"
  47 #include "memory/oopFactory.hpp"
  48 #include "memory/resourceArea.hpp"
  49 #include "memory/universe.hpp"
  50 #include "memory/universe.hpp"
  51 #include "memory/vtBuffer.hpp"
  52 #include "oops/constantPool.hpp"
  53 #include "oops/instanceClassLoaderKlass.hpp"
  54 #include "oops/instanceKlass.hpp"
  55 #include "oops/instanceMirrorKlass.hpp"
  56 #include "oops/instanceRefKlass.hpp"
  57 #include "oops/objArrayOop.inline.hpp"
  58 #include "oops/oop.inline.hpp"
  59 #include "oops/typeArrayKlass.hpp"
  60 #include "prims/resolvedMethodTable.hpp"
  61 #include "runtime/arguments.hpp"
  62 #include "runtime/atomic.hpp"
  63 #include "runtime/flags/flagSetting.hpp"
  64 #include "runtime/flags/jvmFlagConstraintList.hpp"
  65 #include "runtime/deoptimization.hpp"
  66 #include "runtime/handles.inline.hpp"
  67 #include "runtime/init.hpp"
  68 #include "runtime/java.hpp"
  69 #include "runtime/javaCalls.hpp"
  70 #include "runtime/sharedRuntime.hpp"
  71 #include "runtime/synchronizer.hpp"


 634 jint universe_init() {
 635   assert(!Universe::_fully_initialized, "called after initialize_vtables");
 636   guarantee(1 << LogHeapWordSize == sizeof(HeapWord),
 637          "LogHeapWordSize is incorrect.");
 638   guarantee(sizeof(oop) >= sizeof(HeapWord), "HeapWord larger than oop?");
 639   guarantee(sizeof(oop) % sizeof(HeapWord) == 0,
 640             "oop size is not not a multiple of HeapWord size");
 641 
 642   TraceTime timer("Genesis", TRACETIME_LOG(Info, startuptime));
 643 
 644   JavaClasses::compute_hard_coded_offsets();
 645 
 646   jint status = Universe::initialize_heap();
 647   if (status != JNI_OK) {
 648     return status;
 649   }
 650 
 651   SystemDictionary::initialize_oop_storage();
 652 
 653   Metaspace::global_initialize();
 654   VTBuffer::init();
 655   // Initialize performance counters for metaspaces
 656   MetaspaceCounters::initialize_performance_counters();
 657   CompressedClassSpaceCounters::initialize_performance_counters();
 658 
 659   AOTLoader::universe_init();
 660 
 661   // Checks 'AfterMemoryInit' constraints.
 662   if (!JVMFlagConstraintList::check_constraints(JVMFlagConstraint::AfterMemoryInit)) {
 663     return JNI_EINVAL;
 664   }
 665 
 666   // Create memory for metadata.  Must be after initializing heap for
 667   // DumpSharedSpaces.
 668   ClassLoaderData::init_null_class_loader_data();
 669 
 670   // We have a heap so create the Method* caches before
 671   // Metaspace::initialize_shared_spaces() tries to populate them.
 672   Universe::_finalizer_register_cache = new LatestMethodCache();
 673   Universe::_loader_addClass_cache    = new LatestMethodCache();
 674   Universe::_pd_implies_cache         = new LatestMethodCache();




  31 #include "classfile/systemDictionary.hpp"
  32 #include "classfile/vmSymbols.hpp"
  33 #include "code/codeCache.hpp"
  34 #include "code/dependencies.hpp"
  35 #include "gc/shared/collectedHeap.inline.hpp"
  36 #include "gc/shared/gcArguments.hpp"
  37 #include "gc/shared/gcConfig.hpp"
  38 #include "gc/shared/gcTraceTime.inline.hpp"
  39 #include "interpreter/interpreter.hpp"
  40 #include "logging/log.hpp"
  41 #include "logging/logStream.hpp"
  42 #include "memory/filemap.hpp"
  43 #include "memory/metadataFactory.hpp"
  44 #include "memory/metaspaceClosure.hpp"
  45 #include "memory/metaspaceCounters.hpp"
  46 #include "memory/metaspaceShared.hpp"
  47 #include "memory/oopFactory.hpp"
  48 #include "memory/resourceArea.hpp"
  49 #include "memory/universe.hpp"
  50 #include "memory/universe.hpp"

  51 #include "oops/constantPool.hpp"
  52 #include "oops/instanceClassLoaderKlass.hpp"
  53 #include "oops/instanceKlass.hpp"
  54 #include "oops/instanceMirrorKlass.hpp"
  55 #include "oops/instanceRefKlass.hpp"
  56 #include "oops/objArrayOop.inline.hpp"
  57 #include "oops/oop.inline.hpp"
  58 #include "oops/typeArrayKlass.hpp"
  59 #include "prims/resolvedMethodTable.hpp"
  60 #include "runtime/arguments.hpp"
  61 #include "runtime/atomic.hpp"
  62 #include "runtime/flags/flagSetting.hpp"
  63 #include "runtime/flags/jvmFlagConstraintList.hpp"
  64 #include "runtime/deoptimization.hpp"
  65 #include "runtime/handles.inline.hpp"
  66 #include "runtime/init.hpp"
  67 #include "runtime/java.hpp"
  68 #include "runtime/javaCalls.hpp"
  69 #include "runtime/sharedRuntime.hpp"
  70 #include "runtime/synchronizer.hpp"


 633 jint universe_init() {
 634   assert(!Universe::_fully_initialized, "called after initialize_vtables");
 635   guarantee(1 << LogHeapWordSize == sizeof(HeapWord),
 636          "LogHeapWordSize is incorrect.");
 637   guarantee(sizeof(oop) >= sizeof(HeapWord), "HeapWord larger than oop?");
 638   guarantee(sizeof(oop) % sizeof(HeapWord) == 0,
 639             "oop size is not not a multiple of HeapWord size");
 640 
 641   TraceTime timer("Genesis", TRACETIME_LOG(Info, startuptime));
 642 
 643   JavaClasses::compute_hard_coded_offsets();
 644 
 645   jint status = Universe::initialize_heap();
 646   if (status != JNI_OK) {
 647     return status;
 648   }
 649 
 650   SystemDictionary::initialize_oop_storage();
 651 
 652   Metaspace::global_initialize();

 653   // Initialize performance counters for metaspaces
 654   MetaspaceCounters::initialize_performance_counters();
 655   CompressedClassSpaceCounters::initialize_performance_counters();
 656 
 657   AOTLoader::universe_init();
 658 
 659   // Checks 'AfterMemoryInit' constraints.
 660   if (!JVMFlagConstraintList::check_constraints(JVMFlagConstraint::AfterMemoryInit)) {
 661     return JNI_EINVAL;
 662   }
 663 
 664   // Create memory for metadata.  Must be after initializing heap for
 665   // DumpSharedSpaces.
 666   ClassLoaderData::init_null_class_loader_data();
 667 
 668   // We have a heap so create the Method* caches before
 669   // Metaspace::initialize_shared_spaces() tries to populate them.
 670   Universe::_finalizer_register_cache = new LatestMethodCache();
 671   Universe::_loader_addClass_cache    = new LatestMethodCache();
 672   Universe::_pd_implies_cache         = new LatestMethodCache();


< prev index next >