hotspot/src/share/vm/runtime/arguments.cpp
changeset 11585 3101e13e34d9
parent 11442 770f7b89bb6b
child 11587 16b0200f252d
equal deleted inserted replaced
11584:e1df4d08a1f4 11585:3101e13e34d9
     1 /*
     1 /*
     2  * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
  1038     FLAG_SET_DEFAULT(ReservedCodeCacheSize, ReservedCodeCacheSize * 2);
  1038     FLAG_SET_DEFAULT(ReservedCodeCacheSize, ReservedCodeCacheSize * 2);
  1039   }
  1039   }
  1040 }
  1040 }
  1041 
  1041 
  1042 #ifndef KERNEL
  1042 #ifndef KERNEL
       
  1043 static void disable_adaptive_size_policy(const char* collector_name) {
       
  1044   if (UseAdaptiveSizePolicy) {
       
  1045     if (FLAG_IS_CMDLINE(UseAdaptiveSizePolicy)) {
       
  1046       warning("disabling UseAdaptiveSizePolicy; it is incompatible with %s.",
       
  1047               collector_name);
       
  1048     }
       
  1049     FLAG_SET_DEFAULT(UseAdaptiveSizePolicy, false);
       
  1050   }
       
  1051 }
       
  1052 
  1043 // If the user has chosen ParallelGCThreads > 0, we set UseParNewGC
  1053 // If the user has chosen ParallelGCThreads > 0, we set UseParNewGC
  1044 // if it's not explictly set or unset. If the user has chosen
  1054 // if it's not explictly set or unset. If the user has chosen
  1045 // UseParNewGC and not explicitly set ParallelGCThreads we
  1055 // UseParNewGC and not explicitly set ParallelGCThreads we
  1046 // set it, unless this is a single cpu machine.
  1056 // set it, unless this is a single cpu machine.
  1047 void Arguments::set_parnew_gc_flags() {
  1057 void Arguments::set_parnew_gc_flags() {
  1048   assert(!UseSerialGC && !UseParallelOldGC && !UseParallelGC && !UseG1GC,
  1058   assert(!UseSerialGC && !UseParallelOldGC && !UseParallelGC && !UseG1GC,
  1049          "control point invariant");
  1059          "control point invariant");
  1050   assert(UseParNewGC, "Error");
  1060   assert(UseParNewGC, "Error");
  1051 
  1061 
  1052   // Turn off AdaptiveSizePolicy by default for parnew until it is
  1062   // Turn off AdaptiveSizePolicy for parnew until it is complete.
  1053   // complete.
  1063   disable_adaptive_size_policy("UseParNewGC");
  1054   if (FLAG_IS_DEFAULT(UseAdaptiveSizePolicy)) {
       
  1055     FLAG_SET_DEFAULT(UseAdaptiveSizePolicy, false);
       
  1056   }
       
  1057 
  1064 
  1058   if (ParallelGCThreads == 0) {
  1065   if (ParallelGCThreads == 0) {
  1059     FLAG_SET_DEFAULT(ParallelGCThreads,
  1066     FLAG_SET_DEFAULT(ParallelGCThreads,
  1060                      Abstract_VM_Version::parallel_worker_threads());
  1067                      Abstract_VM_Version::parallel_worker_threads());
  1061     if (ParallelGCThreads == 1) {
  1068     if (ParallelGCThreads == 1) {
  1108   // unless explicitly forbidden.
  1115   // unless explicitly forbidden.
  1109   if (FLAG_IS_DEFAULT(UseParNewGC)) {
  1116   if (FLAG_IS_DEFAULT(UseParNewGC)) {
  1110     FLAG_SET_ERGO(bool, UseParNewGC, true);
  1117     FLAG_SET_ERGO(bool, UseParNewGC, true);
  1111   }
  1118   }
  1112 
  1119 
  1113   // Turn off AdaptiveSizePolicy by default for cms until it is
  1120   // Turn off AdaptiveSizePolicy for CMS until it is complete.
  1114   // complete.
  1121   disable_adaptive_size_policy("UseConcMarkSweepGC");
  1115   if (FLAG_IS_DEFAULT(UseAdaptiveSizePolicy)) {
       
  1116     FLAG_SET_DEFAULT(UseAdaptiveSizePolicy, false);
       
  1117   }
       
  1118 
  1122 
  1119   // In either case, adjust ParallelGCThreads and/or UseParNewGC
  1123   // In either case, adjust ParallelGCThreads and/or UseParNewGC
  1120   // as needed.
  1124   // as needed.
  1121   if (UseParNewGC) {
  1125   if (UseParNewGC) {
  1122     set_parnew_gc_flags();
  1126     set_parnew_gc_flags();