3526 if (!add_property("java.awt.headless=true")) { 3527 return JNI_ENOMEM; 3528 } 3529 } else { 3530 char buffer[256]; 3531 jio_snprintf(buffer, sizeof(buffer), "java.awt.headless=%s", headless_env); 3532 if (!add_property(buffer)) { 3533 return JNI_ENOMEM; 3534 } 3535 } 3536 } 3537 } 3538 3539 if (UseConcMarkSweepGC && FLAG_IS_DEFAULT(UseParNewGC) && !UseParNewGC) { 3540 // CMS can only be used with ParNew 3541 FLAG_SET_ERGO(bool, UseParNewGC, true); 3542 } 3543 3544 if (!check_vm_args_consistency()) { 3545 return JNI_ERR; 3546 } 3547 3548 return JNI_OK; 3549 } 3550 3551 // Helper class for controlling the lifetime of JavaVMInitArgs 3552 // objects. The contents of the JavaVMInitArgs are guaranteed to be 3553 // deleted on the destruction of the ScopedVMInitArgs object. 3554 class ScopedVMInitArgs : public StackObj { 3555 private: 3556 JavaVMInitArgs _args; 3557 char* _container_name; 3558 bool _is_set; 3559 char* _vm_options_file_arg; 3560 3561 public: 3562 ScopedVMInitArgs(const char *container_name) { 3563 _args.version = JNI_VERSION_1_2; 3564 _args.nOptions = 0; 3565 _args.options = NULL; | 3526 if (!add_property("java.awt.headless=true")) { 3527 return JNI_ENOMEM; 3528 } 3529 } else { 3530 char buffer[256]; 3531 jio_snprintf(buffer, sizeof(buffer), "java.awt.headless=%s", headless_env); 3532 if (!add_property(buffer)) { 3533 return JNI_ENOMEM; 3534 } 3535 } 3536 } 3537 } 3538 3539 if (UseConcMarkSweepGC && FLAG_IS_DEFAULT(UseParNewGC) && !UseParNewGC) { 3540 // CMS can only be used with ParNew 3541 FLAG_SET_ERGO(bool, UseParNewGC, true); 3542 } 3543 3544 if (!check_vm_args_consistency()) { 3545 return JNI_ERR; 3546 } 3547 3548 if (!FLAG_IS_DEFAULT(FSDirForHeap)) { 3549 FLAG_SET_CMDLINE(bool, ForceNUMA, false); 3550 FLAG_SET_CMDLINE(bool, UseNUMA, false); 3551 } 3552 3553 return JNI_OK; 3554 } 3555 3556 // Helper class for controlling the lifetime of JavaVMInitArgs 3557 // objects. The contents of the JavaVMInitArgs are guaranteed to be 3558 // deleted on the destruction of the ScopedVMInitArgs object. 3559 class ScopedVMInitArgs : public StackObj { 3560 private: 3561 JavaVMInitArgs _args; 3562 char* _container_name; 3563 bool _is_set; 3564 char* _vm_options_file_arg; 3565 3566 public: 3567 ScopedVMInitArgs(const char *container_name) { 3568 _args.version = JNI_VERSION_1_2; 3569 _args.nOptions = 0; 3570 _args.options = NULL; |