comparison src/share/vm/runtime/synchronizer.cpp @ 9088:89e4d67fdd2a

Merge
author Gilles Duboscq <duboscq@ssw.jku.at>
date Fri, 12 Apr 2013 14:05:42 +0200
parents b9a918201d47 cc32ccaaf47f
children 836a62f43af9
comparison
equal deleted inserted replaced
9037:b008f40b67d0 9088:89e4d67fdd2a
446 // provide strong ST-ST order, so the issue is moot on IA32, x64, and SPARC. 446 // provide strong ST-ST order, so the issue is moot on IA32, x64, and SPARC.
447 // 447 //
448 // As a general policy we use "volatile" to control compiler-based reordering 448 // As a general policy we use "volatile" to control compiler-based reordering
449 // and explicit fences (barriers) to control for architectural reordering performed 449 // and explicit fences (barriers) to control for architectural reordering performed
450 // by the CPU(s) or platform. 450 // by the CPU(s) or platform.
451
452 static int MBFence (int x) { OrderAccess::fence(); return x; }
453 451
454 struct SharedGlobals { 452 struct SharedGlobals {
455 // These are highly shared mostly-read variables. 453 // These are highly shared mostly-read variables.
456 // To avoid false-sharing they need to be the sole occupants of a $ line. 454 // To avoid false-sharing they need to be the sole occupants of a $ line.
457 double padPrefix [8]; 455 double padPrefix [8];
1637 //------------------------------------------------------------------------------ 1635 //------------------------------------------------------------------------------
1638 // Non-product code 1636 // Non-product code
1639 1637
1640 #ifndef PRODUCT 1638 #ifndef PRODUCT
1641 1639
1642 void ObjectSynchronizer::trace_locking(Handle locking_obj, bool is_compiled,
1643 bool is_method, bool is_locking) {
1644 // Don't know what to do here
1645 }
1646
1647 // Verify all monitors in the monitor cache, the verification is weak. 1640 // Verify all monitors in the monitor cache, the verification is weak.
1648 void ObjectSynchronizer::verify() { 1641 void ObjectSynchronizer::verify() {
1649 ObjectMonitor* block = gBlockList; 1642 ObjectMonitor* block = gBlockList;
1650 ObjectMonitor* mid; 1643 ObjectMonitor* mid;
1651 while (block) { 1644 while (block) {