Exemplo n.º 1
0
void JIT::emit_op_call_put_result(Instruction* instruction)
{
    int dst = instruction[1].u.operand;
    emitValueProfilingSite();
    emitPutVirtualRegister(dst);
    if (canBeOptimized())
        killLastResultRegister(); // Make lastResultRegister tracking simpler in the DFG.
}
Exemplo n.º 2
0
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();
    }
}
Exemplo n.º 3
0
void JIT::emitPutCallResult(Instruction* instruction)
{
    int dst = instruction[1].u.operand;
    emitValueProfilingSite(regT4);
    emitStore(dst, regT1, regT0);
}
Exemplo n.º 4
0
void JIT::emitPutCallResult(Instruction* instruction)
{
    int dst = instruction[1].u.operand;
    emitValueProfilingSite(regT4);
    emitPutVirtualRegister(dst);
}
Exemplo n.º 5
0
void JIT::emit_op_call_put_result(Instruction* instruction)
{
    int dst = instruction[1].u.operand;
    emitValueProfilingSite();
    emitStore(dst, regT1, regT0);
}
Exemplo n.º 6
0
void JIT::emitPutCallResult(const Op& bytecode)
{
    emitValueProfilingSite(bytecode.metadata(m_codeBlock));
    emitStore(bytecode.m_dst.offset(), regT1, regT0);
}
Exemplo n.º 7
0
void JIT::emit_op_call_put_result(Instruction* instruction)
{
    int dst = instruction[1].u.operand;
    emitValueProfilingSite(FirstProfilingSite);
    emitPutVirtualRegister(dst);
}