61 #include "jvmci/jvmciRuntime.hpp"
62 #endif
63 #if INCLUDE_ALL_GCS
64 #include "gc/cms/compactibleFreeListSpace.hpp"
65 #include "gc/g1/g1CollectedHeap.inline.hpp"
66 #include "gc/parallel/parallelScavengeHeap.hpp"
67 #endif // INCLUDE_ALL_GCS
68
69 // Note: This is a special bug reporting site for the JVM
70 #define DEFAULT_VENDOR_URL_BUG "http://bugreport.java.com/bugreport/crash.jsp"
71 #define DEFAULT_JAVA_LAUNCHER "generic"
72
73 char* Arguments::_jvm_flags_file = NULL;
74 char** Arguments::_jvm_flags_array = NULL;
75 int Arguments::_num_jvm_flags = 0;
76 char** Arguments::_jvm_args_array = NULL;
77 int Arguments::_num_jvm_args = 0;
78 char* Arguments::_java_command = NULL;
79 SystemProperty* Arguments::_system_properties = NULL;
80 const char* Arguments::_gc_log_filename = NULL;
81 bool Arguments::_has_profile = false;
82 size_t Arguments::_conservative_max_heap_alignment = 0;
83 size_t Arguments::_min_heap_size = 0;
84 Arguments::Mode Arguments::_mode = _mixed;
85 bool Arguments::_java_compiler = false;
86 bool Arguments::_xdebug_mode = false;
87 const char* Arguments::_java_vendor_url_bug = DEFAULT_VENDOR_URL_BUG;
88 const char* Arguments::_sun_java_launcher = DEFAULT_JAVA_LAUNCHER;
89 int Arguments::_sun_java_launcher_pid = -1;
90 bool Arguments::_sun_java_launcher_is_altjvm = false;
91
92 // These parameters are reset in method parse_vm_init_args()
93 bool Arguments::_AlwaysCompileLoopMethods = AlwaysCompileLoopMethods;
94 bool Arguments::_UseOnStackReplacement = UseOnStackReplacement;
95 bool Arguments::_BackgroundCompilation = BackgroundCompilation;
96 bool Arguments::_ClipInlining = ClipInlining;
97 intx Arguments::_Tier3InvokeNotifyFreqLog = Tier3InvokeNotifyFreqLog;
98 intx Arguments::_Tier4InvocationThreshold = Tier4InvocationThreshold;
99
100 char* Arguments::SharedArchivePath = NULL;
101
3142 "Invalid maximum non-profiled code heap size: %s.\n", option->optionString);
3143 return JNI_EINVAL;
3144 }
3145 if (FLAG_SET_CMDLINE(uintx, NonProfiledCodeHeapSize, (uintx)long_NonProfiledCodeHeapSize) != Flag::SUCCESS) {
3146 return JNI_EINVAL;
3147 }
3148 // -green
3149 } else if (match_option(option, "-green")) {
3150 jio_fprintf(defaultStream::error_stream(),
3151 "Green threads support not available\n");
3152 return JNI_EINVAL;
3153 // -native
3154 } else if (match_option(option, "-native")) {
3155 // HotSpot always uses native threads, ignore silently for compatibility
3156 // -Xrs
3157 } else if (match_option(option, "-Xrs")) {
3158 // Classic/EVM option, new functionality
3159 if (FLAG_SET_CMDLINE(bool, ReduceSignalUsage, true) != Flag::SUCCESS) {
3160 return JNI_EINVAL;
3161 }
3162 // -Xprof
3163 } else if (match_option(option, "-Xprof")) {
3164 #if INCLUDE_FPROF
3165 log_warning(arguments)("Option -Xprof was deprecated in version 9 and will likely be removed in a future release.");
3166 _has_profile = true;
3167 #else // INCLUDE_FPROF
3168 jio_fprintf(defaultStream::error_stream(),
3169 "Flat profiling is not supported in this VM.\n");
3170 return JNI_ERR;
3171 #endif // INCLUDE_FPROF
3172 // -Xconcurrentio
3173 } else if (match_option(option, "-Xconcurrentio")) {
3174 if (FLAG_SET_CMDLINE(bool, UseLWPSynchronization, true) != Flag::SUCCESS) {
3175 return JNI_EINVAL;
3176 }
3177 if (FLAG_SET_CMDLINE(bool, BackgroundCompilation, false) != Flag::SUCCESS) {
3178 return JNI_EINVAL;
3179 }
3180 if (FLAG_SET_CMDLINE(intx, DeferThrSuspendLoopCount, 1) != Flag::SUCCESS) {
3181 return JNI_EINVAL;
3182 }
3183 if (FLAG_SET_CMDLINE(bool, UseTLAB, false) != Flag::SUCCESS) {
3184 return JNI_EINVAL;
3185 }
3186 if (FLAG_SET_CMDLINE(size_t, NewSizeThreadIncrease, 16 * K) != Flag::SUCCESS) { // 20Kb per thread added to new generation
3187 return JNI_EINVAL;
3188 }
3189
3190 // -Xinternalversion
3191 } else if (match_option(option, "-Xinternalversion")) {
|
61 #include "jvmci/jvmciRuntime.hpp"
62 #endif
63 #if INCLUDE_ALL_GCS
64 #include "gc/cms/compactibleFreeListSpace.hpp"
65 #include "gc/g1/g1CollectedHeap.inline.hpp"
66 #include "gc/parallel/parallelScavengeHeap.hpp"
67 #endif // INCLUDE_ALL_GCS
68
69 // Note: This is a special bug reporting site for the JVM
70 #define DEFAULT_VENDOR_URL_BUG "http://bugreport.java.com/bugreport/crash.jsp"
71 #define DEFAULT_JAVA_LAUNCHER "generic"
72
73 char* Arguments::_jvm_flags_file = NULL;
74 char** Arguments::_jvm_flags_array = NULL;
75 int Arguments::_num_jvm_flags = 0;
76 char** Arguments::_jvm_args_array = NULL;
77 int Arguments::_num_jvm_args = 0;
78 char* Arguments::_java_command = NULL;
79 SystemProperty* Arguments::_system_properties = NULL;
80 const char* Arguments::_gc_log_filename = NULL;
81 size_t Arguments::_conservative_max_heap_alignment = 0;
82 size_t Arguments::_min_heap_size = 0;
83 Arguments::Mode Arguments::_mode = _mixed;
84 bool Arguments::_java_compiler = false;
85 bool Arguments::_xdebug_mode = false;
86 const char* Arguments::_java_vendor_url_bug = DEFAULT_VENDOR_URL_BUG;
87 const char* Arguments::_sun_java_launcher = DEFAULT_JAVA_LAUNCHER;
88 int Arguments::_sun_java_launcher_pid = -1;
89 bool Arguments::_sun_java_launcher_is_altjvm = false;
90
91 // These parameters are reset in method parse_vm_init_args()
92 bool Arguments::_AlwaysCompileLoopMethods = AlwaysCompileLoopMethods;
93 bool Arguments::_UseOnStackReplacement = UseOnStackReplacement;
94 bool Arguments::_BackgroundCompilation = BackgroundCompilation;
95 bool Arguments::_ClipInlining = ClipInlining;
96 intx Arguments::_Tier3InvokeNotifyFreqLog = Tier3InvokeNotifyFreqLog;
97 intx Arguments::_Tier4InvocationThreshold = Tier4InvocationThreshold;
98
99 char* Arguments::SharedArchivePath = NULL;
100
3141 "Invalid maximum non-profiled code heap size: %s.\n", option->optionString);
3142 return JNI_EINVAL;
3143 }
3144 if (FLAG_SET_CMDLINE(uintx, NonProfiledCodeHeapSize, (uintx)long_NonProfiledCodeHeapSize) != Flag::SUCCESS) {
3145 return JNI_EINVAL;
3146 }
3147 // -green
3148 } else if (match_option(option, "-green")) {
3149 jio_fprintf(defaultStream::error_stream(),
3150 "Green threads support not available\n");
3151 return JNI_EINVAL;
3152 // -native
3153 } else if (match_option(option, "-native")) {
3154 // HotSpot always uses native threads, ignore silently for compatibility
3155 // -Xrs
3156 } else if (match_option(option, "-Xrs")) {
3157 // Classic/EVM option, new functionality
3158 if (FLAG_SET_CMDLINE(bool, ReduceSignalUsage, true) != Flag::SUCCESS) {
3159 return JNI_EINVAL;
3160 }
3161 // -Xconcurrentio
3162 } else if (match_option(option, "-Xconcurrentio")) {
3163 if (FLAG_SET_CMDLINE(bool, UseLWPSynchronization, true) != Flag::SUCCESS) {
3164 return JNI_EINVAL;
3165 }
3166 if (FLAG_SET_CMDLINE(bool, BackgroundCompilation, false) != Flag::SUCCESS) {
3167 return JNI_EINVAL;
3168 }
3169 if (FLAG_SET_CMDLINE(intx, DeferThrSuspendLoopCount, 1) != Flag::SUCCESS) {
3170 return JNI_EINVAL;
3171 }
3172 if (FLAG_SET_CMDLINE(bool, UseTLAB, false) != Flag::SUCCESS) {
3173 return JNI_EINVAL;
3174 }
3175 if (FLAG_SET_CMDLINE(size_t, NewSizeThreadIncrease, 16 * K) != Flag::SUCCESS) { // 20Kb per thread added to new generation
3176 return JNI_EINVAL;
3177 }
3178
3179 // -Xinternalversion
3180 } else if (match_option(option, "-Xinternalversion")) {
|