Author: Armin Rigo <[email protected]>
Branch: stmgc-c7
Changeset: r71258:8e81e8026bd6
Date: 2014-05-04 16:51 +0200
http://bitbucket.org/pypy/pypy/changeset/8e81e8026bd6/

Log:    import stmgc/822e52f17647 (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 @@
-937201ff1335
+822e52f17647
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
@@ -171,19 +171,19 @@
     switch (kind) {
     case WRITE_WRITE_CONTENTION:
         marker_fetch_obj_write(other_segment_num, obj, other_marker);
-       marker_expand(other_marker, other_segment_base, outmarker);
+        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);
+        marker_expand(other_marker, other_segment_base, outmarker);
         break;
     case WRITE_READ_CONTENTION:
-       strcpy(outmarker, "<read at unknown location>");
-       break;
+        strcpy(outmarker, "<read at unknown location>");
+        break;
     default:
-       outmarker[0] = 0;
+        outmarker[0] = 0;
         break;
     }
 
diff --git a/rpython/translator/stm/src_stm/stm/nursery.c 
b/rpython/translator/stm/src_stm/stm/nursery.c
--- a/rpython/translator/stm/src_stm/stm/nursery.c
+++ b/rpython/translator/stm/src_stm/stm/nursery.c
@@ -245,6 +245,12 @@
     for (i = num_old + 1; i < total; i += 2) {
         minor_trace_if_young((object_t **)list_ptr_to_item(mlst, i));
     }
+    if (STM_PSEGMENT->transaction_state == TS_INEVITABLE) {
+        uintptr_t *pmarker_inev_obj = (uintptr_t *)
+            REAL_ADDRESS(STM_SEGMENT->segment_base,
+                         &STM_PSEGMENT->marker_inev[1]);
+        minor_trace_if_young((object_t **)pmarker_inev_obj);
+    }
 }
 
 static size_t throw_away_nursery(struct stm_priv_segment_info_s *pseg)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to