< prev index next >
src/hotspot/share/runtime/mutex.hpp
Print this page
*** 65,81 ****
volatile intptr_t FullWord ;
volatile void * Address ;
volatile jbyte Bytes [sizeof(intptr_t)] ;
} ;
- // Endian-ness ... index of least-significant byte in SplitWord.Bytes[]
- #ifdef VM_LITTLE_ENDIAN
- #define _LSBINDEX 0
- #else
- #define _LSBINDEX (sizeof(intptr_t)-1)
- #endif
-
class ParkEvent ;
// See orderAccess.hpp. We assume throughout the VM that mutex lock and
// try_lock do fence-lock-acquire, and that unlock does a release-unlock,
// *in that order*. If their implementations change such that these
--- 65,74 ----
*** 126,136 ****
// type-stable, meaning we can safely unpark() a possibly stale
// list element in the unlock()-path.
protected: // Monitor-Mutex metadata
SplitWord _LockWord ; // Contention queue (cxq) colocated with Lock-byte
- enum LockWordBits { _LBIT=1 } ;
Thread * volatile _owner; // The owner of the lock
// Consider sequestering _owner on its own $line
// to aid future synchronization mechanisms.
ParkEvent * volatile _EntryList ; // List of threads waiting for entry
ParkEvent * volatile _OnDeck ; // heir-presumptive
--- 119,128 ----
< prev index next >