/** * Just like {@link #release(Object)} but also disable debug tracking of the release. * @return true if release was done */ public static boolean releaseWithNoTracking(@Released Object o) { if (o instanceof MemoryChunkWithRefCount) { ReferenceCountHelper.skipRefCountTracking(); ((MemoryChunkWithRefCount) o).release(); ReferenceCountHelper.unskipRefCountTracking(); return true; } else { return false; } }
/** @return false if entry doesn't exist */ public boolean setOldValueFromRegion() { try { RegionEntry re = this.region.getRegionEntry(getKey()); if (re == null) return false; ReferenceCountHelper.skipRefCountTracking(); Object v = re._getValueRetain(this.region, true); ReferenceCountHelper.unskipRefCountTracking(); try { return setOldValue(v); } finally { OffHeapHelper.releaseWithNoTracking(v); } } catch (EntryNotFoundException ex) { return false; } }
private boolean satisfiesExpectedOldValue(EntryEventImpl event, RegionEntry re, Object expectedOldValue, boolean replaceOnClient) { // replace is propagated to server, so no need to check // satisfiesOldValue on client if (expectedOldValue != null && !replaceOnClient) { ReferenceCountHelper.skipRefCountTracking(); @Retained @Released Object v = re._getValueRetain(event.getLocalRegion(), true); ReferenceCountHelper.unskipRefCountTracking(); try { if (!AbstractRegionEntry.checkExpectedOldValue(expectedOldValue, v, event.getLocalRegion())) { return false; } } finally { OffHeapHelper.releaseWithNoTracking(v); } } return true; }
boolean result = entry != null; if (result) { ReferenceCountHelper.skipRefCountTracking();
|| GemFireCacheImpl.sqlfSystem()) { ReferenceCountHelper.skipRefCountTracking(); @Released Object oldValueInVMOrDisk = re.getValueOffHeapOrDiskWithoutFaultIn(event.getLocalRegion()); ReferenceCountHelper.unskipRefCountTracking(); ReferenceCountHelper.skipRefCountTracking();
byte userBits = 0; long oplogOffset = did.getOffsetInOplog(); ReferenceCountHelper.skipRefCountTracking();
ReferenceCountHelper.skipRefCountTracking(); @Retained @Released Object curValue = _getValueRetain(region, true); ReferenceCountHelper.unskipRefCountTracking();