Author: Armin Rigo <[email protected]>
Branch: reverse-debugger-updated
Changeset: r94562:679c88232aae
Date: 2018-05-14 11:36 +0200
http://bitbucket.org/pypy/pypy/changeset/679c88232aae/
Log: Fix some tests that failed with "trying to change a frozen option
object"
diff --git a/rpython/rlib/objectmodel.py b/rpython/rlib/objectmodel.py
--- a/rpython/rlib/objectmodel.py
+++ b/rpython/rlib/objectmodel.py
@@ -373,18 +373,36 @@
hop.exception_cannot_occur()
return hop.inputconst(lltype.Void, translator.config)
-def _import_revdb():
- from rpython.rlib import revdb
- return revdb
def revdb_flag_io_disabled():
- config = fetch_translated_config()
- if config is not None and config.translation.reverse_debugger:
- revdb = _import_revdb()
- if revdb.flag_io_disabled():
- return revdb
+ revdb = _import_revdb()
+ if revdb and revdb.flag_io_disabled():
+ return revdb
return None
+def _import_revdb():
+ "NOT_RPYTHON"
+ return None
+
+class Entry(ExtRegistryEntry):
+ _about_ = _import_revdb
+
+ def compute_result_annotation(self):
+ revdb = None
+ config = self.bookkeeper.annotator.translator.config
+ if config.translation.reverse_debugger:
+ from rpython.rlib import revdb
+ return self.bookkeeper.immutablevalue(revdb)
+
+ def specialize_call(self, hop):
+ from rpython.rtyper.lltypesystem import lltype
+ revdb = None
+ config = hop.rtyper.annotator.translator.config
+ if config.translation.reverse_debugger:
+ from rpython.rlib import revdb
+ hop.exception_cannot_occur()
+ return hop.inputconst(lltype.Void, revdb)
+
# ____________________________________________________________
class FREED_OBJECT(object):
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit