[pypy-commit] pypy jit-leaner-frontend: yay, fix the retracing
fijal
pypy.commits at gmail.com
Wed Mar 9 07:13:32 EST 2016
Author: fijal
Branch: jit-leaner-frontend
Changeset: r82902:ed279ae0f4f6
Date: 2016-03-09 13:35 +0200
http://bitbucket.org/pypy/pypy/changeset/ed279ae0f4f6/
Log: yay, fix the retracing
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
@@ -338,7 +338,7 @@
end_label = ResOperation(rop.LABEL, inputargs[:],
descr=loop_jitcell_token)
- cut_pos = history.get_trace_position()
+ #cut_pos = history.get_trace_position()
history.record(rop.JUMP, jumpargs[:], None, descr=loop_jitcell_token)
enable_opts = jitdriver_sd.warmstate.enable_opts
call_pure_results = metainterp.call_pure_results
diff --git a/rpython/jit/metainterp/opencoder.py b/rpython/jit/metainterp/opencoder.py
--- a/rpython/jit/metainterp/opencoder.py
+++ b/rpython/jit/metainterp/opencoder.py
@@ -63,12 +63,16 @@
if force_inputargs is not None:
self.inputargs = [rop.inputarg_from_tp(arg.type) for
arg in force_inputargs]
+ self._inputargs = [None] * len(force_inputargs)
for i, arg in enumerate(force_inputargs):
if arg.position >= 0:
self._cache[arg.position] = self.inputargs[i]
+ else:
+ self._inputargs[-arg.position-1] = self.inputargs[i]
else:
self.inputargs = [rop.inputarg_from_tp(arg.type) for
arg in self.trace.inputargs]
+ self._inputargs = self.inputargs[:]
self.start = start
self.pos = start
self._count = 0
@@ -76,7 +80,7 @@
def _get(self, i):
if i < 0:
- return self.inputargs[-i - 1]
+ return self._inputargs[-i - 1]
res = self._cache[i]
assert res is not None
return res
diff --git a/rpython/jit/metainterp/optimizeopt/test/test_util.py b/rpython/jit/metainterp/optimizeopt/test/test_util.py
--- a/rpython/jit/metainterp/optimizeopt/test/test_util.py
+++ b/rpython/jit/metainterp/optimizeopt/test/test_util.py
@@ -454,6 +454,10 @@
def log_loop(*args, **kwds):
pass
+ @classmethod
+ def log_loop_from_trace(*args, **kwds):
+ pass
+
class logger_ops:
repr_of_resop = repr
More information about the pypy-commit
mailing list