本文整理汇总了C++中IonFrameIterator::machineState方法的典型用法代码示例。如果您正苦于以下问题:C++ IonFrameIterator::machineState方法的具体用法?C++ IonFrameIterator::machineState怎么用?C++ IonFrameIterator::machineState使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IonFrameIterator
的用法示例。
在下文中一共展示了IonFrameIterator::machineState方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SnapshotReader
SnapshotIterator::SnapshotIterator(const IonFrameIterator &iter)
: SnapshotReader(iter.ionScript()->snapshots() + iter.osiIndex()->snapshotOffset(),
iter.ionScript()->snapshots() + iter.ionScript()->snapshotsSize()),
fp_(iter.jsFrame()),
machine_(iter.machineState()),
ionScript_(iter.ionScript())
{
}
示例2: IonFrameIterator
IonBailoutIterator::IonBailoutIterator(const JitActivationIterator &activations,
const IonFrameIterator &frame)
: IonFrameIterator(activations),
machine_(frame.machineState())
{
returnAddressToFp_ = frame.returnAddressToFp();
topIonScript_ = frame.ionScript();
const OsiIndex *osiIndex = frame.osiIndex();
current_ = (uint8_t *) frame.fp();
type_ = IonFrame_OptimizedJS;
topFrameSize_ = frame.frameSize();
snapshotOffset_ = osiIndex->snapshotOffset();
}
示例3:
static inline uintptr_t
ReadAllocation(const IonFrameIterator &frame, const LAllocation *a)
{
if (a->isGeneralReg()) {
Register reg = a->toGeneralReg()->reg();
return frame.machineState().read(reg);
}
if (a->isStackSlot()) {
uint32 slot = a->toStackSlot()->slot();
return *frame.jsFrame()->slotRef(slot);
}
uint32 index = a->toArgument()->index();
uint8 *argv = reinterpret_cast<uint8 *>(frame.jsFrame()->argv());
return *reinterpret_cast<uintptr_t *>(argv + index);
}