VM._assert((VM_Scheduler.locks.length-1<=(VM_ThinLockConstants.TL_LOCK_ID_MASK>>>VM_ThinLockConstants.TL_LOCK_ID_SHIFT)) || (VM_ThinLockConstants.TL_LOCK_ID_MASK==-1));
VM._assert((VM_Scheduler.locks.length-1<=VM_ThinLockConstants.TL_LOCK_ID_MASK.rshl(VM_ThinLockConstants.TL_LOCK_ID_SHIFT).toInt()) || VM_ThinLockConstants.TL_LOCK_ID_MASK.EQ(VM_Word.fromIntSignExtend(-1)));
  static void init() throws VM_PragmaInterruptible {    lockAllocationMutex = new VM_ProcessorLock();    VM_Scheduler.locks  = new VM_Lock[INIT_LOCKS+1]; // don't use slot 0    if (VM.VerifyAssertions) // check that each potential lock is addressable      VM._assert((VM_Scheduler.locks.length-1<=(VM_ThinLockConstants.TL_LOCK_ID_MASK>>>VM_ThinLockConstants.TL_LOCK_ID_SHIFT))                || (VM_ThinLockConstants.TL_LOCK_ID_MASK==-1));  }