# HG changeset patch # User goetz # Date 1493382864 -7200 # Node ID 608f1e63dca080a96756a048e177d119819c8bcb # Parent 47f9461b6374b341ade1b72727d6a1b297adc51a 8179618: Fixes for range of OptoLoopAlignment and Inlining flags Summary: OptoLoopAlignment must be multiple of NOP size. Inlining flags must not exceed WarmCallInfo::MAX_VALUE(). Reviewed-by: kvn, stuefe diff --git a/src/share/vm/opto/c2_globals.hpp b/src/share/vm/opto/c2_globals.hpp --- a/src/share/vm/opto/c2_globals.hpp +++ b/src/share/vm/opto/c2_globals.hpp @@ -420,37 +420,38 @@ develop(bool, InlineWarmCalls, false, \ "Use a heat-based priority queue to govern inlining") \ \ + /* Max values must not exceed WarmCallInfo::MAX_VALUE(). */ \ develop(intx, HotCallCountThreshold, 999999, \ "large numbers of calls (per method invocation) force hotness") \ - range(0, max_intx) \ + range(0, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10)))) \ \ develop(intx, HotCallProfitThreshold, 999999, \ "highly profitable inlining opportunities force hotness") \ - range(0, max_intx) \ + range(0, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10)))) \ \ develop(intx, HotCallTrivialWork, -1, \ "trivial execution time (no larger than this) forces hotness") \ - range(-1, max_intx) \ + range(-1, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10)))) \ \ develop(intx, HotCallTrivialSize, -1, \ "trivial methods (no larger than this) force calls to be hot") \ - range(-1, max_intx) \ + range(-1, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10)))) \ \ develop(intx, WarmCallMinCount, -1, \ "number of calls (per method invocation) to enable inlining") \ - range(-1, max_intx) \ + range(-1, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10)))) \ \ develop(intx, WarmCallMinProfit, -1, \ "number of calls (per method invocation) to enable inlining") \ - range(-1, max_intx) \ + range(-1, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10)))) \ \ develop(intx, WarmCallMaxWork, 999999, \ "execution time of the largest inlinable method") \ - range(0, max_intx) \ + range(0, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10)))) \ \ develop(intx, WarmCallMaxSize, 999999, \ "size of the largest inlinable method") \ - range(0, max_intx) \ + range(0, ((intx)MIN2((int64_t)max_intx,(int64_t)(+1.0e10)))) \ \ product(intx, MaxNodeLimit, 80000, \ "Maximum number of nodes") \ diff --git a/src/share/vm/runtime/commandLineFlagConstraintsCompiler.cpp b/src/share/vm/runtime/commandLineFlagConstraintsCompiler.cpp --- a/src/share/vm/runtime/commandLineFlagConstraintsCompiler.cpp +++ b/src/share/vm/runtime/commandLineFlagConstraintsCompiler.cpp @@ -276,14 +276,15 @@ return Flag::VIOLATES_CONSTRAINT; } -#ifdef SPARC + // Relevant on ppc, s390, sparc. Will be optimized where + // addr_unit() == 1. if (OptoLoopAlignment % relocInfo::addr_unit() != 0) { CommandLineError::print(verbose, "OptoLoopAlignment (" INTX_FORMAT ") must be " - "multiple of NOP size\n"); + "multiple of NOP size (%d)\n", + value, relocInfo::addr_unit()); return Flag::VIOLATES_CONSTRAINT; } -#endif return Flag::SUCCESS; }