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