[pypy-commit] pypy reverse-debugger: Fix for large inputs

arigo pypy.commits at gmail.com
Sat Jun 11 06:55:48 EDT 2016


Author: Armin Rigo <arigo at tunes.org>
Branch: reverse-debugger
Changeset: r85098:92150c86f642
Date: 2016-06-11 12:56 +0200
http://bitbucket.org/pypy/pypy/changeset/92150c86f642/

Log:	Fix for large inputs

diff --git a/rpython/translator/revdb/rdb-src/revdb.c b/rpython/translator/revdb/rdb-src/revdb.c
--- a/rpython/translator/revdb/rdb-src/revdb.c
+++ b/rpython/translator/revdb/rdb-src/revdb.c
@@ -606,12 +606,10 @@
         /* in the main process: continue reloading the revdb log */
         uint64_t delta = total_stop_points - rpy_revdb.stop_point_break;
         delta = (uint64_t)(delta * (1 - GOLDEN_RATIO));
-        if (delta == 0)
+        if (delta == 0 || frozen_num_pipes == NUM_FROZEN_PROCESSES - 1)
             rpy_revdb.stop_point_break = total_stop_points;
         else
             rpy_revdb.stop_point_break += delta;
-        if (rpy_revdb.stop_point_seen == rpy_revdb.stop_point_break)
-            rpy_revdb.stop_point_break++;
         close(fds[RD_SIDE]);
         fds[RD_SIDE] = -1;
     }
@@ -691,6 +689,8 @@
 {
     if (process_kind == PK_MAIN_PROCESS) {
         make_new_frozen_process();
+        if (process_kind == PK_MAIN_PROCESS)
+            return;
         if (rpy_revdb.stop_point_seen != rpy_revdb.stop_point_break)
             return;
     }


More information about the pypy-commit mailing list