337 return Flag::VIOLATES_CONSTRAINT; 338 } 339 340 return Flag::SUCCESS; 341 } 342 343 Flag::Error TypeProfileLevelConstraintFunc(uintx value, bool verbose) { 344 for (int i = 0; i < 3; i++) { 345 if (value % 10 > 2) { 346 CommandLineError::print(verbose, 347 "Invalid value (" UINTX_FORMAT ") " 348 "in TypeProfileLevel at position %d\n", value, i); 349 return Flag::VIOLATES_CONSTRAINT; 350 } 351 value = value / 10; 352 } 353 354 return Flag::SUCCESS; 355 } 356 357 #ifdef COMPILER2 358 Flag::Error InteriorEntryAlignmentConstraintFunc(intx value, bool verbose) { 359 if (InteriorEntryAlignment > CodeEntryAlignment) { 360 CommandLineError::print(verbose, 361 "InteriorEntryAlignment (" INTX_FORMAT ") must be " 362 "less than or equal to CodeEntryAlignment (" INTX_FORMAT ")\n", 363 InteriorEntryAlignment, CodeEntryAlignment); 364 return Flag::VIOLATES_CONSTRAINT; 365 } 366 367 #ifdef SPARC 368 if (InteriorEntryAlignment % relocInfo::addr_unit() != 0) { 369 CommandLineError::print(verbose, 370 "InteriorEntryAlignment (" INTX_FORMAT ") must be " 371 "multiple of NOP size\n"); 372 return Flag::VIOLATES_CONSTRAINT; 373 } 374 #endif 375 376 if (!is_power_of_2(value)) { | 337 return Flag::VIOLATES_CONSTRAINT; 338 } 339 340 return Flag::SUCCESS; 341 } 342 343 Flag::Error TypeProfileLevelConstraintFunc(uintx value, bool verbose) { 344 for (int i = 0; i < 3; i++) { 345 if (value % 10 > 2) { 346 CommandLineError::print(verbose, 347 "Invalid value (" UINTX_FORMAT ") " 348 "in TypeProfileLevel at position %d\n", value, i); 349 return Flag::VIOLATES_CONSTRAINT; 350 } 351 value = value / 10; 352 } 353 354 return Flag::SUCCESS; 355 } 356 357 Flag::Error InitArrayShortSizeConstraintFunc(intx value, bool verbose) { 358 if (value % BytesPerLong != 0) { 359 return Flag::VIOLATES_CONSTRAINT; 360 } else { 361 return Flag::SUCCESS; 362 } 363 } 364 365 #ifdef COMPILER2 366 Flag::Error InteriorEntryAlignmentConstraintFunc(intx value, bool verbose) { 367 if (InteriorEntryAlignment > CodeEntryAlignment) { 368 CommandLineError::print(verbose, 369 "InteriorEntryAlignment (" INTX_FORMAT ") must be " 370 "less than or equal to CodeEntryAlignment (" INTX_FORMAT ")\n", 371 InteriorEntryAlignment, CodeEntryAlignment); 372 return Flag::VIOLATES_CONSTRAINT; 373 } 374 375 #ifdef SPARC 376 if (InteriorEntryAlignment % relocInfo::addr_unit() != 0) { 377 CommandLineError::print(verbose, 378 "InteriorEntryAlignment (" INTX_FORMAT ") must be " 379 "multiple of NOP size\n"); 380 return Flag::VIOLATES_CONSTRAINT; 381 } 382 #endif 383 384 if (!is_power_of_2(value)) { |