131 return JVMFlag::VIOLATES_CONSTRAINT;
132 }
133
134 return JVMFlag::SUCCESS;
135 }
136
137 JVMFlag::Error NUMAInterleaveGranularityConstraintFunc(size_t value, bool verbose) {
138 size_t min = os::vm_allocation_granularity();
139 size_t max = NOT_LP64(2*G) LP64_ONLY(8192*G);
140
141 if (value < min || value > max) {
142 JVMFlag::printError(verbose,
143 "size_t NUMAInterleaveGranularity=%zu is outside the allowed range [ %zu"
144 " ... %zu ]\n", value, min, max);
145 return JVMFlag::VIOLATES_CONSTRAINT;
146 }
147
148 return JVMFlag::SUCCESS;
149 }
150
151 JVMFlag::Error LargePageSizeInBytesConstraintFunc(size_t value, bool verbose) {
152 if (!is_power_of_2(value)) {
153 JVMFlag::printError(verbose, "LargePageSizeInBytes ( %zu ) must be "
154 "a power of 2\n",
155 value);
156 return JVMFlag::VIOLATES_CONSTRAINT;
157 }
158 return JVMFlag::SUCCESS;
159 }
|
131 return JVMFlag::VIOLATES_CONSTRAINT;
132 }
133
134 return JVMFlag::SUCCESS;
135 }
136
137 JVMFlag::Error NUMAInterleaveGranularityConstraintFunc(size_t value, bool verbose) {
138 size_t min = os::vm_allocation_granularity();
139 size_t max = NOT_LP64(2*G) LP64_ONLY(8192*G);
140
141 if (value < min || value > max) {
142 JVMFlag::printError(verbose,
143 "size_t NUMAInterleaveGranularity=%zu is outside the allowed range [ %zu"
144 " ... %zu ]\n", value, min, max);
145 return JVMFlag::VIOLATES_CONSTRAINT;
146 }
147
148 return JVMFlag::SUCCESS;
149 }
150
151 JVMFlag::Error OnSpinWaitInstNameConstraintFunc(ccstr value, bool verbose) {
152 #ifdef AARCH64
153 if (value == nullptr) {
154 JVMFlag::printError(verbose, "OnSpinWaitInst cannot be empty\n");
155 return JVMFlag::VIOLATES_CONSTRAINT;
156 }
157
158 if (strcmp(value, "nop") != 0 &&
159 strcmp(value, "isb") != 0 &&
160 strcmp(value, "yield") != 0 &&
161 strcmp(value, "sb") != 0 &&
162 strcmp(value, "none") != 0) {
163 JVMFlag::printError(verbose,
164 "Unrecognized value %s for OnSpinWaitInst. Must be one of the following: "
165 "nop, isb, yield, sb, none\n",
166 value);
167 return JVMFlag::VIOLATES_CONSTRAINT;
168 }
169 #endif
170 return JVMFlag::SUCCESS;
171 }
172
173 JVMFlag::Error LargePageSizeInBytesConstraintFunc(size_t value, bool verbose) {
174 if (!is_power_of_2(value)) {
175 JVMFlag::printError(verbose, "LargePageSizeInBytes ( %zu ) must be "
176 "a power of 2\n",
177 value);
178 return JVMFlag::VIOLATES_CONSTRAINT;
179 }
180 return JVMFlag::SUCCESS;
181 }
|