Author: Armin Rigo <ar...@tunes.org> Branch: c7 Changeset: r710:f59e497a6ec5 Date: 2014-02-07 20:24 +0100 http://bitbucket.org/pypy/stmgc/changeset/f59e497a6ec5/
Log: Use __sync_synchronize() as a general fall-back. Update comments. diff --git a/c7/core.h b/c7/core.h --- a/c7/core.h +++ b/c7/core.h @@ -199,14 +199,18 @@ static inline void write_fence(void) { + /* This function inserts a "write fence". The goal is to make + sure that past writes are really pushed to memory before + the future writes. We assume that the corresponding "read + fence" effect is done automatically by a corresponding + __sync_bool_compare_and_swap(). */ #if defined(__amd64__) || defined(__i386__) - /* this is only a compiler barrier - use __sync_synchronize(...) or other __sync_OPs that - are locked by the CPU if you need to prevent - loads to be moved before stores to different locations */ + /* this is only a compiler barrier, which is enough on x86 */ asm("" : : : "memory"); #else -# error "Define write_fence() for your architecture" + /* general fall-back, but we might have more efficient + alternative on some other platforms too */ + __sync_synchronize(); #endif } _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit