Skip to content

Commit 1d7ed03

Browse files
author
Daniel D. Daugherty
committed
8244376: possibly stale comment above "struct SharedGlobals" in synchronizer.cpp
Reviewed-by: hseigel, dholmes
1 parent c85c9ad commit 1d7ed03

File tree

1 file changed

+0
-18
lines changed

1 file changed

+0
-18
lines changed

src/hotspot/share/runtime/synchronizer.cpp

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -720,24 +720,6 @@ void ObjectSynchronizer::notifyall(Handle obj, TRAPS) {
720720

721721
// -----------------------------------------------------------------------------
722722
// Hash Code handling
723-
//
724-
// Performance concern:
725-
// OrderAccess::storestore() calls release() which at one time stored 0
726-
// into the global volatile OrderAccess::dummy variable. This store was
727-
// unnecessary for correctness. Many threads storing into a common location
728-
// causes considerable cache migration or "sloshing" on large SMP systems.
729-
// As such, I avoided using OrderAccess::storestore(). In some cases
730-
// OrderAccess::fence() -- which incurs local latency on the executing
731-
// processor -- is a better choice as it scales on SMP systems.
732-
//
733-
// See http://blogs.oracle.com/dave/entry/biased_locking_in_hotspot for
734-
// a discussion of coherency costs. Note that all our current reference
735-
// platforms provide strong ST-ST order, so the issue is moot on IA32,
736-
// x64, and SPARC.
737-
//
738-
// As a general policy we use "volatile" to control compiler-based reordering
739-
// and explicit fences (barriers) to control for architectural reordering
740-
// performed by the CPU(s) or platform.
741723

742724
struct SharedGlobals {
743725
char _pad_prefix[OM_CACHE_LINE_SIZE];

0 commit comments

Comments
 (0)