Author: Richard Plangger <[email protected]>
Branch: vecopt-merge
Changeset: r80151:e9362f0d3eaf
Date: 2015-10-13 08:48 +0200
http://bitbucket.org/pypy/pypy/changeset/e9362f0d3eaf/
Log: copied descr does not inhert from resume guard descr -> asserting
abstractfaildescr instead
diff --git a/rpython/jit/metainterp/optimizeopt/dependency.py
b/rpython/jit/metainterp/optimizeopt/dependency.py
--- a/rpython/jit/metainterp/optimizeopt/dependency.py
+++ b/rpython/jit/metainterp/optimizeopt/dependency.py
@@ -4,10 +4,9 @@
from rpython.jit.metainterp.optimizeopt.util import make_dispatcher_method
from rpython.jit.metainterp.resoperation import (rop, GuardResOp, ResOperation)
from rpython.jit.metainterp.resume import Snapshot
-from rpython.jit.metainterp.compile import ResumeGuardDescr
from rpython.jit.codewriter.effectinfo import EffectInfo
from rpython.jit.metainterp.history import (ConstPtr, ConstInt,Const,
- AbstractValue)
+ AbstractValue, AbstractFailDescr)
from rpython.rtyper.lltypesystem import llmemory
from rpython.rlib.unroll import unrolling_iterable
from rpython.rlib.objectmodel import we_are_translated
@@ -83,7 +82,7 @@
descr = op.getdescr()
if not descr:
return False
- assert isinstance(descr, ResumeGuardDescr)
+ assert isinstance(descr, AbstractFailDescr)
if not descr.exits_early():
return False
elif not op.is_always_pure():
diff --git a/rpython/jit/metainterp/optimizeopt/guard.py
b/rpython/jit/metainterp/optimizeopt/guard.py
--- a/rpython/jit/metainterp/optimizeopt/guard.py
+++ b/rpython/jit/metainterp/optimizeopt/guard.py
@@ -8,7 +8,8 @@
from rpython.jit.metainterp.optimizeopt.dependency import (DependencyGraph,
MemoryRef, Node, IndexVar)
from rpython.jit.metainterp.resoperation import (rop, ResOperation, GuardResOp)
-from rpython.jit.metainterp.history import (ConstInt, ConstFloat, Const)
+from rpython.jit.metainterp.history import (ConstInt, ConstFloat, Const,
+ AbstractFailDescr)
from rpython.jit.metainterp.compile import ResumeGuardDescr,
CompileLoopVersionDescr
from rpython.rlib.objectmodel import we_are_translated
@@ -88,7 +89,7 @@
descr = CompileLoopVersionDescr()
descr.copy_all_attributes_from(self.op.getdescr())
descr.rd_vector_info = None # do not copy the accum list
- assert isinstance(descr, ResumeGuardDescr)
+ assert isinstance(descr, AbstractFailDescr)
guard = ResOperation(self.op.getopnum(), [compare], descr=descr)
guard.setfailargs(loop.label.getarglist_copy())
opt.emit_operation(guard)
@@ -261,7 +262,7 @@
continue
descr = op.getdescr()
if descr and descr.loop_version():
- assert isinstance(descr, ResumeGuardDescr)
+ assert isinstance(descr, AbstractFailDescr)
info.track(op, descr, version)
if user_code:
@@ -293,7 +294,7 @@
info.remove(other.op.getdescr())
other.set_to_none(info, loop)
descr = transitive_guard.getdescr()
- assert isinstance(descr, ResumeGuardDescr)
+ assert isinstance(descr, AbstractFailDescr)
info.track(transitive_guard, descr, version)
info.clear()
diff --git a/rpython/jit/metainterp/optimizeopt/version.py
b/rpython/jit/metainterp/optimizeopt/version.py
--- a/rpython/jit/metainterp/optimizeopt/version.py
+++ b/rpython/jit/metainterp/optimizeopt/version.py
@@ -3,6 +3,7 @@
from rpython.jit.metainterp.optimizeopt.optimizer import BasicLoopInfo
from rpython.jit.metainterp.compile import (send_bridge_to_backend,
record_loop_or_bridge,
ResumeGuardDescr, create_empty_loop)
+from rpython.jit.metainterp.history import AbstractFailDescr
class LoopVersionInfo(BasicLoopInfo):
@@ -69,7 +70,7 @@
# the guard might have been removed from the trace
continue
if version not in compiled:
- assert isinstance(descr, ResumeGuardDescr)
+ assert isinstance(descr, AbstractFailDescr)
vl = version.create_backend_loop(metainterp, jitcell_token)
asminfo = send_bridge_to_backend(jitdriver_sd, metainterp_sd,
descr, vl.inputargs,
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit