コード例 #1
0
ファイル: JITCall.cpp プロジェクト: BennyH26/phantomjs
void JIT::emit_op_call_put_result(Instruction* instruction)
{
    int dst = instruction[1].u.operand;
    emitValueProfilingSite();
    emitPutVirtualRegister(dst);
    if (canBeOptimizedOrInlined())
        killLastResultRegister(); // Make lastResultRegister tracking simpler in the DFG.
}
コード例 #2
0
ファイル: JITCall.cpp プロジェクト: webOS-ports/webkit
void JIT::emitPutCallResult(Instruction* instruction)
{
    int dst = instruction[1].u.operand;
    emitValueProfilingSite(regT4);
    emitPutVirtualRegister(dst);
    if (canBeOptimizedOrInlined()) {
        // Make lastResultRegister tracking simpler in the DFG. This is needed because
        // the DFG may have the SetLocal corresponding to this Call's return value in
        // a different basic block, if inlining happened. The DFG isn't smart enough to
        // track the baseline JIT's last result register across basic blocks.
        killLastResultRegister();
    }
}