src/share/vm/runtime/arguments.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
6788376 Cdiff src/share/vm/runtime/arguments.cpp
src/share/vm/runtime/arguments.cpp
Print this page
*** 2476,2486 ****
// Construct JavaVMInitArgs structure and parse as if it was part of the command line
JavaVMInitArgs vm_args;
vm_args.version = JNI_VERSION_1_2;
vm_args.options = options;
vm_args.nOptions = i;
! vm_args.ignoreUnrecognized = false;
if (PrintVMOptions) {
const char* tail;
for (int i = 0; i < vm_args.nOptions; i++) {
const JavaVMOption *option = vm_args.options + i;
--- 2476,2486 ----
// Construct JavaVMInitArgs structure and parse as if it was part of the command line
JavaVMInitArgs vm_args;
vm_args.version = JNI_VERSION_1_2;
vm_args.options = options;
vm_args.nOptions = i;
! vm_args.ignoreUnrecognized = IgnoreUnrecognizedVMOptions;
if (PrintVMOptions) {
const char* tail;
for (int i = 0; i < vm_args.nOptions; i++) {
const JavaVMOption *option = vm_args.options + i;
*** 2523,2548 ****
// Remaining part of option string
const char* tail;
// If flag "-XX:Flags=flags-file" is used it will be the first option to be processed.
bool settings_file_specified = false;
int index;
for (index = 0; index < args->nOptions; index++) {
const JavaVMOption *option = args->options + index;
if (match_option(option, "-XX:Flags=", &tail)) {
! if (!process_settings_file(tail, true, args->ignoreUnrecognized)) {
! return JNI_EINVAL;
! }
settings_file_specified = true;
}
if (match_option(option, "-XX:+PrintVMOptions", &tail)) {
PrintVMOptions = true;
}
if (match_option(option, "-XX:-PrintVMOptions", &tail)) {
PrintVMOptions = false;
}
}
// Parse default .hotspotrc settings file
if (!settings_file_specified) {
if (!process_settings_file(".hotspotrc", false, args->ignoreUnrecognized)) {
return JNI_EINVAL;
--- 2523,2565 ----
// Remaining part of option string
const char* tail;
// If flag "-XX:Flags=flags-file" is used it will be the first option to be processed.
bool settings_file_specified = false;
+ const char* flags_file;
int index;
for (index = 0; index < args->nOptions; index++) {
const JavaVMOption *option = args->options + index;
if (match_option(option, "-XX:Flags=", &tail)) {
! flags_file = tail;
settings_file_specified = true;
}
if (match_option(option, "-XX:+PrintVMOptions", &tail)) {
PrintVMOptions = true;
}
if (match_option(option, "-XX:-PrintVMOptions", &tail)) {
PrintVMOptions = false;
}
+ if (match_option(option, "-XX:+IgnoreUnrecognizedVMOptions", &tail)) {
+ IgnoreUnrecognizedVMOptions = true;
}
+ if (match_option(option, "-XX:-IgnoreUnrecognizedVMOptions", &tail)) {
+ IgnoreUnrecognizedVMOptions = false;
+ }
+ }
+
+ if (IgnoreUnrecognizedVMOptions) {
+ // uncast const to modify the flag args->ignoreUnrecognized
+ *(jboolean*)(&args->ignoreUnrecognized) = true;
+ }
+
+ // Parse specified settings file
+ if (settings_file_specified) {
+ if (!process_settings_file(flags_file, true, args->ignoreUnrecognized)) {
+ return JNI_EINVAL;
+ }
+ }
// Parse default .hotspotrc settings file
if (!settings_file_specified) {
if (!process_settings_file(".hotspotrc", false, args->ignoreUnrecognized)) {
return JNI_EINVAL;
src/share/vm/runtime/arguments.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File