(self, ip, jumpkind)
return state
Obtain a SimState object for a specific address

        Fastpath means the CFG generation will work in an IDA-like way, in which it will not try to execute every
        single statement in the emulator, but will just do the decoding job. This is much faster than the old way.

        :param int ip: The instruction pointer
        :param str jumpkind: The jumpkind upon executing the block
        :return: The newly-generated state
        :rtype: SimState
Obtain a SimState object for a specific address
Obtain a SimState object for a specific address
def _create_initial_state(self, ip, jumpkind):
        """
        Obtain a SimState object for a specific address

        Fastpath means the CFG generation will work in an IDA-like way, in which it will not try to execute every
        single statement in the emulator, but will just do the decoding job. This is much faster than the old way.

        :param int ip: The instruction pointer
        :param str jumpkind: The jumpkind upon executing the block
        :return: The newly-generated state
        :rtype: SimState
        """

        jumpkind = "Ijk_Boring" if jumpkind is None else jumpkind

        if self._initial_state is None:
            state = self.project.factory.blank_state(addr=ip, mode="fastpath",
                                                     add_options=self._state_add_options,
                                                     remove_options=self._state_remove_options,
                                                     )
            self._initial_state = state
        else:
            # FIXME: self._initial_state is deprecated. This branch will be removed soon
            state = self._initial_state.copy()
            state.history.jumpkind = jumpkind
            self._reset_state_mode(state, 'fastpath')
            state._ip = state.solver.BVV(ip, self.project.arch.bits)

        if jumpkind is not None:
            state.history.jumpkind = jumpkind

        # THIS IS A HACK FOR MIPS
        if ip is not None and self.project.arch.name in ('MIPS32', 'MIPS64'):
            # We assume this is a function start
            state.regs.t9 = ip
        # TODO there was at one point special logic for the ppc64 table of contents but it seems to have bitrotted

        return state
def _create_initial_state ( self , ip , jumpkind ) : jumpkind = "Ijk_Boring" if jumpkind is None else jumpkind if self . _initial_state is None : state = self . project . factory . blank_state ( addr = ip , mode = "fastpath" , add_options = self . _state_add_options , remove_options = self . _state_remove_options , ) self . _initial_state = state else : # FIXME: self._initial_state is deprecated. This branch will be removed soon state = self . _initial_state . copy ( ) state . history . jumpkind = jumpkind self . _reset_state_mode ( state , 'fastpath' ) state . _ip = state . solver . BVV ( ip , self . project . arch . bits ) if jumpkind is not None : state . history . jumpkind = jumpkind # THIS IS A HACK FOR MIPS if ip is not None and self . project . arch . name in ( 'MIPS32' , 'MIPS64' ) : # We assume this is a function start state . regs . t9 = ip # TODO there was at one point special logic for the ppc64 table of contents but it seems to have bitrotted return state