static bool isValidRegisterForLiveness(CodeBlock* codeBlock, int operand)
{
    if (codeBlock->isConstantRegisterIndex(operand))
        return false;
    
    VirtualRegister virtualReg(operand);
    return virtualReg.isLocal();
}
static bool isValidRegisterForLiveness(CodeBlock* codeBlock, int operand)
{
    VirtualRegister virtualReg(operand);
    return !codeBlock->isConstantRegisterIndex(operand) // Don't care about constants.
        && virtualReg.isLocal() // Don't care about arguments.
        && (!numberOfCapturedVariables(codeBlock) // If we have no captured variables, we're good to go.
            || (virtualReg.offset() > captureStart(codeBlock) || (virtualReg.offset() <= captureEnd(codeBlock))));
}
static void setForOperand(CodeBlock* codeBlock, FastBitVector& bits, int operand)
{
    ASSERT(isValidRegisterForLiveness(codeBlock, operand));
    VirtualRegister virtualReg(operand);
    if (virtualReg.offset() > captureStart(codeBlock))
        bits.set(virtualReg.toLocal());
    else
        bits.set(virtualReg.toLocal() - numberOfCapturedVariables(codeBlock));
}