本文整理汇总了C++中MM_VerboseWriterChain::flush方法的典型用法代码示例。如果您正苦于以下问题:C++ MM_VerboseWriterChain::flush方法的具体用法?C++ MM_VerboseWriterChain::flush怎么用?C++ MM_VerboseWriterChain::flush使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MM_VerboseWriterChain
的用法示例。
在下文中一共展示了MM_VerboseWriterChain::flush方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getManager
void
MM_VerboseHandlerOutputStandard::handleConcurrentKickoff(J9HookInterface** hook, uintptr_t eventNum, void* eventData)
{
MM_ConcurrentKickoffEvent* event = (MM_ConcurrentKickoffEvent*)eventData;
MM_VerboseManager* manager = getManager();
MM_VerboseWriterChain* writer = manager->getWriterChain();
MM_EnvironmentBase* env = MM_EnvironmentBase::getEnvironment(event->currentThread);
MM_GCExtensionsBase* extensions = MM_GCExtensionsBase::getExtensions(env->getOmrVM());
OMRPORT_ACCESS_FROM_ENVIRONMENT(env);
char tagTemplate[200];
enterAtomicReportingBlock();
getTagTemplate(tagTemplate, sizeof(tagTemplate), manager->getIdAndIncrement(), omrtime_current_time_millis());
writer->formatAndOutput(env, 0, "<concurrent-kickoff %s>", tagTemplate);
const char* reasonString = getConcurrentKickoffReason(eventData);
if (extensions->scavengerEnabled) {
writer->formatAndOutput(
env, 1, "<kickoff reason=\"%s\" targetBytes=\"%zu\" thresholdFreeBytes=\"%zu\" remainingFree=\"%zu\" tenureFreeBytes=\"%zu\" nurseryFreeBytes=\"%zu\" />",
reasonString, event->traceTarget, event->kickOffThreshold, event->remainingFree, event->commonData->tenureFreeBytes, event->commonData->nurseryFreeBytes);
} else {
writer->formatAndOutput(
env, 1, "<kickoff reason=\"%s\" targetBytes=\"%zu\" thresholdFreeBytes=\"%zu\" remainingFree=\"%zu\" tenureFreeBytes=\"%zu\" />",
reasonString, event->traceTarget, event->kickOffThreshold, event->remainingFree, event->commonData->tenureFreeBytes);
}
writer->formatAndOutput(env, 0, "</concurrent-kickoff>");
writer->flush(env);
handleConcurrentKickoffInternal(env, eventData);
exitAtomicReportingBlock();
}