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

Reply via email to