… | |
… | |
123 | #include <mbarrier.h> |
123 | #include <mbarrier.h> |
124 | #define ECB_MEMORY_FENCE __machine_rw_barrier () |
124 | #define ECB_MEMORY_FENCE __machine_rw_barrier () |
125 | #define ECB_MEMORY_FENCE_ACQUIRE __machine_r_barrier () |
125 | #define ECB_MEMORY_FENCE_ACQUIRE __machine_r_barrier () |
126 | #define ECB_MEMORY_FENCE_RELEASE __machine_w_barrier () |
126 | #define ECB_MEMORY_FENCE_RELEASE __machine_w_barrier () |
127 | #elif __xlC__ |
127 | #elif __xlC__ |
128 | #define ECB_MEMORY_FENCE __lwsync () |
128 | #define ECB_MEMORY_FENCE __sync () |
129 | #endif |
129 | #endif |
130 | #endif |
130 | #endif |
131 | |
131 | |
132 | #ifndef ECB_MEMORY_FENCE |
132 | #ifndef ECB_MEMORY_FENCE |
133 | #if !ECB_AVOID_PTHREADS |
133 | #if !ECB_AVOID_PTHREADS |