[pypy-svn] pypy jit-fromstart: in progress
hakanardo
commits-noreply at bitbucket.org
Sat Jan 22 14:40:51 CET 2011
Author: Hakan Ardo <hakan at debian.org>
Branch: jit-fromstart
Changeset: r41220:c96549baa792
Date: 2011-01-22 14:36 +0100
http://bitbucket.org/pypy/pypy/changeset/c96549baa792/
Log: in progress
diff --git a/pypy/jit/metainterp/optimizeopt/unroll.py b/pypy/jit/metainterp/optimizeopt/unroll.py
--- a/pypy/jit/metainterp/optimizeopt/unroll.py
+++ b/pypy/jit/metainterp/optimizeopt/unroll.py
@@ -155,6 +155,8 @@
self.optimizer = self.optimizer.reconstruct_for_next_iteration()
jump_args = jumpop.getarglist()
+ for i in range(len(jump_args)):
+ self.getvalue(jump_args[i]).start_index = i
jumpop.initarglist([])
inputargs = self.inline(self.cloned_operations,
loop.inputargs, jump_args)
diff --git a/pypy/jit/metainterp/optimizeopt/optimizer.py b/pypy/jit/metainterp/optimizeopt/optimizer.py
--- a/pypy/jit/metainterp/optimizeopt/optimizer.py
+++ b/pypy/jit/metainterp/optimizeopt/optimizer.py
@@ -27,6 +27,7 @@
__metaclass__ = extendabletype
_attrs_ = ('box', 'known_class', 'last_guard_index', 'level', 'intbound')
last_guard_index = -1
+ start_index = -1
level = LEVEL_UNKNOWN
known_class = None
@@ -443,6 +444,7 @@
assert isinstance(descr, compile.ResumeGuardDescr)
modifier = resume.ResumeDataVirtualAdder(descr, self.resumedata_memo)
newboxes = modifier.finish(self.values, self.pendingfields)
+ descr.start_indexes = [...]
if len(newboxes) > self.metainterp_sd.options.failargs_limit: # XXX be careful here
compile.giveup()
descr.store_final_boxes(op, newboxes)
More information about the Pypy-commit
mailing list