def test_on_optimize(self): import pypyjit l = [] def hook(name, looptype, tuple_or_guard_no, ops, *args): l.append(ops) def optimize_hook(name, looptype, tuple_or_guard_no, ops): return [] pypyjit.set_compile_hook(hook) pypyjit.set_optimize_hook(optimize_hook) self.on_optimize() self.on_compile() assert l == [[]]
def test_on_optimize(self): import pypyjit l = [] def hook(info): l.append(info.jitdriver_name) def optimize_hook(info): return [] pypyjit.set_compile_hook(hook) pypyjit.set_optimize_hook(optimize_hook) self.on_optimize() self.on_compile() assert l == ['pypyjit']
if op.name == "debug_merge_point": print dir(op.pycode) print op.pycode.co_code print dir(op) def hook2(*args): l2.append(args) def hook3(*args): l3.append(args) pypyjit.set_compile_hook(hook) pypyjit.set_optimize_hook(hook2) pypyjit.set_abort_hook(hook3) runpy.run_path(sys.argv[1]) pypyjit.set_compile_hook(None) pypyjit.set_optimize_hook(None) pypyjit.set_abort_hook(None) for jitdriver_name, loop_type, greenkey, operations, assembler_addr, assembler_length in l: storage = LoopStorage() try: code = storage.load_code(loop.filename)[(loop.startlineno, loop.name)] if code.co_name == "<module>" and code.co_firstlineno == 1: with open(code.co_filename) as f: source = CodeRepr(f.read(), code, loop) else: source = CodeRepr(inspect.getsource(code), code, loop)
logging.debug("%d, Elapsed TPS: %d, Elapsed: %f" % (count, int(count/(t1 - tstart)), (t1-tstart))) import sys def bork(name, greenkey, reason): print "ABORTED: ", name, greenkey,reason def optimize(name, loop, greenkey, operations): print "OPTIMIZE: ", name, loop, greenkey def chook(jitdriver_name, loop_type, greenkey, operations, assembler_addr, assembler_length): if loop_type == 'entry bridge': print "COMPILE: ", loop_type, greenkey if __name__ == '__main__': if False: import pypyjit pypyjit.set_abort_hook(bork) pypyjit.set_optimize_hook(optimize) pypyjit.set_compile_hook(chook) #dumbtest() #sys.exit(0) logging.basicConfig(level=logging.DEBUG) fd = sys.stdin outfd = sys.stdout byline(fd, outfd) #at = SQLexer() #for i in range(128): # print i, chr(i), at.map_main_alt[i]