Beispiel #1
0
 def prepare_cond_call(self, op):
     self.load_condition_into_cc(op.getarg(0))
     self.assembler.guard_success_cc = c.negate(
         self.assembler.guard_success_cc)
     # ^^^ if arg0==0, we jump over the next block of code (the call)
     locs = [None]
     # support between 0 and 4 integer arguments
     assert 2 <= op.numargs() <= 2 + 4
     for i in range(1, op.numargs()):
         loc = self.loc(op.getarg(i))
         assert loc.type != FLOAT
         locs.append(loc)
     return locs  # [None, function, args...]
Beispiel #2
0
 def prepare_cond_call(self, op):
     self.load_condition_into_cc(op.getarg(0))
     self.assembler.guard_success_cc = c.negate(
         self.assembler.guard_success_cc)
     # ^^^ if arg0==0, we jump over the next block of code (the call)
     locs = [None]
     # support between 0 and 4 integer arguments
     assert 2 <= op.numargs() <= 2 + 4
     for i in range(1, op.numargs()):
         loc = self.loc(op.getarg(i))
         assert loc.type != FLOAT
         locs.append(loc)
     return locs     # [None, function, args...]
Beispiel #3
0
 def emit_vec_guard_false(self, guard_op, arglocs, regalloc):
     self.guard_success_cc = c.negate(self.guard_success_cc)
     self._emit_guard(guard_op, arglocs)
Beispiel #4
0
 def emit_vec_guard_false(self, guard_op, arglocs, regalloc):
     self.guard_success_cc = c.negate(self.guard_success_cc)
     self._emit_guard(guard_op, arglocs)