[pypy-commit] pypy memoryerror3: still working
plan_rich
noreply at buildbot.pypy.org
Mon Aug 24 13:51:41 CEST 2015
Author: Richard Plangger <rich at pasra.at>
Branch: memoryerror3
Changeset: r79200:f4a6026863c1
Date: 2015-08-24 13:51 +0200
http://bitbucket.org/pypy/pypy/changeset/f4a6026863c1/
Log: still working
diff --git a/rpython/jit/metainterp/history.py b/rpython/jit/metainterp/history.py
--- a/rpython/jit/metainterp/history.py
+++ b/rpython/jit/metainterp/history.py
@@ -759,15 +759,33 @@
def __init__(self, operations):
self.faildescrs = []
- self.operations = operations
-
- def setup_once(self):
+ self.operations = self.copy_operations(operations)
idx = index_of_first(rop.LABEL, self.operations)
assert idx >= 0
label = self.operations[idx]
self.inputargs = label.getarglist()
self.renamed_inputargs = label.getarglist()
+ def setup_once(self):
+ pass
+
+ def copy_operations(self, operations):
+ ignore = (rop.DEBUG_MERGE_POINT,)
+ oplist = []
+ for op in operations:
+ if op.getopnum() in ignore:
+ continue
+ cloned = op.clone()
+ oplist.append(cloned)
+ if cloned.is_guard():
+ olddescr = cloned.getdescr()
+ if not olddescr:
+ continue
+ descr = olddescr.clone()
+ cloned.setdescr(descr)
+ return oplist
+
+
def compiled(self):
if self.operations is None:
# root version must always be compiled
@@ -884,8 +902,8 @@
return None
def snapshot(self):
- oplist = self.copy_operations(self.operations)
- version = LoopVersion(oplist)
+ #oplist = self.copy_operations(self.operations)
+ version = LoopVersion(self.operations)
version.setup_once()
self.versions.append(version)
return version
More information about the pypy-commit
mailing list