(self)
Slice it!
Slice it!
Slice it!
def _slice(self):
        """
        Slice it!
        """

        regs = set(self._target_regs)
        tmps = set(self._target_tmps)
        stack_offsets = set(self._target_stack_offsets)

        state = SimLightState(regs=regs, temps=tmps, stack_offsets=stack_offsets)

        for stmt_idx, stmt in reversed(list(enumerate(self._statements))):
            if self._backward_handler_stmt(stmt, state):
                self.stmts.insert(0, stmt)
                self.stmt_indices.insert(0, stmt_idx)

                if self._inslice_callback:
                    self._inslice_callback(stmt_idx, stmt, self.inslice_callback_infodict)

            if not regs and not tmps and not stack_offsets:
                break

        self.final_regs = state.regs
        self.final_stack_offsets = state.stack_offsets
def _slice ( self ) : regs = set ( self . _target_regs ) tmps = set ( self . _target_tmps ) stack_offsets = set ( self . _target_stack_offsets ) state = SimLightState ( regs = regs , temps = tmps , stack_offsets = stack_offsets ) for stmt_idx , stmt in reversed ( list ( enumerate ( self . _statements ) ) ) : if self . _backward_handler_stmt ( stmt , state ) : self . stmts . insert ( 0 , stmt ) self . stmt_indices . insert ( 0 , stmt_idx ) if self . _inslice_callback : self . _inslice_callback ( stmt_idx , stmt , self . inslice_callback_infodict ) if not regs and not tmps and not stack_offsets : break self . final_regs = state . regs self . final_stack_offsets = state . stack_offsets