comparison src/share/vm/runtime/arguments.cpp @ 12324:510fbd28919c

8020151: PSR:PERF Large performance regressions when code cache is filled Summary: Code cache sweeping based on method hotness; removed speculatively disconnect Reviewed-by: kvn, iveresov
author anoll
date Fri, 27 Sep 2013 10:50:55 +0200
parents 72b7e96c1922
children 1c3486050433
comparison
equal deleted inserted replaced
12323:c9ccd7b85f20 12324:510fbd28919c
1128 } 1128 }
1129 if (!UseInterpreter) { // -Xcomp 1129 if (!UseInterpreter) { // -Xcomp
1130 Tier3InvokeNotifyFreqLog = 0; 1130 Tier3InvokeNotifyFreqLog = 0;
1131 Tier4InvocationThreshold = 0; 1131 Tier4InvocationThreshold = 0;
1132 } 1132 }
1133 if (FLAG_IS_DEFAULT(NmethodSweepFraction)) {
1134 FLAG_SET_DEFAULT(NmethodSweepFraction, 1 + ReservedCodeCacheSize / (16 * M));
1135 }
1133 } 1136 }
1134 1137
1135 #if INCLUDE_ALL_GCS 1138 #if INCLUDE_ALL_GCS
1136 static void disable_adaptive_size_policy(const char* collector_name) { 1139 static void disable_adaptive_size_policy(const char* collector_name) {
1137 if (UseAdaptiveSizePolicy) { 1140 if (UseAdaptiveSizePolicy) {
2331 jio_fprintf(defaultStream::error_stream(), 2334 jio_fprintf(defaultStream::error_stream(),
2332 "Invalid ReservedCodeCacheSize=%dM. Must be at most %uM.\n", ReservedCodeCacheSize/M, 2335 "Invalid ReservedCodeCacheSize=%dM. Must be at most %uM.\n", ReservedCodeCacheSize/M,
2333 (2*G)/M); 2336 (2*G)/M);
2334 status = false; 2337 status = false;
2335 } 2338 }
2339
2340 status &= verify_interval(NmethodSweepFraction, 1, ReservedCodeCacheSize/K, "NmethodSweepFraction");
2341 status &= verify_interval(NmethodSweepActivity, 0, 2000, "NmethodSweepActivity");
2342
2336 return status; 2343 return status;
2337 } 2344 }
2338 2345
2339 bool Arguments::is_bad_option(const JavaVMOption* option, jboolean ignore, 2346 bool Arguments::is_bad_option(const JavaVMOption* option, jboolean ignore,
2340 const char* option_type) { 2347 const char* option_type) {