Author: Richard Plangger <[email protected]>
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)
[email protected](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
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit