[pypy-commit] pypy redirect-assembler-jitlog: translation issue, assigning unique number to tmp_callback jit cell token
plan_rich
pypy.commits at gmail.com
Thu Sep 1 15:19:37 EDT 2016
Author: Richard Plangger <planrichi at gmail.com>
Branch: redirect-assembler-jitlog
Changeset: r86824:cd97133d768d
Date: 2016-09-01 21:18 +0200
http://bitbucket.org/pypy/pypy/changeset/cd97133d768d/
Log: translation issue, assigning unique number to tmp_callback jit cell
token
diff --git a/rpython/jit/backend/x86/assembler.py b/rpython/jit/backend/x86/assembler.py
--- a/rpython/jit/backend/x86/assembler.py
+++ b/rpython/jit/backend/x86/assembler.py
@@ -540,9 +540,9 @@
looptoken._x86_ops_offset = ops_offset
looptoken._ll_function_addr = rawstart + functionpos
- if logger:
- log = logger.log_trace(jl.MARK_TRACE_ASM, None, self.mc)
- log.write(inputargs, operations, ops_offset=ops_offset)
+ if log and logger:
+ l = logger.log_trace(jl.MARK_TRACE_ASM, None, self.mc)
+ l.write(inputargs, operations, ops_offset=ops_offset)
# legacy
if logger.logger_ops:
diff --git a/rpython/jit/metainterp/compile.py b/rpython/jit/metainterp/compile.py
--- a/rpython/jit/metainterp/compile.py
+++ b/rpython/jit/metainterp/compile.py
@@ -1122,6 +1122,11 @@
version of the code may end up replacing it.
"""
jitcell_token = make_jitcell_token(jitdriver_sd)
+ #
+ logger = jitdriver_sd.metainterp_sd.jitlog
+ jitcell_token.number = logger.next_id()
+ jl.tmp_callback(jitcell_token)
+ #
nb_red_args = jitdriver_sd.num_red_args
assert len(redargtypes) == nb_red_args
inputargs = []
@@ -1158,8 +1163,6 @@
operations = get_deep_immutable_oplist(operations)
cpu.compile_loop(inputargs, operations, jitcell_token, log=False)
- jl.tmp_callback(looptoken)
-
if memory_manager is not None: # for tests
memory_manager.keep_loop_alive(jitcell_token)
return jitcell_token
diff --git a/rpython/rlib/rjitlog/rjitlog.py b/rpython/rlib/rjitlog/rjitlog.py
--- a/rpython/rlib/rjitlog/rjitlog.py
+++ b/rpython/rlib/rjitlog/rjitlog.py
@@ -350,6 +350,10 @@
def finish(self):
jitlog_teardown()
+ def next_id(self):
+ self.trace_id += 1
+ return self.trace_id
+
def start_new_trace(self, metainterp_sd, faildescr=None, entry_bridge=False, jd_name=""):
# even if the logger is not enabled, increment the trace id
self.trace_id += 1
More information about the pypy-commit
mailing list