< prev index next >

src/share/vm/runtime/commandLineFlagConstraintsCompiler.cpp

Print this page
rev 12113 : 8166561: [s390] Adaptions needed for s390 port in C1 and C2.


 344 
 345 #ifdef SPARC
 346   if (InteriorEntryAlignment % relocInfo::addr_unit() != 0) {
 347     CommandLineError::print(verbose,
 348                             "InteriorEntryAlignment (" INTX_FORMAT ") must be "
 349                             "multiple of NOP size\n");
 350     return Flag::VIOLATES_CONSTRAINT;
 351   }
 352 #endif
 353 
 354   if (!is_power_of_2(value)) {
 355      CommandLineError::print(verbose,
 356                              "InteriorEntryAlignment (" INTX_FORMAT ") must be "
 357                              "a power of two\n", InteriorEntryAlignment);
 358      return Flag::VIOLATES_CONSTRAINT;
 359    }
 360 
 361   int minimum_alignment = 16;
 362 #if defined(SPARC) || (defined(X86) && !defined(AMD64))
 363   minimum_alignment = 4;


 364 #endif
 365 
 366   if (InteriorEntryAlignment < minimum_alignment) {
 367     CommandLineError::print(verbose,
 368                             "InteriorEntryAlignment (" INTX_FORMAT ") must be "
 369                             "greater than or equal to %d\n",
 370                             InteriorEntryAlignment, minimum_alignment);
 371     return Flag::VIOLATES_CONSTRAINT;
 372   }
 373 
 374   return Flag::SUCCESS;
 375 }
 376 
 377 Flag::Error NodeLimitFudgeFactorConstraintFunc(intx value, bool verbose) {
 378   if (value < MaxNodeLimit * 2 / 100 || value > MaxNodeLimit * 40 / 100) {
 379     CommandLineError::print(verbose,
 380                             "NodeLimitFudgeFactor must be between 2%% and 40%% "
 381                             "of MaxNodeLimit (" INTX_FORMAT ")\n",
 382                             MaxNodeLimit);
 383     return Flag::VIOLATES_CONSTRAINT;


 344 
 345 #ifdef SPARC
 346   if (InteriorEntryAlignment % relocInfo::addr_unit() != 0) {
 347     CommandLineError::print(verbose,
 348                             "InteriorEntryAlignment (" INTX_FORMAT ") must be "
 349                             "multiple of NOP size\n");
 350     return Flag::VIOLATES_CONSTRAINT;
 351   }
 352 #endif
 353 
 354   if (!is_power_of_2(value)) {
 355      CommandLineError::print(verbose,
 356                              "InteriorEntryAlignment (" INTX_FORMAT ") must be "
 357                              "a power of two\n", InteriorEntryAlignment);
 358      return Flag::VIOLATES_CONSTRAINT;
 359    }
 360 
 361   int minimum_alignment = 16;
 362 #if defined(SPARC) || (defined(X86) && !defined(AMD64))
 363   minimum_alignment = 4;
 364 #elif defined(S390)
 365   minimum_alignment = 2;
 366 #endif
 367 
 368   if (InteriorEntryAlignment < minimum_alignment) {
 369     CommandLineError::print(verbose,
 370                             "InteriorEntryAlignment (" INTX_FORMAT ") must be "
 371                             "greater than or equal to %d\n",
 372                             InteriorEntryAlignment, minimum_alignment);
 373     return Flag::VIOLATES_CONSTRAINT;
 374   }
 375 
 376   return Flag::SUCCESS;
 377 }
 378 
 379 Flag::Error NodeLimitFudgeFactorConstraintFunc(intx value, bool verbose) {
 380   if (value < MaxNodeLimit * 2 / 100 || value > MaxNodeLimit * 40 / 100) {
 381     CommandLineError::print(verbose,
 382                             "NodeLimitFudgeFactor must be between 2%% and 40%% "
 383                             "of MaxNodeLimit (" INTX_FORMAT ")\n",
 384                             MaxNodeLimit);
 385     return Flag::VIOLATES_CONSTRAINT;
< prev index next >