/** * @param addr Address. * @param off Offset. * @param len Length. */ public static void zeroMemory(long addr, int off, int len) { GridUnsafe.setMemory(addr + off, len, (byte)0); } }
/** * Creates map in preallocated unsafe memory segment. * * @param baseAddr Base buffer address. * @param size Size available for map, number of buckets (cells) to store will be determined accordingly. */ public RobinHoodBackwardShiftHashMap(long baseAddr, long size) { this.numBuckets = (int)((size - MAPSIZE_SIZE - MAPSIZE_PADDING) / BYTES_PER_CELL); this.baseAddr = baseAddr; GridUnsafe.setMemory(baseAddr, size, (byte)0); }
/** * */ public void clear() { GridUnsafe.setMemory(valPtr, (long)capacity * BYTES_PER_ENTRY + 8, (byte)0); }
/** * @param ptr Pointer. * @param size Count of long values to fill. * @param b Value. */ public void fill(long ptr, long size, byte b) { GridUnsafe.setMemory(ptr, size, b); }
/** {@inheritDoc} */ @Override public void start() throws IgniteException { trackingArrPtr = GridUnsafe.allocateMemory(trackingSize * 8); GridUnsafe.setMemory(trackingArrPtr, trackingSize * 8, (byte)0); }
/** {@inheritDoc} */ @Override public void start() throws IgniteException { trackingArrPtr = GridUnsafe.allocateMemory(trackingSize * 4); GridUnsafe.setMemory(trackingArrPtr, trackingSize * 4, (byte)0); }
/** * Will zero memory in buf * @param buf Buffer. * @param off Offset. * @param len Length. */ public static void zeroMemory(ByteBuffer buf, int off, int len) { if (buf.isDirect()) GridUnsafe.setMemory(GridUnsafe.bufferAddress(buf) + off, len, (byte)0); else { for (int i = off; i < off + len; i++) buf.put(i, (byte)0); //TODO Optimize! } }
/** * Allocate pool memory. * * @return Pool pointer. */ public static long allocatePool() { long poolPtr = GridUnsafe.allocateMemory(POOL_HDR_LEN); GridUnsafe.setMemory(poolPtr, POOL_HDR_LEN, (byte)0); flags(poolPtr + POOL_HDR_OFF_MEM_1, FLAG_POOLED); flags(poolPtr + POOL_HDR_OFF_MEM_2, FLAG_POOLED); flags(poolPtr + POOL_HDR_OFF_MEM_3, FLAG_POOLED); return poolPtr; }
GridUnsafe.setMemory(absPtr + PAGE_OVERHEAD, pageSize, (byte)0);
GridUnsafe.setMemory(tmpAbsPtr + PAGE_OVERHEAD, pageSize(), (byte)0);
GridUnsafe.setMemory(absPtr + PAGE_OVERHEAD, sysPageSize - PAGE_OVERHEAD, (byte)0);
GridUnsafe.setMemory(absPtr + PAGE_OVERHEAD, pageSize(), (byte)0);
/** * @param ptr Pointer. * @param size Count of long values to fill. * @param b Value. */ public void fill(long ptr, long size, byte b) { GridUnsafe.setMemory(ptr, size, b); }
/** * Creates map in preallocated unsafe memory segment. * * @param baseAddr Base buffer address. * @param size Size available for map, number of buckets (cells) to store will be determined accordingly. */ public RobinHoodBackwardShiftHashMap(long baseAddr, long size) { this.numBuckets = (int)((size - MAPSIZE_SIZE - MAPSIZE_PADDING) / BYTES_PER_CELL); this.baseAddr = baseAddr; GridUnsafe.setMemory(baseAddr, size, (byte)0); }
/** * */ public void clear() { GridUnsafe.setMemory(valPtr, (long)capacity * BYTES_PER_ENTRY + 8, (byte)0); }
/** * @param addr Address. * @param off Offset. * @param len Length. */ public static void zeroMemory(long addr, int off, int len) { GridUnsafe.setMemory(addr + off, len, (byte)0); } }
/** {@inheritDoc} */ @Override public void start() throws IgniteException { trackingArrPtr = GridUnsafe.allocateMemory(trackingSize * 8); GridUnsafe.setMemory(trackingArrPtr, trackingSize * 8, (byte)0); }
/** {@inheritDoc} */ @Override public void start() throws IgniteException { trackingArrPtr = GridUnsafe.allocateMemory(trackingSize * 4); GridUnsafe.setMemory(trackingArrPtr, trackingSize * 4, (byte)0); }