本文整理汇总了C++中SnapshotIterator::maybeRead方法的典型用法代码示例。如果您正苦于以下问题:C++ SnapshotIterator::maybeRead方法的具体用法?C++ SnapshotIterator::maybeRead怎么用?C++ SnapshotIterator::maybeRead使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SnapshotIterator
的用法示例。
在下文中一共展示了SnapshotIterator::maybeRead方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
void
InlineFrameIterator::dump() const
{
if (more())
fprintf(stderr, " JS frame (inlined)\n");
else
fprintf(stderr, " JS frame\n");
bool isFunction = false;
if (isFunctionFrame()) {
isFunction = true;
fprintf(stderr, " callee fun: ");
#ifdef DEBUG
js_DumpObject(callee());
#else
fprintf(stderr, "?\n");
#endif
} else {
fprintf(stderr, " global frame, no callee\n");
}
fprintf(stderr, " file %s line %u\n",
script()->filename, (unsigned) script()->lineno);
fprintf(stderr, " script = %p, pc = %p\n", (void*) script(), pc());
fprintf(stderr, " current op: %s\n", js_CodeName[*pc()]);
if (!more()) {
numActualArgs();
}
SnapshotIterator si = snapshotIterator();
fprintf(stderr, " slots: %u\n", si.slots() - 1);
for (unsigned i = 0; i < si.slots() - 1; i++) {
if (isFunction) {
if (i == 0)
fprintf(stderr, " scope chain: ");
else if (i == 1)
fprintf(stderr, " this: ");
else if (i - 2 < callee()->nargs)
fprintf(stderr, " formal (arg %d): ", i - 2);
else {
if (i - 2 == callee()->nargs && numActualArgs() > callee()->nargs) {
DumpOp d(callee()->nargs);
forEachCanonicalActualArg(d, d.i_, numActualArgs());
}
fprintf(stderr, " slot %d: ", i - 2 - callee()->nargs);
}
} else
fprintf(stderr, " slot %u: ", i);
#ifdef DEBUG
js_DumpValue(si.maybeRead());
#else
fprintf(stderr, "?\n");
#endif
}
fputc('\n', stderr);
}