Author: Armin Rigo <[email protected]>
Branch: stmgc-c7
Changeset: r70344:055b7a22861c
Date: 2014-03-31 08:45 +0200
http://bitbucket.org/pypy/pypy/changeset/055b7a22861c/

Log:    import stmgc/43f1137bc72e

diff --git a/rpython/translator/stm/src_stm/revision 
b/rpython/translator/stm/src_stm/revision
--- a/rpython/translator/stm/src_stm/revision
+++ b/rpython/translator/stm/src_stm/revision
@@ -1,1 +1,1 @@
-976a1d42a508
+43f1137bc72e
diff --git a/rpython/translator/stm/src_stm/stm/timing.c 
b/rpython/translator/stm/src_stm/stm/timing.c
--- a/rpython/translator/stm/src_stm/stm/timing.c
+++ b/rpython/translator/stm/src_stm/stm/timing.c
@@ -8,6 +8,7 @@
                               double elapsed)
 {
     tl->timing[category] += elapsed;
+    tl->events[category] += 1;
 }
 
 #define TIMING_CHANGE(tl, newstate)                     \
@@ -59,7 +60,10 @@
 
 void stm_flush_timing(stm_thread_local_t *tl, int verbose)
 {
-    TIMING_CHANGE(tl, tl->_timing_cur_state);
+    enum stm_time_e category = tl->_timing_cur_state;
+    uint64_t oldevents = tl->events[category];
+    TIMING_CHANGE(tl, category);
+    tl->events[category] = oldevents;
 
     assert((sizeof(timer_names) / sizeof(timer_names[0])) == _STM_TIME_N);
     if (verbose > 0) {
@@ -67,8 +71,8 @@
         s_mutex_lock();
         fprintf(stderr, "thread %p:\n", tl);
         for (i = 0; i < _STM_TIME_N; i++) {
-            fprintf(stderr, "    %-24s %.3f s\n",
-                    timer_names[i], (double)tl->timing[i]);
+            fprintf(stderr, "    %-24s %9u  %.3f s\n",
+                    timer_names[i], tl->events[i], (double)tl->timing[i]);
         }
         s_mutex_unlock();
     }
diff --git a/rpython/translator/stm/src_stm/stmgc.h 
b/rpython/translator/stm/src_stm/stmgc.h
--- a/rpython/translator/stm/src_stm/stmgc.h
+++ b/rpython/translator/stm/src_stm/stmgc.h
@@ -87,6 +87,7 @@
        (these fields are not modified on a successful commit) */
     long last_abort__bytes_in_nursery;
     /* timing information, accumulated */
+    uint32_t events[_STM_TIME_N];
     float timing[_STM_TIME_N];
     double _timing_cur_start;
     enum stm_time_e _timing_cur_state;
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to