< prev index next >

src/hotspot/share/utilities/globalDefinitions.hpp

Print this page
rev 55962 : 8229422: Taskqueue: Outdated selection of weak memory model platforms
Reviewed-by:

*** 479,492 **** // To assure the IRIW property on processors that are not multiple copy // atomic, sync instructions must be issued between volatile reads to // assure their ordering, instead of after volatile stores. // (See "A Tutorial Introduction to the ARM and POWER Relaxed Memory Models" // by Luc Maranget, Susmit Sarkar and Peter Sewell, INRIA/Cambridge) ! #ifdef CPU_NOT_MULTIPLE_COPY_ATOMIC ! const bool support_IRIW_for_not_multiple_copy_atomic_cpu = true; ! #else const bool support_IRIW_for_not_multiple_copy_atomic_cpu = false; #endif // The expected size in bytes of a cache line, used to pad data structures. #ifndef DEFAULT_CACHE_LINE_SIZE #define DEFAULT_CACHE_LINE_SIZE 64 --- 479,495 ---- // To assure the IRIW property on processors that are not multiple copy // atomic, sync instructions must be issued between volatile reads to // assure their ordering, instead of after volatile stores. // (See "A Tutorial Introduction to the ARM and POWER Relaxed Memory Models" // by Luc Maranget, Susmit Sarkar and Peter Sewell, INRIA/Cambridge) ! #ifdef CPU_MULTI_COPY_ATOMIC ! // Not needed. const bool support_IRIW_for_not_multiple_copy_atomic_cpu = false; + #else + // From all non-multi-copy-atomic architectures, only PPC64 supports IRIW at the moment. + // Final decision is subject to JEP 188: Java Memory Model Update. + const bool support_IRIW_for_not_multiple_copy_atomic_cpu = PPC64_ONLY(true) NOT_PPC64(false); #endif // The expected size in bytes of a cache line, used to pad data structures. #ifndef DEFAULT_CACHE_LINE_SIZE #define DEFAULT_CACHE_LINE_SIZE 64
< prev index next >