def compile_bridge(self, faildescr, inputargs, operations): from pypy.jit.backend.cli.method import Method op = faildescr._guard_op token = faildescr._loop_token token.guard2ops[op] = (inputargs, operations) self._attach_token_to_faildescrs(token, operations) meth = Method(self, token) token.funcbox.holder.SetFunc(meth.compile()) return token
def compile_loop(self, inputargs, operations, looptoken): from pypy.jit.backend.cli.method import Method, ConstFunction name = 'Loop%d' % self.loopcount self.loopcount += 1 cliloop = CliLoop(name, inputargs, operations) looptoken.cliloop = cliloop cliloop.funcbox = ConstFunction(cliloop.name) self._attach_token_to_faildescrs(cliloop, operations) meth = Method(self, cliloop) cliloop.funcbox.holder.SetFunc(meth.compile())