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

Reply via email to