3133
3134 // Get around early Solaris scheduling bug
3135 // (affinity vs other jobs on system)
3136 // but disallow DR and offlining (5008695).
3137 FLAG_SET_CMDLINE(bool, BindGCTaskThreadsToCPUs, true);
3138
3139 // Need to keep consistency of MaxTenuringThreshold and AlwaysTenure/NeverTenure;
3140 // and the last option wins.
3141 } else if (match_option(option, "-XX:+NeverTenure")) {
3142 FLAG_SET_CMDLINE(bool, NeverTenure, true);
3143 FLAG_SET_CMDLINE(bool, AlwaysTenure, false);
3144 FLAG_SET_CMDLINE(uintx, MaxTenuringThreshold, markOopDesc::max_age + 1);
3145 } else if (match_option(option, "-XX:+AlwaysTenure")) {
3146 FLAG_SET_CMDLINE(bool, NeverTenure, false);
3147 FLAG_SET_CMDLINE(bool, AlwaysTenure, true);
3148 FLAG_SET_CMDLINE(uintx, MaxTenuringThreshold, 0);
3149 } else if (match_option(option, "-XX:MaxTenuringThreshold=", &tail)) {
3150 uintx max_tenuring_thresh = 0;
3151 if(!parse_uintx(tail, &max_tenuring_thresh, 0)) {
3152 jio_fprintf(defaultStream::error_stream(),
3153 "Invalid MaxTenuringThreshold: %s\n", option->optionString);
3154 }
3155 FLAG_SET_CMDLINE(uintx, MaxTenuringThreshold, max_tenuring_thresh);
3156
3157 if (MaxTenuringThreshold == 0) {
3158 FLAG_SET_CMDLINE(bool, NeverTenure, false);
3159 FLAG_SET_CMDLINE(bool, AlwaysTenure, true);
3160 } else {
3161 FLAG_SET_CMDLINE(bool, NeverTenure, false);
3162 FLAG_SET_CMDLINE(bool, AlwaysTenure, false);
3163 }
3164 } else if (match_option(option, "-XX:+DisplayVMOutputToStderr")) {
3165 FLAG_SET_CMDLINE(bool, DisplayVMOutputToStdout, false);
3166 FLAG_SET_CMDLINE(bool, DisplayVMOutputToStderr, true);
3167 } else if (match_option(option, "-XX:+DisplayVMOutputToStdout")) {
3168 FLAG_SET_CMDLINE(bool, DisplayVMOutputToStderr, false);
3169 FLAG_SET_CMDLINE(bool, DisplayVMOutputToStdout, true);
3170 } else if (match_option(option, "-XX:+ExtendedDTraceProbes")) {
3171 #if defined(DTRACE_ENABLED)
3172 FLAG_SET_CMDLINE(bool, ExtendedDTraceProbes, true);
3173 FLAG_SET_CMDLINE(bool, DTraceMethodProbes, true);
|
3133
3134 // Get around early Solaris scheduling bug
3135 // (affinity vs other jobs on system)
3136 // but disallow DR and offlining (5008695).
3137 FLAG_SET_CMDLINE(bool, BindGCTaskThreadsToCPUs, true);
3138
3139 // Need to keep consistency of MaxTenuringThreshold and AlwaysTenure/NeverTenure;
3140 // and the last option wins.
3141 } else if (match_option(option, "-XX:+NeverTenure")) {
3142 FLAG_SET_CMDLINE(bool, NeverTenure, true);
3143 FLAG_SET_CMDLINE(bool, AlwaysTenure, false);
3144 FLAG_SET_CMDLINE(uintx, MaxTenuringThreshold, markOopDesc::max_age + 1);
3145 } else if (match_option(option, "-XX:+AlwaysTenure")) {
3146 FLAG_SET_CMDLINE(bool, NeverTenure, false);
3147 FLAG_SET_CMDLINE(bool, AlwaysTenure, true);
3148 FLAG_SET_CMDLINE(uintx, MaxTenuringThreshold, 0);
3149 } else if (match_option(option, "-XX:MaxTenuringThreshold=", &tail)) {
3150 uintx max_tenuring_thresh = 0;
3151 if(!parse_uintx(tail, &max_tenuring_thresh, 0)) {
3152 jio_fprintf(defaultStream::error_stream(),
3153 "Improperly specified VM option 'MaxTenuringThreshold=%s'\n", tail);
3154 return JNI_EINVAL;
3155 }
3156 FLAG_SET_CMDLINE(uintx, MaxTenuringThreshold, max_tenuring_thresh);
3157
3158 if (MaxTenuringThreshold == 0) {
3159 FLAG_SET_CMDLINE(bool, NeverTenure, false);
3160 FLAG_SET_CMDLINE(bool, AlwaysTenure, true);
3161 } else {
3162 FLAG_SET_CMDLINE(bool, NeverTenure, false);
3163 FLAG_SET_CMDLINE(bool, AlwaysTenure, false);
3164 }
3165 } else if (match_option(option, "-XX:+DisplayVMOutputToStderr")) {
3166 FLAG_SET_CMDLINE(bool, DisplayVMOutputToStdout, false);
3167 FLAG_SET_CMDLINE(bool, DisplayVMOutputToStderr, true);
3168 } else if (match_option(option, "-XX:+DisplayVMOutputToStdout")) {
3169 FLAG_SET_CMDLINE(bool, DisplayVMOutputToStderr, false);
3170 FLAG_SET_CMDLINE(bool, DisplayVMOutputToStdout, true);
3171 } else if (match_option(option, "-XX:+ExtendedDTraceProbes")) {
3172 #if defined(DTRACE_ENABLED)
3173 FLAG_SET_CMDLINE(bool, ExtendedDTraceProbes, true);
3174 FLAG_SET_CMDLINE(bool, DTraceMethodProbes, true);
|