summaryrefslogtreecommitdiffstats
path: root/vespalib
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@broadpark.no>2019-08-23 15:06:13 +0200
committerTor Egge <Tor.Egge@broadpark.no>2019-08-23 15:06:13 +0200
commitec52287f15d6304b44976d77a94590df0a6a7498 (patch)
tree92bc41699ee062b0188ab9fe70569a9d45f88bd4 /vespalib
parent47e665c14670b193fafab3ec47e5e6ed3e13bf5e (diff)
Add workaround for use of deprecated AlignedEntryRefT.
Diffstat (limited to 'vespalib')
-rw-r--r--vespalib/src/vespa/vespalib/datastore/datastore.hpp5
-rw-r--r--vespalib/src/vespa/vespalib/datastore/entryref.h4
-rw-r--r--vespalib/src/vespa/vespalib/datastore/unique_store_saver.h4
-rw-r--r--vespalib/src/vespa/vespalib/datastore/unique_store_saver.hpp6
4 files changed, 11 insertions, 8 deletions
diff --git a/vespalib/src/vespa/vespalib/datastore/datastore.hpp b/vespalib/src/vespa/vespalib/datastore/datastore.hpp
index 40a00c68774..0e4d1bbe652 100644
--- a/vespalib/src/vespa/vespalib/datastore/datastore.hpp
+++ b/vespalib/src/vespa/vespalib/datastore/datastore.hpp
@@ -14,7 +14,7 @@ namespace search::datastore {
template <typename RefT>
DataStoreT<RefT>::DataStoreT()
: DataStoreBase(RefType::numBuffers(),
- RefType::offsetSize() / RefType::align(1))
+ RefType::unscaled_offset_size())
{
}
@@ -39,8 +39,7 @@ DataStoreT<RefT>::freeElem(EntryRef ref, size_t numElems)
}
state.incDeadElems(numElems);
state.cleanHold(getBuffer(intRef.bufferId()),
- (intRef.offset() / RefType::align(1)) *
- state.getArraySize(), numElems);
+ intRef.unscaled_offset() * state.getArraySize(), numElems);
}
template <typename RefT>
diff --git a/vespalib/src/vespa/vespalib/datastore/entryref.h b/vespalib/src/vespa/vespalib/datastore/entryref.h
index 9b265abafd3..c65e788637f 100644
--- a/vespalib/src/vespa/vespalib/datastore/entryref.h
+++ b/vespalib/src/vespa/vespalib/datastore/entryref.h
@@ -40,6 +40,10 @@ public:
static size_t align(size_t val) { return val; }
static size_t pad(size_t val) { (void) val; return 0ul; }
static constexpr bool isAlignedType = false;
+ // TODO: Remove following temporary methods when removing
+ // AlignedEntryRefT
+ size_t unscaled_offset() const { return offset(); }
+ static size_t unscaled_offset_size() { return offsetSize(); }
};
/**
diff --git a/vespalib/src/vespa/vespalib/datastore/unique_store_saver.h b/vespalib/src/vespa/vespalib/datastore/unique_store_saver.h
index d4543cc7d43..d90f6dab16b 100644
--- a/vespalib/src/vespa/vespalib/datastore/unique_store_saver.h
+++ b/vespalib/src/vespa/vespalib/datastore/unique_store_saver.h
@@ -38,8 +38,8 @@ public:
uint32_t mapEntryRefToEnumValue(EntryRef ref) const {
if (ref.valid()) {
RefType iRef(ref);
- assert(iRef.offset() < _enumValues[iRef.bufferId()].size());
- uint32_t enumValue = _enumValues[iRef.bufferId()][iRef.offset()];
+ assert(iRef.unscaled_offset() < _enumValues[iRef.bufferId()].size());
+ uint32_t enumValue = _enumValues[iRef.bufferId()][iRef.unscaled_offset()];
assert(enumValue != 0);
return enumValue;
} else {
diff --git a/vespalib/src/vespa/vespalib/datastore/unique_store_saver.hpp b/vespalib/src/vespa/vespalib/datastore/unique_store_saver.hpp
index c29477525c0..f6f258f57da 100644
--- a/vespalib/src/vespa/vespalib/datastore/unique_store_saver.hpp
+++ b/vespalib/src/vespa/vespalib/datastore/unique_store_saver.hpp
@@ -26,8 +26,8 @@ UniqueStoreSaver<EntryT, RefT>::enumerateValue(EntryRef ref)
{
RefType iRef(ref);
assert(iRef.valid());
- assert(iRef.offset() < _enumValues[iRef.bufferId()].size());
- uint32_t &enumVal = _enumValues[iRef.bufferId()][iRef.offset()];
+ assert(iRef.unscaled_offset() < _enumValues[iRef.bufferId()].size());
+ uint32_t &enumVal = _enumValues[iRef.bufferId()][iRef.unscaled_offset()];
assert(enumVal == 0u);
enumVal = _next_enum_val;
++_next_enum_val;
@@ -41,7 +41,7 @@ UniqueStoreSaver<EntryT, RefT>::enumerateValues()
for (uint32_t bufferId = 0; bufferId < RefType::numBuffers(); ++bufferId) {
const BufferState &state = _store.getBufferState(bufferId);
if (state.isActive()) {
- _enumValues[bufferId].resize(state.size());
+ _enumValues[bufferId].resize(state.size() / state.getArraySize());
}
}
_next_enum_val = 1;