X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=includes%2FSMP.h;h=873bbbbfc2702c7ac868aeefbbe855ee75e5d69c;hb=1d141bd52e6eea321e90cd11059f726094dd50be;hp=c851054cd90d3f2adc685a7d02756a32f83f8fca;hpb=a67183b75f1527edd88b071b879c2d07e8ac7653;p=ghc-hetmet.git diff --git a/includes/SMP.h b/includes/SMP.h index c851054..873bbbb 100644 --- a/includes/SMP.h +++ b/includes/SMP.h @@ -18,7 +18,7 @@ #if defined(THREADED_RTS) -#if defined(TICKY_TICKY) +#if defined(TICKY_TICKY) #error Build options incompatible with THREADED_RTS. #endif @@ -179,7 +179,7 @@ write_barrier(void) { #elif powerpc_HOST_ARCH __asm__ __volatile__ ("lwsync" : : : "memory"); #elif sparc_HOST_ARCH - /* Sparc in TSO mode does not require write/write barriers. */ + /* Sparc in TSO mode does not require store/store barriers. */ __asm__ __volatile__ ("" : : : "memory"); #elif !defined(WITHSMP) return; @@ -195,10 +195,9 @@ store_load_barrier(void) { #elif x86_64_HOST_ARCH __asm__ __volatile__ ("lock; addq $0,0(%%rsp)" : : : "memory"); #elif powerpc_HOST_ARCH - __asm__ __volatile__ ("msync" : : : "memory"); + __asm__ __volatile__ ("sync" : : : "memory"); #elif sparc_HOST_ARCH - /* Sparc in TSO mode does not require write/write barriers. */ - __asm__ __volatile__ ("membar" : : : "memory"); + __asm__ __volatile__ ("membar #StoreLoad" : : : "memory"); #elif !defined(WITHSMP) return; #else @@ -215,7 +214,7 @@ load_load_barrier(void) { #elif powerpc_HOST_ARCH __asm__ __volatile__ ("lwsync" : : : "memory"); #elif sparc_HOST_ARCH - /* Sparc in TSO mode does not require write/write barriers. */ + /* Sparc in TSO mode does not require load/load barriers. */ __asm__ __volatile__ ("" : : : "memory"); #elif !defined(WITHSMP) return;