Author: Armin Rigo <[email protected]>
Branch: stmgc-c7
Changeset: r71774:0ce7b860140b
Date: 2014-05-29 12:25 +0200
http://bitbucket.org/pypy/pypy/changeset/0ce7b860140b/

Log:    Attempt at fixing the logic in c84e52937998

diff --git a/rpython/jit/metainterp/warmstate.py 
b/rpython/jit/metainterp/warmstate.py
--- a/rpython/jit/metainterp/warmstate.py
+++ b/rpython/jit/metainterp/warmstate.py
@@ -366,7 +366,11 @@
             procedure_token = cell.get_procedure_token()
             if procedure_token is None:
                 # it was an aborted compilation, or maybe a weakref that
-                # has been freed
+                # has been freed.  Add the flag "JC_TEMPORARY" in case
+                # cleanup_chain() doesn't unlink the cell (stm only), so
+                # that the next time we'll count ticks and eventually
+                # enter bound_reached() again.
+                cell.flags |= JC_TEMPORARY
                 jitcounter.cleanup_chain(hash)
                 return
             if not confirm_enter_jit(*args):
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to