Author: Richard Plangger <planri...@gmail.com> Branch: new-jit-log Changeset: r83868:dcee45542016 Date: 2016-04-25 15:54 +0200 http://bitbucket.org/pypy/pypy/changeset/dcee45542016/
Log: removed old files, adapted main pypy jit driver diff --git a/pypy/module/pypyjit/interp_jit.py b/pypy/module/pypyjit/interp_jit.py --- a/pypy/module/pypyjit/interp_jit.py +++ b/pypy/module/pypyjit/interp_jit.py @@ -41,6 +41,8 @@ from rpython.rlib import rvmprof return rvmprof.get_unique_id(bytecode) +@jl.returns(jl.MP_FILENAME, jl.MP_LINENO, + jl.MP_SCOPE, jl.MP_INDEX, jl.MP_OPCODE) def get_location(next_instr, is_being_profiled, bytecode): from pypy.tool.stdlib_opcode import opcode_method_names opname = opcode_method_names[ord(bytecode.co_code[next_instr])] @@ -49,8 +51,8 @@ name = bytecode.co_name if not name: name = "" - return "shshs", [bytecode.co_filename, bytecode.co_firstlineno, - name, intmask(next_instr), opname] + return (bytecode.co_filename, bytecode.co_firstlineno, + name, intmask(next_instr), opname) def should_unroll_one_iteration(next_instr, is_being_profiled, bytecode): return (bytecode.co_flags & CO_GENERATOR) != 0 diff --git a/rpython/jit/metainterp/jitlog.py b/rpython/jit/metainterp/jitlog.py deleted file mode 100644 diff --git a/rpython/jit/metainterp/test/test_compile.py b/rpython/jit/metainterp/test/test_compile.py --- a/rpython/jit/metainterp/test/test_compile.py +++ b/rpython/jit/metainterp/test/test_compile.py @@ -4,6 +4,7 @@ from rpython.jit.metainterp.compile import compile_loop from rpython.jit.metainterp.compile import compile_tmp_callback from rpython.jit.metainterp import jitexc +from rpython.rlib import jitlog as jl from rpython.jit.metainterp import jitprof, typesystem, compile from rpython.jit.metainterp.optimizeopt.test.test_util import LLtypeMixin from rpython.jit.tool.oparser import parse, convert_loop_to_trace @@ -58,6 +59,7 @@ logger_noopt = FakeLogger() logger_ops = FakeLogger() config = get_combined_translation_config(translating=True) + jitlog = jl.VMProfJitLogger() stats = Stats(None) profiler = jitprof.EmptyProfiler() diff --git a/rpython/jit/metainterp/test/test_jitlog.py b/rpython/jit/metainterp/test/test_jitlog.py deleted file mode 100644 --- a/rpython/jit/metainterp/test/test_jitlog.py +++ /dev/null @@ -1,49 +0,0 @@ -from rpython.jit.tool.oparser import pure_parse -from rpython.jit.metainterp import jitlog -from rpython.jit.metainterp.jitlog import (encode_str, encode_le_16bit, - encode_le_64bit) -from rpython.jit.metainterp.optimizeopt.util import equaloplists -from rpython.jit.metainterp.resoperation import ResOperation, rop -from rpython.jit.backend.model import AbstractCPU -from rpython.jit.metainterp.history import ConstInt, ConstPtr -import tempfile - -class TestLogger(object): - - def make_metainterp_sd(self): - class FakeJitDriver(object): - class warmstate(object): - @staticmethod - def get_location(greenkey_list): - assert len(greenkey_list) == 0 - return '/home/pypy/jit.py', 0, 'enclosed', 99, 'DEL' - - class FakeMetaInterpSd: - cpu = AbstractCPU() - cpu.ts = None - jitdrivers_sd = [FakeJitDriver()] - def get_name_from_address(self, addr): - return 'Name' - return FakeMetaInterpSd() - - def test_debug_merge_point(self, tmpdir): - logger = jitlog.VMProfJitLogger() - file = tmpdir.join('binary_file') - file.ensure() - fd = file.open('wb') - logger.cintf.jitlog_init(fd.fileno()) - log_trace = logger.log_trace(0, self.make_metainterp_sd(), None) - op = ResOperation(rop.DEBUG_MERGE_POINT, [ConstInt(0), ConstInt(0), ConstInt(0)]) - log_trace.write([], [op]) - #the next line will close 'fd' - fd.close() - logger.finish() - binary = file.read() - assert binary.startswith(b'\x00\x04\x00\x00\x00loop') - assert binary.endswith(b'\x24' + \ - encode_str('/home/pypy/jit.py') + \ - encode_le_16bit(0) + \ - encode_str('enclosed') + \ - encode_le_64bit(99) + \ - encode_str('DEL')) - diff --git a/rpython/jit/metainterp/warmspot.py b/rpython/jit/metainterp/warmspot.py --- a/rpython/jit/metainterp/warmspot.py +++ b/rpython/jit/metainterp/warmspot.py @@ -567,7 +567,7 @@ # annhelper = MixLevelHelperAnnotator(self.translator.rtyper) for jd in self.jitdrivers_sd: - jd._printable_loc_ptr = self._make_hook_graph(jd, + jd._get_printable_location_ptr = self._make_hook_graph(jd, annhelper, jd.jitdriver.get_printable_location, annmodel.SomeString()) jd._get_unique_id_ptr = self._make_hook_graph(jd, diff --git a/rpython/jit/metainterp/warmstate.py b/rpython/jit/metainterp/warmstate.py --- a/rpython/jit/metainterp/warmstate.py +++ b/rpython/jit/metainterp/warmstate.py @@ -680,7 +680,7 @@ else: drivername = '<unknown jitdriver>' # get_location returns - get_location_ptr = self.jitdriver_sd._get_location_ptr + get_location_ptr = getattr(self.jitdriver_sd, '_get_location_ptr', None) if get_location_ptr is not None: types = self.jitdriver_sd._get_loc_types unwrap_greenkey = self.make_unwrap_greenkey() @@ -706,7 +706,7 @@ self.get_location_types = None self.get_location = None # - printable_loc_ptr = self.jitdriver_sd._printable_loc_ptr + printable_loc_ptr = self.jitdriver_sd._get_printable_location_ptr if printable_loc_ptr is None: missing = '(%s: no get_printable_location)' % drivername def get_location_str(greenkey): _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit