File tree Expand file tree Collapse file tree 1 file changed +0
-18
lines changed
src/hotspot/share/runtime Expand file tree Collapse file tree 1 file changed +0
-18
lines changed Original file line number Diff line number Diff 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
742724struct SharedGlobals {
743725 char _pad_prefix[OM_CACHE_LINE_SIZE];
You can’t perform that action at this time.
0 commit comments