本文整理汇总了C++中pool::out方法的典型用法代码示例。如果您正苦于以下问题:C++ pool::out方法的具体用法?C++ pool::out怎么用?C++ pool::out使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pool
的用法示例。
在下文中一共展示了pool::out方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: read
void StridePrefetcher::read(MemRequest *mreq)
{
uint paddr = mreq->getPAddr() & defaultMask;
bLine *l = buff->readLine(paddr);
if(l) { //hit
LOG("SP: hit on %08lx", paddr);
hit.inc();
mreq->goUpAbs(nextBuffSlot() + hitDelay);
learnHit(paddr);
return;
}
penFetchSet::iterator it = pendingFetches.find(paddr);
if(it != pendingFetches.end()) { // half-miss
LOG("SP: half-miss on %08lx", paddr);
halfMiss.inc();
penReqMapper::iterator itR = pendingRequests.find(paddr);
if (itR == pendingRequests.end()) {
pendingRequests[paddr] = activeMemReqPool.out();
itR = pendingRequests.find(paddr);
}
I(itR != pendingRequests.end());
(*itR).second->push(mreq);
learnHit(paddr); // half-miss is a hit from the learning point of view
return;
}
LOG("SP:miss on %08lx", paddr);
miss.inc();
learnMiss(paddr);
mreq->goDownAbs(nextBuffSlot() + missDelay, lowerLevel[0]);
}
示例2:
static PBTestAckMsg *create(const ProtocolBase *srcPB, const ProtocolBase *dstPB) {
PBTestAckMsg *msg = msgPool.out();
msg->setupMessage(srcPB,dstPB,TestAckMsg);
return msg;
}