本文整理汇总了C++中SlotVisitor::appendUnbarrieredReadOnlyPointer方法的典型用法代码示例。如果您正苦于以下问题:C++ SlotVisitor::appendUnbarrieredReadOnlyPointer方法的具体用法?C++ SlotVisitor::appendUnbarrieredReadOnlyPointer怎么用?C++ SlotVisitor::appendUnbarrieredReadOnlyPointer使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SlotVisitor
的用法示例。
在下文中一共展示了SlotVisitor::appendUnbarrieredReadOnlyPointer方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: visitChildren
void ShadowChicken::visitChildren(SlotVisitor& visitor)
{
for (unsigned i = m_logCursor - m_log; i--;) {
JSObject* callee = m_log[i].callee;
if (callee != Packet::tailMarker() && callee != Packet::throwMarker())
visitor.appendUnbarrieredReadOnlyPointer(callee);
}
for (Frame& frame : m_stack)
visitor.appendUnbarrieredReadOnlyPointer(frame.callee);
}
示例2: checkLivenessAndVisitChildren
void Plan::checkLivenessAndVisitChildren(SlotVisitor& visitor)
{
if (!isKnownToBeLiveDuringGC())
return;
for (unsigned i = mustHandleValues.size(); i--;)
visitor.appendUnbarrieredValue(&mustHandleValues[i]);
visitor.appendUnbarrieredReadOnlyPointer(codeBlock);
visitor.appendUnbarrieredReadOnlyPointer(profiledDFGCodeBlock);
if (inlineCallFrames) {
for (auto* inlineCallFrame : *inlineCallFrames) {
ASSERT(inlineCallFrame->baselineCodeBlock.get());
visitor.appendUnbarrieredReadOnlyPointer(inlineCallFrame->baselineCodeBlock.get());
}
}
weakReferences.visitChildren(visitor);
transitions.visitChildren(visitor);
}
示例3: visit
void SamplingProfiler::visit(SlotVisitor& slotVisitor)
{
RELEASE_ASSERT(m_lock.isLocked());
for (ExecutableBase* executable : m_seenExecutables)
slotVisitor.appendUnbarrieredReadOnlyPointer(executable);
}