(MEMORY_BARRIER_BEFORE_ATOMIC): Removed.
* src/vm/jit/alpha/machine-instr.h,
src/vm/jit/arm/machine-instr.h,
src/vm/jit/i386/machine-instr.h,
src/vm/jit/m68k/machine-instr.h,
src/vm/jit/mips/machine-instr.h,
src/vm/jit/powerpc/machine-instr.h,
src/vm/jit/powerpc64/machine-instr.h,
src/vm/jit/s390/machine-instr.h,
src/vm/jit/sparc64/machine-instr.h,
src/vm/jit/x86_64/machine-instr.h: Likewise.
#define MEMORY_BARRIER() (pthread_mutex_lock(&_mb_lock), \
pthread_mutex_unlock(&_mb_lock))
#define STORE_ORDER_BARRIER() MEMORY_BARRIER()
-#define MEMORY_BARRIER_BEFORE_ATOMIC() /* nothing */
#define MEMORY_BARRIER_AFTER_ATOMIC() /* nothing */
#endif /* _MACHINE_INSTR_H */
}
#define STORE_ORDER_BARRIER() __asm__ __volatile__ ("wmb" : : : "memory");
-#define MEMORY_BARRIER_BEFORE_ATOMIC() __asm__ __volatile__ ("mb" : : : "memory");
#define MEMORY_BARRIER_AFTER_ATOMIC() __asm__ __volatile__ ("mb" : : : "memory");
#define MEMORY_BARRIER() __asm__ __volatile__ ( \
"mb" : : : "memory" );
}
#define STORE_ORDER_BARRIER() __asm__ __volatile__ ("" : : : "memory");
-#define MEMORY_BARRIER_BEFORE_ATOMIC() __asm__ __volatile__ ("" : : : "memory");
#define MEMORY_BARRIER_AFTER_ATOMIC() __asm__ __volatile__ ("" : : : "memory");
#define MEMORY_BARRIER() __asm__ __volatile__ ("" : : : "memory" );
}
#define STORE_ORDER_BARRIER() __asm__ __volatile__ ("" : : : "memory");
-#define MEMORY_BARRIER_BEFORE_ATOMIC() /* nothing */
#define MEMORY_BARRIER_AFTER_ATOMIC() /* nothing */
#define MEMORY_BARRIER() __asm__ __volatile__ ( \
"lock; add $0, 0(%%esp)" : : : "memory" );
#define STORE_ORDER_BARRIER() __asm__ __volatile__ ("" : : : "memory");
-#define MEMORY_BARRIER_BEFORE_ATOMIC() __asm__ __volatile__ ("" : : : "memory");
#define MEMORY_BARRIER_AFTER_ATOMIC() __asm__ __volatile__ ("" : : : "memory");
#define MEMORY_BARRIER() __asm__ __volatile__ ( "" : : : "memory" );
long compare_and_swap (long *p, long oldval, long newval);
#define STORE_ORDER_BARRIER()
-#define MEMORY_BARRIER_BEFORE_ATOMIC()
#define MEMORY_BARRIER_AFTER_ATOMIC()
#define MEMORY_BARRIER()
}
#define STORE_ORDER_BARRIER() __asm__ __volatile__ ("" : : : "memory");
-#define MEMORY_BARRIER_BEFORE_ATOMIC() __asm__ __volatile__ ("sync" : : : "memory");
#define MEMORY_BARRIER_AFTER_ATOMIC() __asm__ __volatile__ ("isync" : : : "memory");
#define MEMORY_BARRIER() __asm__ __volatile__ ( "sync" : : : "memory" );
}
#define STORE_ORDER_BARRIER() __asm__ __volatile__ ("" : : : "memory");
-#define MEMORY_BARRIER_BEFORE_ATOMIC() __asm__ __volatile__ ("sync" : : : "memory");
#define MEMORY_BARRIER_AFTER_ATOMIC() __asm__ __volatile__ ("isync" : : : "memory");
#define MEMORY_BARRIER() __asm__ __volatile__ ( "sync" : : : "memory" );
/* TODO not sure if the following two can't be just empty. */
-#define MEMORY_BARRIER_BEFORE_ATOMIC() eieio()
#define MEMORY_BARRIER_AFTER_ATOMIC() eieio()
#endif
}
#define STORE_ORDER_BARRIER() __asm__ __volatile__ ("wmb" : : : "memory");
-#define MEMORY_BARRIER_BEFORE_ATOMIC() __asm__ __volatile__ ("mb" : : : "memory");
#define MEMORY_BARRIER_AFTER_ATOMIC() __asm__ __volatile__ ("mb" : : : "memory");
#define MEMORY_BARRIER() __asm__ __volatile__ ( \
"membar 0x0F" : : : "memory" );
}
#define STORE_ORDER_BARRIER() __asm__ __volatile__ ("" : : : "memory");
-#define MEMORY_BARRIER_BEFORE_ATOMIC() /* nothing */
#define MEMORY_BARRIER_AFTER_ATOMIC() /* nothing */
#define MEMORY_BARRIER() __asm__ __volatile__ ( \
"mfence" : : : "memory" );