… | |
… | |
602 | #include <mbarrier.h> |
602 | #include <mbarrier.h> |
603 | #define ECB_MEMORY_FENCE __machine_rw_barrier () |
603 | #define ECB_MEMORY_FENCE __machine_rw_barrier () |
604 | #define ECB_MEMORY_FENCE_ACQUIRE __machine_r_barrier () |
604 | #define ECB_MEMORY_FENCE_ACQUIRE __machine_r_barrier () |
605 | #define ECB_MEMORY_FENCE_RELEASE __machine_w_barrier () |
605 | #define ECB_MEMORY_FENCE_RELEASE __machine_w_barrier () |
606 | #elif __xlC__ |
606 | #elif __xlC__ |
607 | #define ECB_MEMORY_FENCE __lwsync () |
607 | #define ECB_MEMORY_FENCE __sync () |
608 | #endif |
608 | #endif |
609 | #endif |
609 | #endif |
610 | |
610 | |
611 | #ifndef ECB_MEMORY_FENCE |
611 | #ifndef ECB_MEMORY_FENCE |
612 | #if !ECB_AVOID_PTHREADS |
612 | #if !ECB_AVOID_PTHREADS |