[pypy-commit] stmgc use-gcc: Expand the explanation and roll back 69f1abc8e3fe.

arigo noreply at buildbot.pypy.org
Wed Jul 8 12:44:58 CEST 2015


Author: Armin Rigo <arigo at tunes.org>
Branch: use-gcc
Changeset: r1894:088f807586c2
Date: 2015-07-08 12:45 +0200
http://bitbucket.org/pypy/stmgc/changeset/088f807586c2/

Log:	Expand the explanation and roll back 69f1abc8e3fe.

diff --git a/c8/stm/core.h b/c8/stm/core.h
--- a/c8/stm/core.h
+++ b/c8/stm/core.h
@@ -151,10 +151,8 @@
 
     /* The sync queue used to synchronize newly allocated objs to
        other segments */
-    stm_char *_sq_fragments[SYNC_QUEUE_SIZE];
-    int _sq_fragsizes[SYNC_QUEUE_SIZE];
-    stm_char **sq_fragments;   /* indirection to work around a gcc issue */
-    int *sq_fragsizes;
+    stm_char *sq_fragments[SYNC_QUEUE_SIZE];
+    int sq_fragsizes[SYNC_QUEUE_SIZE];
     int sq_len;
 
     /* For nursery_mark */
diff --git a/c8/stm/setup.c b/c8/stm/setup.c
--- a/c8/stm/setup.c
+++ b/c8/stm/setup.c
@@ -116,9 +116,6 @@
         pr->overflow_number = GCFLAG_OVERFLOW_NUMBER_bit0 * i;
         highest_overflow_number = pr->overflow_number;
         pr->pub.transaction_read_version = 0xff;
-
-        pr->sq_fragments = pr->_sq_fragments;
-        pr->sq_fragsizes = pr->_sq_fragsizes;
     }
 
     /* The pages are shared lazily, as remap_file_pages() takes a relatively
diff --git a/gcc-seg-gs/README.txt b/gcc-seg-gs/README.txt
--- a/gcc-seg-gs/README.txt
+++ b/gcc-seg-gs/README.txt
@@ -31,7 +31,8 @@
 
     #!/bin/bash
     BUILD=/..../build      # <- insert full path
-    exec $BUILD/gcc/xgcc -B $BUILD/gcc "$@"
+    exec $BUILD/gcc/xgcc -B $BUILD/gcc -fno-ivopts "$@"
 
-GCC has a bug, likely in the "ivopts" optimization, that can be worked
-around by specifying "-fno-ivopts".
+So far, GCC has a bug in the presence of multiple address spaces, likely
+in the "ivopts" optimization.  It can be worked around by specifying
+"-fno-ivopts" like above.  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66768


More information about the pypy-commit mailing list