'Get the IRSB object from an address, a SimRun, or a CFGNode.
:param v: Can be one of the following: an address, or a CFGNode.
:return: The IRSB instance.
:rtype: pyvex.IRSB'

def _get_irsb(self, v):

    if isinstance(v, CFGNode):
        v = v.addr
    if (type(v) in (int, long)):
        if (v in self._run_cache):
            return self._run_cache[v]
        if self.project:
            irsb = self.project.factory.block(v).vex
            self._run_cache[v] = irsb
            return irsb
        else:
            raise AngrBladeError('Project    must    be    specified    if    you    give    me    all    addresses    for    SimRuns')
    else:
        raise AngrBladeError('Unsupported    SimRun    argument    type    %s', type(v))
