69 // the klass word of the object's pre-image.
70 if (UseCompressedOops && !ParGCUseLocalOverflow) {
71 if (!FLAG_IS_DEFAULT(ParGCUseLocalOverflow)) {
72 warning("Forcing +ParGCUseLocalOverflow: needed if using compressed references");
73 }
74 FLAG_SET_DEFAULT(ParGCUseLocalOverflow, true);
75 }
76 assert(ParGCUseLocalOverflow || !UseCompressedOops, "Error");
77 }
78
79 // Adjust some sizes to suit CMS and/or ParNew needs; these work well on
80 // sparc/solaris for certain applications, but would gain from
81 // further optimization and tuning efforts, and would almost
82 // certainly gain from analysis of platform and environment.
83 void CMSArguments::initialize() {
84 GCArguments::initialize();
85
86 assert(!UseSerialGC && !UseParallelOldGC && !UseParallelGC, "Error");
87 assert(UseConcMarkSweepGC, "CMS is expected to be on here");
88
89 // CMS space iteration, which FLSVerifyAllHeapreferences entails,
90 // insists that we hold the requisite locks so that the iteration is
91 // MT-safe. For the verification at start-up and shut-down, we don't
92 // yet have a good way of acquiring and releasing these locks,
93 // which are not visible at the CollectedHeap level. We want to
94 // be able to acquire these locks and then do the iteration rather
95 // than just disable the lock verification. This will be fixed under
96 // bug 4788986.
97 if (UseConcMarkSweepGC && FLSVerifyAllHeapReferences) {
98 if (VerifyDuringStartup) {
99 warning("Heap verification at start-up disabled "
100 "(due to current incompatibility with FLSVerifyAllHeapReferences)");
101 VerifyDuringStartup = false; // Disable verification at start-up
102 }
103
104 if (VerifyBeforeExit) {
105 warning("Heap verification at shutdown disabled "
106 "(due to current incompatibility with FLSVerifyAllHeapReferences)");
107 VerifyBeforeExit = false; // Disable verification at shutdown
108 }
|
69 // the klass word of the object's pre-image.
70 if (UseCompressedOops && !ParGCUseLocalOverflow) {
71 if (!FLAG_IS_DEFAULT(ParGCUseLocalOverflow)) {
72 warning("Forcing +ParGCUseLocalOverflow: needed if using compressed references");
73 }
74 FLAG_SET_DEFAULT(ParGCUseLocalOverflow, true);
75 }
76 assert(ParGCUseLocalOverflow || !UseCompressedOops, "Error");
77 }
78
79 // Adjust some sizes to suit CMS and/or ParNew needs; these work well on
80 // sparc/solaris for certain applications, but would gain from
81 // further optimization and tuning efforts, and would almost
82 // certainly gain from analysis of platform and environment.
83 void CMSArguments::initialize() {
84 GCArguments::initialize();
85
86 assert(!UseSerialGC && !UseParallelOldGC && !UseParallelGC, "Error");
87 assert(UseConcMarkSweepGC, "CMS is expected to be on here");
88
89 if (AllocateOldGenAt != NULL) {
90 vm_exit_during_initialization("The flag -XX:AllocateOldGenAt can not be used with CMS. Only ParallelOldGC and G1GC are supported.", NULL);
91 }
92
93 // CMS space iteration, which FLSVerifyAllHeapreferences entails,
94 // insists that we hold the requisite locks so that the iteration is
95 // MT-safe. For the verification at start-up and shut-down, we don't
96 // yet have a good way of acquiring and releasing these locks,
97 // which are not visible at the CollectedHeap level. We want to
98 // be able to acquire these locks and then do the iteration rather
99 // than just disable the lock verification. This will be fixed under
100 // bug 4788986.
101 if (UseConcMarkSweepGC && FLSVerifyAllHeapReferences) {
102 if (VerifyDuringStartup) {
103 warning("Heap verification at start-up disabled "
104 "(due to current incompatibility with FLSVerifyAllHeapReferences)");
105 VerifyDuringStartup = false; // Disable verification at start-up
106 }
107
108 if (VerifyBeforeExit) {
109 warning("Heap verification at shutdown disabled "
110 "(due to current incompatibility with FLSVerifyAllHeapReferences)");
111 VerifyBeforeExit = false; // Disable verification at shutdown
112 }
|