Author: Armin Rigo <[email protected]>
Branch: 
Changeset: r69415:6e5573ced07d
Date: 2014-02-25 12:37 +0100
http://bitbucket.org/pypy/pypy/changeset/6e5573ced07d/

Log:    Complain for now when a function is both elidable (or
        loopinvariant), and can have random effects.

diff --git a/rpython/jit/codewriter/call.py b/rpython/jit/codewriter/call.py
--- a/rpython/jit/codewriter/call.py
+++ b/rpython/jit/codewriter/call.py
@@ -240,6 +240,13 @@
                 extraeffect = EffectInfo.EF_CAN_RAISE
             else:
                 extraeffect = EffectInfo.EF_CANNOT_RAISE
+        else:
+            assert not loopinvariant, (
+                "in operation %r: this calls a _jit_loop_invariant_ function,"
+                " but it can have random effects")
+            assert not elidable, (
+                "in operation %r: this calls an _elidable_function_,"
+                " but it can have random effects")
         #
         effectinfo = effectinfo_from_writeanalyze(
             self.readwrite_analyzer.analyze(op, self.seen), self.cpu,
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to