272 CommandLineError::print(verbose, 273 "OptoLoopAlignment (" INTX_FORMAT ") " 274 "must be a power of two\n", 275 value); 276 return Flag::VIOLATES_CONSTRAINT; 277 } 278 279 #ifdef SPARC 280 if (OptoLoopAlignment % relocInfo::addr_unit() != 0) { 281 CommandLineError::print(verbose, 282 "OptoLoopAlignment (" INTX_FORMAT ") must be " 283 "multiple of NOP size\n"); 284 return Flag::VIOLATES_CONSTRAINT; 285 } 286 #endif 287 288 return Flag::SUCCESS; 289 } 290 291 Flag::Error ArraycopyDstPrefetchDistanceConstraintFunc(uintx value, bool verbose) { 292 if (value != 0) { 293 CommandLineError::print(verbose, 294 "ArraycopyDstPrefetchDistance (" UINTX_FORMAT ") must be 0\n", 295 value); 296 return Flag::VIOLATES_CONSTRAINT; 297 } 298 299 return Flag::SUCCESS; 300 } 301 302 Flag::Error ArraycopySrcPrefetchDistanceConstraintFunc(uintx value, bool verbose) { 303 if (value != 0) { 304 CommandLineError::print(verbose, 305 "ArraycopySrcPrefetchDistance (" UINTX_FORMAT ") must be 0\n", 306 value); 307 return Flag::VIOLATES_CONSTRAINT; 308 } 309 310 return Flag::SUCCESS; 311 } 312 313 Flag::Error TypeProfileLevelConstraintFunc(uintx value, bool verbose) { 314 for (int i = 0; i < 3; i++) { 315 if (value % 10 > 2) { 316 CommandLineError::print(verbose, 317 "Invalid value (" UINTX_FORMAT ") " 318 "in TypeProfileLevel at position %d\n", value, i); 319 return Flag::VIOLATES_CONSTRAINT; 320 } 321 value = value / 10; 322 } 323 324 return Flag::SUCCESS; 325 } 326 | 272 CommandLineError::print(verbose, 273 "OptoLoopAlignment (" INTX_FORMAT ") " 274 "must be a power of two\n", 275 value); 276 return Flag::VIOLATES_CONSTRAINT; 277 } 278 279 #ifdef SPARC 280 if (OptoLoopAlignment % relocInfo::addr_unit() != 0) { 281 CommandLineError::print(verbose, 282 "OptoLoopAlignment (" INTX_FORMAT ") must be " 283 "multiple of NOP size\n"); 284 return Flag::VIOLATES_CONSTRAINT; 285 } 286 #endif 287 288 return Flag::SUCCESS; 289 } 290 291 Flag::Error ArraycopyDstPrefetchDistanceConstraintFunc(uintx value, bool verbose) { 292 if (value >= 4032) { 293 CommandLineError::print(verbose, 294 "ArraycopyDstPrefetchDistance (" UINTX_FORMAT ") must be" 295 "between 0 and 4031\n", value); 296 return Flag::VIOLATES_CONSTRAINT; 297 } 298 299 return Flag::SUCCESS; 300 } 301 302 Flag::Error ArraycopySrcPrefetchDistanceConstraintFunc(uintx value, bool verbose) { 303 if (value >= 4032) { 304 CommandLineError::print(verbose, 305 "ArraycopySrcPrefetchDistance (" UINTX_FORMAT ") must be" 306 "between 0 and 4031\n", value); 307 return Flag::VIOLATES_CONSTRAINT; 308 } 309 310 return Flag::SUCCESS; 311 } 312 313 Flag::Error TypeProfileLevelConstraintFunc(uintx value, bool verbose) { 314 for (int i = 0; i < 3; i++) { 315 if (value % 10 > 2) { 316 CommandLineError::print(verbose, 317 "Invalid value (" UINTX_FORMAT ") " 318 "in TypeProfileLevel at position %d\n", value, i); 319 return Flag::VIOLATES_CONSTRAINT; 320 } 321 value = value / 10; 322 } 323 324 return Flag::SUCCESS; 325 } 326 |