1161 FLAG_SET_ERGO(bool, UseParallelGC, true); |
1161 FLAG_SET_ERGO(bool, UseParallelGC, true); |
1162 } |
1162 } |
1163 no_shared_spaces(); |
1163 no_shared_spaces(); |
1164 } |
1164 } |
1165 } |
1165 } |
|
1166 |
|
1167 #ifdef _LP64 |
|
1168 // Compressed Headers do not work with CMS, which uses a bit in the klass |
|
1169 // field offset to determine free list chunk markers. |
|
1170 // Check that UseCompressedOops can be set with the max heap size allocated |
|
1171 // by ergonomics. |
|
1172 if (!UseConcMarkSweepGC && MaxHeapSize <= (32*G - os::vm_page_size())) { |
|
1173 if (FLAG_IS_DEFAULT(UseCompressedOops)) { |
|
1174 FLAG_SET_ERGO(bool, UseCompressedOops, true); |
|
1175 } |
|
1176 } else { |
|
1177 if (UseCompressedOops && !FLAG_IS_DEFAULT(UseCompressedOops)) { |
|
1178 // If specified, give a warning |
|
1179 if (UseConcMarkSweepGC){ |
|
1180 warning("Compressed Oops does not work with CMS"); |
|
1181 } else { |
|
1182 warning( |
|
1183 "Max heap size too large for Compressed Oops"); |
|
1184 } |
|
1185 FLAG_SET_DEFAULT(UseCompressedOops, false); |
|
1186 } |
|
1187 } |
|
1188 // Also checks that certain machines are slower with compressed oops |
|
1189 // in vm_version initialization code. |
|
1190 #endif // _LP64 |
1166 } |
1191 } |
1167 |
1192 |
1168 void Arguments::set_parallel_gc_flags() { |
1193 void Arguments::set_parallel_gc_flags() { |
1169 // If parallel old was requested, automatically enable parallel scavenge. |
1194 // If parallel old was requested, automatically enable parallel scavenge. |
1170 if (UseParallelOldGC && !UseParallelGC && FLAG_IS_DEFAULT(UseParallelGC)) { |
1195 if (UseParallelOldGC && !UseParallelGC && FLAG_IS_DEFAULT(UseParallelGC)) { |