8179618: Fixes for range of OptoLoopAlignment and Inlining flags
OptoLoopAlignment must be multiple of NOP size. Inlining flags must not exceed WarmCallInfo::MAX_VALUE(). Reviewed-by: kvn, stuefe
This commit is contained in:
parent
7d85a92ef0
commit
8bd00f84a5
@ -420,37 +420,38 @@
|
|||||||
develop(bool, InlineWarmCalls, false, \
|
develop(bool, InlineWarmCalls, false, \
|
||||||
"Use a heat-based priority queue to govern inlining") \
|
"Use a heat-based priority queue to govern inlining") \
|
||||||
\
|
\
|
||||||
|
/* Max values must not exceed WarmCallInfo::MAX_VALUE(). */ \
|
||||||
develop(intx, HotCallCountThreshold, 999999, \
|
develop(intx, HotCallCountThreshold, 999999, \
|
||||||
"large numbers of calls (per method invocation) force hotness") \
|
"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, \
|
develop(intx, HotCallProfitThreshold, 999999, \
|
||||||
"highly profitable inlining opportunities force hotness") \
|
"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, \
|
develop(intx, HotCallTrivialWork, -1, \
|
||||||
"trivial execution time (no larger than this) forces hotness") \
|
"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, \
|
develop(intx, HotCallTrivialSize, -1, \
|
||||||
"trivial methods (no larger than this) force calls to be hot") \
|
"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, \
|
develop(intx, WarmCallMinCount, -1, \
|
||||||
"number of calls (per method invocation) to enable inlining") \
|
"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, \
|
develop(intx, WarmCallMinProfit, -1, \
|
||||||
"number of calls (per method invocation) to enable inlining") \
|
"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, \
|
develop(intx, WarmCallMaxWork, 999999, \
|
||||||
"execution time of the largest inlinable method") \
|
"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, \
|
develop(intx, WarmCallMaxSize, 999999, \
|
||||||
"size of the largest inlinable method") \
|
"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, \
|
product(intx, MaxNodeLimit, 80000, \
|
||||||
"Maximum number of nodes") \
|
"Maximum number of nodes") \
|
||||||
|
@ -276,14 +276,15 @@ Flag::Error OptoLoopAlignmentConstraintFunc(intx value, bool verbose) {
|
|||||||
return Flag::VIOLATES_CONSTRAINT;
|
return Flag::VIOLATES_CONSTRAINT;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef SPARC
|
// Relevant on ppc, s390, sparc. Will be optimized where
|
||||||
|
// addr_unit() == 1.
|
||||||
if (OptoLoopAlignment % relocInfo::addr_unit() != 0) {
|
if (OptoLoopAlignment % relocInfo::addr_unit() != 0) {
|
||||||
CommandLineError::print(verbose,
|
CommandLineError::print(verbose,
|
||||||
"OptoLoopAlignment (" INTX_FORMAT ") must be "
|
"OptoLoopAlignment (" INTX_FORMAT ") must be "
|
||||||
"multiple of NOP size\n");
|
"multiple of NOP size (%d)\n",
|
||||||
|
value, relocInfo::addr_unit());
|
||||||
return Flag::VIOLATES_CONSTRAINT;
|
return Flag::VIOLATES_CONSTRAINT;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
return Flag::SUCCESS;
|
return Flag::SUCCESS;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user