org.jikesrvm.scheduler.nativethreads
Class NativeLock
java.lang.Object
org.jikesrvm.scheduler.Lock
org.jikesrvm.scheduler.nativethreads.NativeLock
- All Implemented Interfaces:
- Constants, HeapLayoutConstants, ThinLockConstants, TIBLayoutConstants, SizeConstants
public class NativeLock
- extends Lock
| Fields inherited from class org.jikesrvm.scheduler.Lock |
active, deflations, index, INITIAL_CHUNKS, LOCK_CHUNK_MASK, LOCK_CHUNK_SIZE, LOCK_SPINE_SIZE, lockedObject, lockOperations, LOG_LOCK_CHUNK_SIZE, MAX_LOCKS, mutex, ownerId, recursionCount, STATS, unlockOperations |
| Fields inherited from interface org.jikesrvm.objectmodel.ThinLockConstants |
NUM_BITS_RC, NUM_BITS_TID, TL_FAT_LOCK_MASK, TL_LOCK_COUNT_MASK, TL_LOCK_COUNT_SHIFT, TL_LOCK_COUNT_UNIT, TL_LOCK_ID_MASK, TL_LOCK_ID_SHIFT, TL_THREAD_ID_MASK, TL_THREAD_ID_SHIFT, TL_UNLOCK_MASK |
| Fields inherited from interface org.jikesrvm.SizeConstants |
BITS_IN_ADDRESS, BITS_IN_BOOLEAN, BITS_IN_BYTE, BITS_IN_CHAR, BITS_IN_DOUBLE, BITS_IN_FLOAT, BITS_IN_INT, BITS_IN_LONG, BITS_IN_PAGE, BITS_IN_SHORT, BITS_IN_WORD, BYTES_IN_ADDRESS, BYTES_IN_BOOLEAN, BYTES_IN_BYTE, BYTES_IN_CHAR, BYTES_IN_DOUBLE, BYTES_IN_FLOAT, BYTES_IN_INT, BYTES_IN_LONG, BYTES_IN_PAGE, BYTES_IN_SHORT, BYTES_IN_WORD, LOG_BITS_IN_ADDRESS, LOG_BITS_IN_BOOLEAN, LOG_BITS_IN_BYTE, LOG_BITS_IN_CHAR, LOG_BITS_IN_DOUBLE, LOG_BITS_IN_FLOAT, LOG_BITS_IN_INT, LOG_BITS_IN_LONG, LOG_BITS_IN_PAGE, LOG_BITS_IN_SHORT, LOG_BITS_IN_WORD, LOG_BYTES_IN_ADDRESS, LOG_BYTES_IN_BOOLEAN, LOG_BYTES_IN_BYTE, LOG_BYTES_IN_CHAR, LOG_BYTES_IN_DOUBLE, LOG_BYTES_IN_FLOAT, LOG_BYTES_IN_INT, LOG_BYTES_IN_LONG, LOG_BYTES_IN_PAGE, LOG_BYTES_IN_SHORT, LOG_BYTES_IN_WORD |
| Fields inherited from interface org.jikesrvm.HeapLayoutConstants |
BAD_MAP_COMPRESSION, BOOT_IMAGE_CODE_END, BOOT_IMAGE_CODE_SIZE, BOOT_IMAGE_CODE_START, BOOT_IMAGE_DATA_END, BOOT_IMAGE_DATA_SIZE, BOOT_IMAGE_DATA_START, BOOT_IMAGE_END, BOOT_IMAGE_RMAP_END, BOOT_IMAGE_RMAP_START, MAX_BOOT_IMAGE_RMAP_SIZE, MAXIMUM_MAPPABLE |
| Methods inherited from class org.jikesrvm.scheduler.Lock |
addLock, boot, countLocksHeldByThread, dumpLocks, free, getLock, getLockedObject, getOwnerId, getRecursionCount, getThreadState, init, numLocks, returnLock, setLockedObject, setOwnerId, setRecursionCount |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
NativeLock
public NativeLock()
lockHeavy
public boolean lockHeavy(Object o)
- Description copied from class:
Lock
- Acquires this heavy-weight lock on the indicated object.
- Specified by:
lockHeavy in class Lock
- Parameters:
o - the object to be locked
- Returns:
- true, if the lock succeeds; false, otherwise
unlockHeavy
public void unlockHeavy(Object o)
- Description copied from class:
Lock
- Releases this heavy-weight lock on the indicated object.
- Specified by:
unlockHeavy in class Lock
- Parameters:
o - the object to be unlocked
isBlocked
public boolean isBlocked(RVMThread t)
- Description copied from class:
Lock
- Is this lock blocking thread t?
- Specified by:
isBlocked in class Lock
isWaiting
public boolean isWaiting(RVMThread t)
- Description copied from class:
Lock
- Is this thread t waiting on this lock?
- Specified by:
isWaiting in class Lock
dumpWaitingThreads
public void dumpWaitingThreads()
- Description copied from class:
Lock
- Dump threads waiting to be notified on this lock
- Specified by:
dumpWaitingThreads in class Lock
dumpBlockedThreads
public void dumpBlockedThreads()
- Description copied from class:
Lock
- Dump threads blocked trying to get this lock
- Specified by:
dumpBlockedThreads in class Lock