Example #1
0
 def optimize_COND_CALL(self, op):
     arg = op.getarg(0)
     b = self.getintbound(arg)
     if b.is_constant():
         if b.getint() == 0:
             self.last_emitted_operation = REMOVED
             return
         opnum = OpHelpers.call_for_type(op.type)
         op = op.copy_and_change(opnum, args=op.getarglist()[1:])
     return self.emit(op)
Example #2
0
 def optimize_COND_CALL(self, op):
     arg = op.getarg(0)
     b = self.getintbound(arg)
     if b.is_constant():
         if b.getint() == 0:
             self.last_emitted_operation = REMOVED
             return
         opnum = OpHelpers.call_for_type(op.type)
         op = op.copy_and_change(opnum, args=op.getarglist()[1:])
     self.emit_operation(op)