37 #include "interpreter/oopMapCache.hpp"
38 #include "jvmtifiles/jvmtiEnv.hpp"
39 #include "memory/metaspaceShared.hpp"
40 #include "memory/oopFactory.hpp"
41 #include "memory/universe.inline.hpp"
42 #include "oops/instanceKlass.hpp"
43 #include "oops/objArrayOop.hpp"
44 #include "oops/oop.inline.hpp"
45 #include "oops/symbol.hpp"
46 #include "oops/verifyOopClosure.hpp"
47 #include "prims/jvm_misc.hpp"
48 #include "prims/jvmtiExport.hpp"
49 #include "prims/jvmtiThreadState.hpp"
50 #include "prims/privilegedStack.hpp"
51 #include "runtime/arguments.hpp"
52 #include "runtime/atomic.inline.hpp"
53 #include "runtime/biasedLocking.hpp"
54 #include "runtime/deoptimization.hpp"
55 #include "runtime/fprofiler.hpp"
56 #include "runtime/frame.inline.hpp"
57 #include "runtime/init.hpp"
58 #include "runtime/interfaceSupport.hpp"
59 #include "runtime/java.hpp"
60 #include "runtime/javaCalls.hpp"
61 #include "runtime/jniPeriodicChecker.hpp"
62 #include "runtime/memprofiler.hpp"
63 #include "runtime/mutexLocker.hpp"
64 #include "runtime/objectMonitor.hpp"
65 #include "runtime/orderAccess.inline.hpp"
66 #include "runtime/osThread.hpp"
67 #include "runtime/safepoint.hpp"
68 #include "runtime/sharedRuntime.hpp"
69 #include "runtime/statSampler.hpp"
70 #include "runtime/stubRoutines.hpp"
71 #include "runtime/sweeper.hpp"
72 #include "runtime/task.hpp"
73 #include "runtime/thread.inline.hpp"
74 #include "runtime/threadCritical.hpp"
75 #include "runtime/threadLocalStorage.hpp"
76 #include "runtime/vframe.hpp"
3286 os::init();
3287
3288 // Initialize system properties.
3289 Arguments::init_system_properties();
3290
3291 // So that JDK version can be used as a discriminator when parsing arguments
3292 JDK_Version_init();
3293
3294 // Update/Initialize System properties after JDK version number is known
3295 Arguments::init_version_specific_system_properties();
3296
3297 // Parse arguments
3298 jint parse_result = Arguments::parse(args);
3299 if (parse_result != JNI_OK) return parse_result;
3300
3301 os::init_before_ergo();
3302
3303 jint ergo_result = Arguments::apply_ergo();
3304 if (ergo_result != JNI_OK) return ergo_result;
3305
3306 if (PauseAtStartup) {
3307 os::pause();
3308 }
3309
3310 HOTSPOT_VM_INIT_BEGIN();
3311
3312 // Record VM creation timing statistics
3313 TraceVmCreationTime create_vm_timer;
3314 create_vm_timer.start();
3315
3316 // Timing (must come after argument parsing)
3317 TraceTime timer("Create VM", TraceStartupTime);
3318
3319 // Initialize the os module after parsing the args
3320 jint os_init_2_result = os::init_2();
3321 if (os_init_2_result != JNI_OK) return os_init_2_result;
3322
3323 jint adjust_after_os_result = Arguments::adjust_after_os();
3324 if (adjust_after_os_result != JNI_OK) return adjust_after_os_result;
3325
|
37 #include "interpreter/oopMapCache.hpp"
38 #include "jvmtifiles/jvmtiEnv.hpp"
39 #include "memory/metaspaceShared.hpp"
40 #include "memory/oopFactory.hpp"
41 #include "memory/universe.inline.hpp"
42 #include "oops/instanceKlass.hpp"
43 #include "oops/objArrayOop.hpp"
44 #include "oops/oop.inline.hpp"
45 #include "oops/symbol.hpp"
46 #include "oops/verifyOopClosure.hpp"
47 #include "prims/jvm_misc.hpp"
48 #include "prims/jvmtiExport.hpp"
49 #include "prims/jvmtiThreadState.hpp"
50 #include "prims/privilegedStack.hpp"
51 #include "runtime/arguments.hpp"
52 #include "runtime/atomic.inline.hpp"
53 #include "runtime/biasedLocking.hpp"
54 #include "runtime/deoptimization.hpp"
55 #include "runtime/fprofiler.hpp"
56 #include "runtime/frame.inline.hpp"
57 #include "runtime/globals.hpp"
58 #include "runtime/init.hpp"
59 #include "runtime/interfaceSupport.hpp"
60 #include "runtime/java.hpp"
61 #include "runtime/javaCalls.hpp"
62 #include "runtime/jniPeriodicChecker.hpp"
63 #include "runtime/memprofiler.hpp"
64 #include "runtime/mutexLocker.hpp"
65 #include "runtime/objectMonitor.hpp"
66 #include "runtime/orderAccess.inline.hpp"
67 #include "runtime/osThread.hpp"
68 #include "runtime/safepoint.hpp"
69 #include "runtime/sharedRuntime.hpp"
70 #include "runtime/statSampler.hpp"
71 #include "runtime/stubRoutines.hpp"
72 #include "runtime/sweeper.hpp"
73 #include "runtime/task.hpp"
74 #include "runtime/thread.inline.hpp"
75 #include "runtime/threadCritical.hpp"
76 #include "runtime/threadLocalStorage.hpp"
77 #include "runtime/vframe.hpp"
3287 os::init();
3288
3289 // Initialize system properties.
3290 Arguments::init_system_properties();
3291
3292 // So that JDK version can be used as a discriminator when parsing arguments
3293 JDK_Version_init();
3294
3295 // Update/Initialize System properties after JDK version number is known
3296 Arguments::init_version_specific_system_properties();
3297
3298 // Parse arguments
3299 jint parse_result = Arguments::parse(args);
3300 if (parse_result != JNI_OK) return parse_result;
3301
3302 os::init_before_ergo();
3303
3304 jint ergo_result = Arguments::apply_ergo();
3305 if (ergo_result != JNI_OK) return ergo_result;
3306
3307 // Final check of all arguments after ergonomics which may change values.
3308 if (!CommandLineFlags::check_all_ranges_and_constraints()) {
3309 return JNI_EINVAL;
3310 }
3311
3312 if (PauseAtStartup) {
3313 os::pause();
3314 }
3315
3316 HOTSPOT_VM_INIT_BEGIN();
3317
3318 // Record VM creation timing statistics
3319 TraceVmCreationTime create_vm_timer;
3320 create_vm_timer.start();
3321
3322 // Timing (must come after argument parsing)
3323 TraceTime timer("Create VM", TraceStartupTime);
3324
3325 // Initialize the os module after parsing the args
3326 jint os_init_2_result = os::init_2();
3327 if (os_init_2_result != JNI_OK) return os_init_2_result;
3328
3329 jint adjust_after_os_result = Arguments::adjust_after_os();
3330 if (adjust_after_os_result != JNI_OK) return adjust_after_os_result;
3331
|