Mercurial > hg > truffle
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) { |