From 9b782c4ec2668efff66378623ba7adfb669bf654 Mon Sep 17 00:00:00 2001 From: leventov Date: Sat, 2 Jan 2016 16:10:27 +0300 Subject: [PATCH] Remove prevEntry parameter from CompactOffHeapLinearHashTable.clearEntry(), writeEntry() and writeEntryVolatile() methods, as unneeded --- .../hash/impl/CompactOffHeapLinearHashTable.java | 15 ++++++--------- .../impl/IntCompactOffHeapLinearHashTable.java | 8 ++++---- .../impl/LongCompactOffHeapLinearHashTable.java | 8 ++++---- .../hash/impl/stage/entry/HashLookupSearch.java | 3 +-- .../map/impl/stage/entry/MapEntryStages.java | 3 +-- 5 files changed, 16 insertions(+), 21 deletions(-) diff --git a/src/main/java/net/openhft/chronicle/hash/impl/CompactOffHeapLinearHashTable.java b/src/main/java/net/openhft/chronicle/hash/impl/CompactOffHeapLinearHashTable.java index 68d4e705c..34a1443e8 100644 --- a/src/main/java/net/openhft/chronicle/hash/impl/CompactOffHeapLinearHashTable.java +++ b/src/main/java/net/openhft/chronicle/hash/impl/CompactOffHeapLinearHashTable.java @@ -135,24 +135,22 @@ public abstract class CompactOffHeapLinearHashTable { public abstract long readEntry(long addr, long pos); - public abstract void writeEntryVolatile( - long addr, long pos, long prevEntry, long key, long value); + public abstract void writeEntryVolatile(long addr, long pos, long key, long value); public void putValueVolatile(long addr, long pos, long value) { checkValueForPut(value); long currentEntry = readEntry(addr, pos); - writeEntryVolatile(addr, pos, currentEntry, key(currentEntry), value); + writeEntryVolatile(addr, pos, key(currentEntry), value); } - abstract void writeEntry(long addr, long pos, long prevEntry, long anotherEntry); + abstract void writeEntry(long addr, long pos, long newEntry); - abstract void clearEntry(long addr, long pos, long prevEntry); + abstract void clearEntry(long addr, long pos); /** * Returns "insert" position in terms of consequent putValue() */ public long remove(long addr, long posToRemove) { - long entryToRemove = readEntry(addr, posToRemove); long posToShift = posToRemove; while (true) { posToShift = step(posToShift); @@ -171,12 +169,11 @@ public abstract class CompactOffHeapLinearHashTable { if ((cond1 && cond2) || // chain wrapped around capacity (posToShift < insertPos && (cond1 || cond2))) { - writeEntry(addr, posToRemove, entryToRemove, entryToShift); + writeEntry(addr, posToRemove, entryToShift); posToRemove = posToShift; - entryToRemove = entryToShift; } } - clearEntry(addr, posToRemove, entryToRemove); + clearEntry(addr, posToRemove); return posToRemove; } } diff --git a/src/main/java/net/openhft/chronicle/hash/impl/IntCompactOffHeapLinearHashTable.java b/src/main/java/net/openhft/chronicle/hash/impl/IntCompactOffHeapLinearHashTable.java index 778220add..5bb0e1c68 100644 --- a/src/main/java/net/openhft/chronicle/hash/impl/IntCompactOffHeapLinearHashTable.java +++ b/src/main/java/net/openhft/chronicle/hash/impl/IntCompactOffHeapLinearHashTable.java @@ -47,17 +47,17 @@ public final class IntCompactOffHeapLinearHashTable extends CompactOffHeapLinear } @Override - public void writeEntryVolatile(long addr, long pos, long prevEntry, long key, long value) { + public void writeEntryVolatile(long addr, long pos, long key, long value) { OS.memory().writeVolatileInt(null, addr + pos, (int) entry(key, value)); } @Override - void writeEntry(long addr, long pos, long prevEntry, long anotherEntry) { - OS.memory().writeInt(addr + pos, (int) anotherEntry); + void writeEntry(long addr, long pos, long newEntry) { + OS.memory().writeInt(addr + pos, (int) newEntry); } @Override - void clearEntry(long addr, long pos, long prevEntry) { + void clearEntry(long addr, long pos) { OS.memory().writeInt(addr + pos, 0); } } diff --git a/src/main/java/net/openhft/chronicle/hash/impl/LongCompactOffHeapLinearHashTable.java b/src/main/java/net/openhft/chronicle/hash/impl/LongCompactOffHeapLinearHashTable.java index 07735444c..8b1365fce 100644 --- a/src/main/java/net/openhft/chronicle/hash/impl/LongCompactOffHeapLinearHashTable.java +++ b/src/main/java/net/openhft/chronicle/hash/impl/LongCompactOffHeapLinearHashTable.java @@ -47,17 +47,17 @@ public final class LongCompactOffHeapLinearHashTable extends CompactOffHeapLinea } @Override - public void writeEntryVolatile(long addr, long pos, long prevEntry, long key, long value) { + public void writeEntryVolatile(long addr, long pos, long key, long value) { OS.memory().writeVolatileLong(null, addr + pos, entry(key, value)); } @Override - void writeEntry(long addr, long pos, long prevEntry, long anotherEntry) { - OS.memory().writeLong(addr + pos, anotherEntry); + void writeEntry(long addr, long pos, long newEntry) { + OS.memory().writeLong(addr + pos, newEntry); } @Override - void clearEntry(long addr, long pos, long prevEntry) { + void clearEntry(long addr, long pos) { OS.memory().writeLong(addr + pos, 0L); } } diff --git a/src/main/java/net/openhft/chronicle/hash/impl/stage/entry/HashLookupSearch.java b/src/main/java/net/openhft/chronicle/hash/impl/stage/entry/HashLookupSearch.java index 47ddf7295..08e7c4465 100644 --- a/src/main/java/net/openhft/chronicle/hash/impl/stage/entry/HashLookupSearch.java +++ b/src/main/java/net/openhft/chronicle/hash/impl/stage/entry/HashLookupSearch.java @@ -94,8 +94,7 @@ public abstract class HashLookupSearch { } hl().checkValueForPut(entryPos); - long currentEntry = hl().readEntry(addr(), hlp.hashLookupPos); - hl().writeEntryVolatile(addr(), hlp.hashLookupPos, currentEntry, searchKey, entryPos); + hl().writeEntryVolatile(addr(), hlp.hashLookupPos, searchKey, entryPos); } public boolean checkSlotContainsExpectedKeyAndValue(long value) { diff --git a/src/main/java/net/openhft/chronicle/map/impl/stage/entry/MapEntryStages.java b/src/main/java/net/openhft/chronicle/map/impl/stage/entry/MapEntryStages.java index b8e8f4078..7cb51c055 100644 --- a/src/main/java/net/openhft/chronicle/map/impl/stage/entry/MapEntryStages.java +++ b/src/main/java/net/openhft/chronicle/map/impl/stage/entry/MapEntryStages.java @@ -228,8 +228,7 @@ public abstract class MapEntryStages extends HashEntryStages CompactOffHeapLinearHashTable hl = hh.h().hashLookup; long oldEntry = hl.readEntry(oldHashLookupAddr, oldHashLookupPos); hl.checkValueForPut(pos); - hl.writeEntryVolatile(s.tierBaseAddr, hlp.hashLookupPos, - oldEntry, hl.key(oldEntry), pos); + hl.writeEntryVolatile(s.tierBaseAddr, hlp.hashLookupPos, hl.key(oldEntry), pos); if (tierHasChanged) hl.remove(oldHashLookupAddr, oldHashLookupPos); }