< 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 >