예제 #1
0
 def emit_operation(self, op):
     self.emitting_operation(op)
     if self.posponedop:
         posponedop = self.posponedop
         self.posponedop = None
         self.next_optimization.propagate_forward(posponedop)
     if op.is_comparison() or op.getopnum() == rop.CALL_MAY_FORCE or op.is_ovf():
         self.posponedop = op
     else:
         Optimization.emit_operation(self, op)
예제 #2
0
파일: heap.py 프로젝트: purepython/pypy
 def emit_operation(self, op):
     self.emitting_operation(op)
     if self.posponedop:
         posponedop = self.posponedop
         self.posponedop = None
         self.next_optimization.propagate_forward(posponedop)
     if (op.is_comparison() or op.getopnum() == rop.CALL_MAY_FORCE
             or op.is_ovf()):
         self.posponedop = op
     else:
         Optimization.emit_operation(self, op)
예제 #3
0
파일: fficall.py 프로젝트: ieure/pypy
 def propagate_end_forward(self):
     debug_stop('jit-log-ffiopt')
     Optimization.propagate_end_forward(self)
예제 #4
0
파일: fficall.py 프로젝트: ieure/pypy
 def propagate_begin_forward(self):
     debug_start('jit-log-ffiopt')
     Optimization.propagate_begin_forward(self)
예제 #5
0
파일: fficall.py 프로젝트: ieure/pypy
 def emit_operation(self, op):
     # we cannot emit any operation during the optimization
     self.rollback_maybe('invalid op', op)
     Optimization.emit_operation(self, op)
예제 #6
0
파일: fficall.py 프로젝트: purepython/pypy
 def emit_operation(self, op):
     # we cannot emit any operation during the optimization
     self.rollback_maybe('invalid op', op)
     Optimization.emit_operation(self, op)