< 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 >