Author: Armin Rigo <[email protected]>
Branch: py3.5-reverse-debugger
Changeset: r94663:9e3c05dbb3fd
Date: 2018-05-23 20:13 +0200
http://bitbucket.org/pypy/pypy/changeset/9e3c05dbb3fd/

Log:    hg merge reverse-debugger

diff --git a/pypy/interpreter/app_main.py b/pypy/interpreter/app_main.py
--- a/pypy/interpreter/app_main.py
+++ b/pypy/interpreter/app_main.py
@@ -88,17 +88,24 @@
     run_protected() handles details like forwarding exceptions to
     sys.excepthook(), catching SystemExit, etc.
     """
+    # don't use try:except: here, otherwise the exception remains
+    # visible in user code.  Make sure revdb_stop is a callable, so
+    # that we can call it immediately after finally: below.  Doing
+    # so minimizes the number of "blind" lines that we need to go
+    # back from, with "bstep", after we do "continue" in revdb.
     if '__pypy__' in sys.builtin_module_names:
         from __pypy__ import revdb_stop
     else:
         revdb_stop = None
+    if revdb_stop is None:
+        revdb_stop = lambda: None
+
     try:
         # run it
         try:
             f(*fargs, **fkwds)
         finally:
-            if revdb_stop:
-                revdb_stop()
+            revdb_stop()
             sys.settrace(None)
             sys.setprofile(None)
     except SystemExit as e:
diff --git a/rpython/rlib/rsiphash.py b/rpython/rlib/rsiphash.py
--- a/rpython/rlib/rsiphash.py
+++ b/rpython/rlib/rsiphash.py
@@ -123,6 +123,8 @@
 
     def compute_result_annotation(self):
         translator = self.bookkeeper.annotator.translator
+        if translator.config.translation.reverse_debugger:
+            return    # ignore and use the regular hash, with reverse-debugger
         if hasattr(translator, 'll_hash_string'):
             assert translator.ll_hash_string == ll_hash_string_siphash24
         else:
@@ -134,6 +136,9 @@
 
     def specialize_call(self, hop):
         hop.exception_cannot_occur()
+        translator = hop.rtyper.annotator.translator
+        if translator.config.translation.reverse_debugger:
+            return    # ignore and use the regular hash, with reverse-debugger
         bk = hop.rtyper.annotator.bookkeeper
         s_callable = bk.immutablevalue(initialize_from_env)
         r_callable = hop.rtyper.getrepr(s_callable)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to