示例#1
0
文件: opencoder.py 项目: Mu-L/pypy
 def __init__(self,
              trace,
              start,
              end,
              force_inputargs=None,
              metainterp_sd=None):
     self.trace = trace
     self.metainterp_sd = metainterp_sd
     self.all_descr_len = len(metainterp_sd.all_descrs)
     self._cache = [None] * trace._index
     if force_inputargs is not None:
         # the trace here is cut and we're working from
         # inputargs that are in the middle, shuffle stuff around a bit
         self.inputargs = [
             rop.inputarg_from_tp(arg.type) for arg in force_inputargs
         ]
         for i, arg in enumerate(force_inputargs):
             self._cache[arg.get_position()] = self.inputargs[i]
     else:
         self.inputargs = [
             rop.inputarg_from_tp(arg.type) for arg in self.trace.inputargs
         ]
         for i, arg in enumerate(self.inputargs):
             self._cache[i] = arg
     self.start = start
     self.pos = start
     self._count = start
     self._index = start
     self.start_index = start
     self.end = end
示例#2
0
文件: opencoder.py 项目: sota/pypy
 def __init__(self, trace, start, end, force_inputargs=None, metainterp_sd=None):
     self.trace = trace
     self.metainterp_sd = metainterp_sd
     self.all_descr_len = len(metainterp_sd.all_descrs)
     self._cache = [None] * trace._index
     if force_inputargs is not None:
         # the trace here is cut and we're working from
         # inputargs that are in the middle, shuffle stuff around a bit
         self.inputargs = [rop.inputarg_from_tp(arg.type) for arg in force_inputargs]
         for i, arg in enumerate(force_inputargs):
             self._cache[arg.get_position()] = self.inputargs[i]
     else:
         self.inputargs = [rop.inputarg_from_tp(arg.type) for arg in self.trace.inputargs]
         for i, arg in enumerate(self.inputargs):
             self._cache[i] = arg
     self.start = start
     self.pos = start
     self._count = start
     self._index = start
     self.start_index = start
     self.end = end