Unsafe.debug("initialize.");
	private final static void initialize() {		Unsafe.debug("initialize.");				startPtr = blockAlign(Unsafe.addressToLong(Unsafe.getMemoryStart()), true);		endPtr = blockAlign(Unsafe.addressToLong(Unsafe.getMemoryEnd()), false);		final long size = endPtr - startPtr;		Unsafe.debug(size);		blockCount = (size >>> BLOCK_SIZE_SHIFT);		// Create a lock (4 bytes) and usage bitmap at the front of the memory region		final long rawBitmapSize = (blockCount >>> 3);		final long bitmapSize = blockAlign(4 + rawBitmapSize, true);		lockPtr = Unsafe.longToAddress(startPtr);		bitmapPtr = Unsafe.longToAddress(startPtr + 4);		// Clear the lock & bitmap size		clear(lockPtr, bitmapSize);		// Now shift the startptr.		startPtr += bitmapSize;		blockCount -= bitmapSize >>> BLOCK_SIZE_SHIFT;		allocatedBlocks = 0;		// Mark as initialized		initialized = true;			Unsafe.debug("Block count ");		Unsafe.debug(blockCount);		//Unsafe.debug("end of initialize.");	}