[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