def rem_or(self, start, end, instr, target=None, include_beyond_target=False):
        """
        Find all <instr> in the block from start to end.
        <instr> is any python bytecode instruction or a list of opcodes
        If <instr> is an opcode with a target (like a jump), a target
        destination can be specified which must match precisely.

        Return a list with indexes to them or [] if none found.
        """

        assert(start >= 0 and end <= len(self.code) and start <= end)

        try:    None in instr
        except: instr = [instr]

        instr_offsets = []
        for i in self.op_range(start, end):
            op = self.code[i]
            if op in instr:
                if target is None:
                    instr_offsets.append(i)
                else:
                    t = self.get_target(i, op)
                    if include_beyond_target and t >= target:
                        instr_offsets.append(i)
                    elif t == target:
                        instr_offsets.append(i)

        pjits = self.all_instr(start, end, self.opc.PJIT)
        filtered = []
        for pjit in pjits:
            tgt = self.get_target(pjit)-3
            for i in instr_offsets:
                if i <= pjit or i >= tgt:
                    filtered.append(i)
            instr_offsets = filtered
            filtered = []
        return instr_offsets
def rem_or ( self , start , end , instr , target = None , include_beyond_target = False ) : assert ( start >= 0 and end <= len ( self . code ) and start <= end ) try : None in instr except : instr = [ instr ] instr_offsets = [ ] for i in self . op_range ( start , end ) : op = self . code [ i ] if op in instr : if target is None : instr_offsets . append ( i ) else : t = self . get_target ( i , op ) if include_beyond_target and t >= target : instr_offsets . append ( i ) elif t == target : instr_offsets . append ( i ) pjits = self . all_instr ( start , end , self . opc . PJIT ) filtered = [ ] for pjit in pjits : tgt = self . get_target ( pjit ) - 3 for i in instr_offsets : if i <= pjit or i >= tgt : filtered . append ( i ) instr_offsets = filtered filtered = [ ] return instr_offsets
Find all <instr> in the block from start to end.
        <instr> is any python bytecode instruction or a list of opcodes
        If <instr> is an opcode with a target (like a jump), a target
        destination can be specified which must match precisely.

        Return a list with indexes to them or [] if none found.