Author: Tobias Weber <tobias_webe...@gmx.de>
Branch: c8-overheads-instrumentation
Changeset: r2033:5da1d40bd38d
Date: 2017-03-20 17:47 +0100
http://bitbucket.org/pypy/stmgc/changeset/5da1d40bd38d/

Log:    Fix major GC duration was not logged in case of abort due to long
        jump out of the abort function

diff --git a/c8/stm/gcpage.c b/c8/stm/gcpage.c
--- a/c8/stm/gcpage.c
+++ b/c8/stm/gcpage.c
@@ -783,12 +783,12 @@
         dprintf((" | used after collection:  %ld\n",
                 (long)pages_ctl.total_allocated));
         dprintf((" `----------------------------------------------\n"));
-        if (must_abort())
-            abort_with_mutex();
 
         stop_timer_and_publish_for_thread(
             thread_local_for_logging, STM_DURATION_MAJOR_GC_LOG_ONLY);
 
+        if (must_abort())
+            abort_with_mutex();
         return;
 #endif
     }
@@ -843,9 +843,10 @@
        must abort, do it now. The others are in safe-points that will
        abort if they need to. */
     dprintf(("must abort?:%d\n", (int)must_abort()));
-    if (must_abort())
-        abort_with_mutex();
 
     stop_timer_and_publish_for_thread(
         thread_local_for_logging, STM_DURATION_MAJOR_GC_FULL);
+
+    if (must_abort())
+        abort_with_mutex();
 }
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to