< prev index next >

src/hotspot/os_cpu/linux_ppc/orderAccess_linux_ppc.hpp

Print this page

        

@@ -66,12 +66,10 @@
 
 #define inlasm_sync()     __asm__ __volatile__ ("sync"   : : : "memory");
 #define inlasm_lwsync()   __asm__ __volatile__ ("lwsync" : : : "memory");
 #define inlasm_eieio()    __asm__ __volatile__ ("eieio"  : : : "memory");
 #define inlasm_isync()    __asm__ __volatile__ ("isync"  : : : "memory");
-// Use twi-isync for load_acquire (faster than lwsync).
-#define inlasm_acquire_reg(X) __asm__ __volatile__ ("twi 0,%0,0\n isync\n" : : "r" (X) : "memory");
 
 inline void   OrderAccess::loadload()   { inlasm_lwsync(); }
 inline void   OrderAccess::storestore() { inlasm_lwsync(); }
 inline void   OrderAccess::loadstore()  { inlasm_lwsync(); }
 inline void   OrderAccess::storeload()  { inlasm_sync();   }

@@ -80,19 +78,11 @@
 inline void   OrderAccess::release()    { inlasm_lwsync(); }
 inline void   OrderAccess::fence()      { inlasm_sync();   }
 inline void   OrderAccess::cross_modify_fence()
                                         { inlasm_isync();  }
 
-template<size_t byte_size>
-struct OrderAccess::PlatformOrderedLoad<byte_size, X_ACQUIRE>
-{
-  template <typename T>
-  T operator()(const volatile T* p) const { T t = Atomic::load(p); inlasm_acquire_reg(t); return t; }
-};
-
 #undef inlasm_sync
 #undef inlasm_lwsync
 #undef inlasm_eieio
 #undef inlasm_isync
-#undef inlasm_acquire_reg
 
 #endif // OS_CPU_LINUX_PPC_ORDERACCESS_LINUX_PPC_HPP
< prev index next >