本文整理汇总了C++中tr::Compilation::getMethodHotness方法的典型用法代码示例。如果您正苦于以下问题:C++ Compilation::getMethodHotness方法的具体用法?C++ Compilation::getMethodHotness怎么用?C++ Compilation::getMethodHotness使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tr::Compilation
的用法示例。
在下文中一共展示了Compilation::getMethodHotness方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: cg
LexicalXmlTag::LexicalXmlTag(TR::CodeGenerator * cg): cg(cg)
{
TR::Compilation *comp = cg->comp();
if (comp->getOption(TR_TraceOptDetails) || comp->getOption(TR_TraceCG))
{
const char *hotnessString = comp->getHotnessName(comp->getMethodHotness());
traceMsg(comp, "<codegen\n"
"\tmethod=\"%s\"\n"
"\thotness=\"%s\">\n",
comp->signature(), hotnessString);
}
}
示例2: if
//.........这里部分代码省略.........
// no aliasing on DFP dummy stubs
case TR::java_math_BigDecimal_DFPPerformHysteresis:
case TR::java_math_BigDecimal_DFPUseDFP:
case TR::java_math_BigDecimal_DFPHWAvailable:
case TR::java_math_BigDecimal_DFPCompareTo:
case TR::java_math_BigDecimal_DFPUnscaledValue:
case TR::com_ibm_dataaccess_DecimalData_DFPFacilityAvailable:
case TR::com_ibm_dataaccess_DecimalData_DFPUseDFP:
case TR::com_ibm_dataaccess_DecimalData_DFPConvertPackedToDFP:
case TR::com_ibm_dataaccess_DecimalData_DFPConvertDFPToPacked:
case TR::com_ibm_dataaccess_DecimalData_createZeroBigDecimal:
case TR::com_ibm_dataaccess_DecimalData_getlaside:
case TR::com_ibm_dataaccess_DecimalData_setlaside:
case TR::com_ibm_dataaccess_DecimalData_getflags:
case TR::com_ibm_dataaccess_DecimalData_setflags:
if (!(
#ifdef TR_TARGET_S390
TR::Compiler->target.cpu.getS390SupportsDFP() ||
#endif
TR::Compiler->target.cpu.supportsDecimalFloatingPoint()) ||
comp->getOption(TR_DisableDFP))
return NULL;
#endif //J9_PROJECT_SPECIFIC
default:
break;
}
}
#ifdef J9_PROJECT_SPECIFIC
TR_ResolvedMethod * method = resolvedMethodSymbol->getResolvedMethod();
TR_PersistentMethodInfo * methodInfo = TR_PersistentMethodInfo::get(method);
if (methodInfo && (methodInfo->hasRefinedAliasSets() ||
comp->getMethodHotness() >= veryHot ||
resolvedMethodSymbol->hasVeryRefinedAliasSets()) &&
(method->isStatic() || method->isFinal() || isDirectCall))
{
TR_BitVector * aliases = new (aliasRegion) TR_BitVector(bvInitialSize, aliasRegion, growability);
if ((comp->generateArraylets() || comp->isDLT()) && includeGCSafePoint)
*aliases |= symRefTab->aliasBuilder.gcSafePointSymRefNumbers();
if (methodInfo->doesntKillAnything() && !comp->getOption(TR_DisableRefinedAliases))
return aliases;
if ((resolvedMethodSymbol->hasVeryRefinedAliasSets() || comp->getMethodHotness() >= hot) &&
!debug("disableVeryRefinedCallAliasSets"))
{
TR_BitVector * exactAliases = 0;
if (resolvedMethodSymbol->hasVeryRefinedAliasSets())
exactAliases = symRefTab->aliasBuilder.getVeryRefinedCallAliasSets(resolvedMethodSymbol);
else
{
resolvedMethodSymbol->setHasVeryRefinedAliasSets(true);
List<void> methodsPeeked(comp->trMemory());
exactAliases = addVeryRefinedCallAliasSets(resolvedMethodSymbol, aliases, &methodsPeeked);
symRefTab->aliasBuilder.setVeryRefinedCallAliasSets(resolvedMethodSymbol, exactAliases);
}
if (exactAliases)
{
return exactAliases;
}
}
// From here on, we're just checking refined alias info.
// If refined aliases are disabled, return the conservative answer