[pypy-commit] pypy stmgc-c7: import stmgc/937201ff1335 (branch "marker")

arigo noreply at buildbot.pypy.org
Sat May 3 12:23:45 CEST 2014


Author: Armin Rigo <arigo at tunes.org>
Branch: stmgc-c7
Changeset: r71224:4a7722881d59
Date: 2014-05-03 10:44 +0200
http://bitbucket.org/pypy/pypy/changeset/4a7722881d59/

Log:	import stmgc/937201ff1335 (branch "marker")

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 @@
-4bde66e3b621
+937201ff1335
diff --git a/rpython/translator/stm/src_stm/stm/marker.c b/rpython/translator/stm/src_stm/stm/marker.c
--- a/rpython/translator/stm/src_stm/stm/marker.c
+++ b/rpython/translator/stm/src_stm/stm/marker.c
@@ -166,32 +166,27 @@
 
     /* For some categories, we can also collect the relevant information
        for the other segment. */
+    char *outmarker = abort_other ? other_pseg->marker_self
+                                  : my_pseg->marker_other;
     switch (kind) {
     case WRITE_WRITE_CONTENTION:
         marker_fetch_obj_write(other_segment_num, obj, other_marker);
+	marker_expand(other_marker, other_segment_base, outmarker);
         break;
     case INEVITABLE_CONTENTION:
         assert(abort_other == false);
         other_marker[0] = other_pseg->marker_inev[0];
         other_marker[1] = other_pseg->marker_inev[1];
+	marker_expand(other_marker, other_segment_base, outmarker);
         break;
+    case WRITE_READ_CONTENTION:
+	strcpy(outmarker, "<read at unknown location>");
+	break;
     default:
-        other_marker[0] = 0;
-        other_marker[1] = 0;
+	outmarker[0] = 0;
         break;
     }
 
-    marker_expand(other_marker, other_segment_base,
-                  abort_other ? other_pseg->marker_self
-                              : my_pseg->marker_other);
-
-    if (abort_other && other_pseg->marker_self[0] == 0) {
-        if (kind == WRITE_READ_CONTENTION)
-            strcpy(other_pseg->marker_self, "<read at unknown location>");
-        else
-            strcpy(other_pseg->marker_self, "<no location information>");
-    }
-
     release_marker_lock(other_segment_base);
 }
 


More information about the pypy-commit mailing list