org.jikesrvm.objectmodel
Interface ThinLockConstants
- All Superinterfaces:
- SizeConstants
- All Known Subinterfaces:
- ArchitectureSpecific.BaselineConstants, BaselineConstants, Constants, MiscHeaderConstants
- All Known Implementing Classes:
- AbstractMethod, ArchitectureSpecific.BaselineCompilerImpl, ArchitectureSpecific.BaselineExceptionDeliverer, ArchitectureSpecific.BaselineGCMapIterator, ArchitectureSpecific.JNICompiler, ArchitectureSpecific.JNIGCMapIterator, ArchitectureSpecific.LazyCompilationTrampoline, ArchitectureSpecific.OutOfLineMachineCode, ArchitectureSpecificOpt.AssemblerOpt, ArchitectureSpecificOpt.BaselineExecutionStateExtractor, ArchitectureSpecificOpt.CodeInstaller, ArchitectureSpecificOpt.OptExecutionStateExtractor, ArchitectureSpecificOpt.OptGCMapIterator, ArchitectureSpecificOpt.PostThreadSwitch, AssemblerBase, AssemblerDriver, AssemblerOpt, Barriers, BaselineCompiledMethod, BaselineCompilerImpl, BaselineExceptionDeliverer, BaselineExecutionStateExtractor, BaselineGCMapIterator, ClassFileReader, ClassLoaderProxy, CodeInstaller, Collection, CompilerDNA, ControllerMemory, CounterBasedSampling, DebugUtil, DynamicLinker, ExecutionStateExtractor, Instruction, JNICompiler, JNIGCMapIterator, JSRInfo, LazyCompilationTrampoline, Lock, MiscHeader, NativeMethod, NormalMethod, ObjectModel, OnStackReplacementPlan, OptExecutionStateExtractor, OptGCMapIterator, OptGenericGCMapIterator, OptMachineCodeMap, OutOfLineMachineCode, PostThreadSwitch, Primitive, ReferenceMaps, Reflection, RuntimeCompiler, RuntimeEntrypoints, RVMArray, RVMClass, RVMClassLoader, RVMField, RVMMember, RVMMethod, RVMThread, RVMType, ScanThread, SpinLock, Statics, TableBasedDynamicLinker, ThinLock, UnboxedType, VM
public interface ThinLockConstants
- extends SizeConstants
Constants used to implement thin locks.
A portion of a word, either in the object header
or in some other location, is used to provide light weight
synchronization operations. This class defines
how the bits available for thin locks are allocated.
Either a lock is in fat state, in which case it looks like
1Z..Z where Z..Z is the id of a heavy lock, or it is in
thin state in which case it looks like 0I..IC..C where
I is the thread id of the thread that owns the lock and
C is the recursion count of the lock.
aaaaTTTTTTTTTTbbbbb
JavaHeader.NUM_THIN_LOCK_BITS = # of T's
JavaHeader.THIN_LOCK_SHIFT = # of b's
Fields inherited from interface org.jikesrvm.SizeConstants |
BITS_IN_ADDRESS, BITS_IN_BOOLEAN, BITS_IN_BYTE, BITS_IN_CHAR, BITS_IN_DOUBLE, BITS_IN_EXTENT, BITS_IN_FLOAT, BITS_IN_INT, BITS_IN_LONG, BITS_IN_OFFSET, 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_EXTENT, BYTES_IN_FLOAT, BYTES_IN_INT, BYTES_IN_LONG, BYTES_IN_OFFSET, 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_EXTENT, LOG_BITS_IN_FLOAT, LOG_BITS_IN_INT, LOG_BITS_IN_LONG, LOG_BITS_IN_OFFSET, 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_EXTENT, LOG_BYTES_IN_FLOAT, LOG_BYTES_IN_INT, LOG_BYTES_IN_LONG, LOG_BYTES_IN_OFFSET, LOG_BYTES_IN_PAGE, LOG_BYTES_IN_SHORT, LOG_BYTES_IN_WORD |
TL_NUM_BITS_STAT
static final int TL_NUM_BITS_STAT
- See Also:
- Constant Field Values
TL_NUM_BITS_TID
static final int TL_NUM_BITS_TID
- See Also:
- Constant Field Values
TL_NUM_BITS_RC
static final int TL_NUM_BITS_RC
TL_THREAD_ID_SHIFT
static final int TL_THREAD_ID_SHIFT
TL_LOCK_COUNT_SHIFT
static final int TL_LOCK_COUNT_SHIFT
TL_STAT_SHIFT
static final int TL_STAT_SHIFT
TL_LOCK_ID_SHIFT
static final int TL_LOCK_ID_SHIFT
TL_DEDICATED_U16_OFFSET
static final int TL_DEDICATED_U16_OFFSET
- See Also:
- Constant Field Values
TL_DEDICATED_U16_SHIFT
static final int TL_DEDICATED_U16_SHIFT
- See Also:
- Constant Field Values
TL_LOCK_COUNT_UNIT
static final Word TL_LOCK_COUNT_UNIT
TL_LOCK_COUNT_MASK
static final Word TL_LOCK_COUNT_MASK
TL_THREAD_ID_MASK
static final Word TL_THREAD_ID_MASK
TL_LOCK_ID_MASK
static final Word TL_LOCK_ID_MASK
TL_STAT_MASK
static final Word TL_STAT_MASK
TL_UNLOCK_MASK
static final Word TL_UNLOCK_MASK
TL_STAT_BIASABLE
static final Word TL_STAT_BIASABLE
TL_STAT_THIN
static final Word TL_STAT_THIN
TL_STAT_FAT
static final Word TL_STAT_FAT