summaryrefslogtreecommitdiffstats
path: root/searchlib/src
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-03-28 15:13:24 +0200
committerGitHub <noreply@github.com>2022-03-28 15:13:24 +0200
commitcef4316c3f87edd7ca747d3edb9b7b6f86dc31c9 (patch)
tree7365dcdb82afc7af5929f956a7b44a6bb59ba63c /searchlib/src
parent7fb3fa5e290a415bbd2284b4c921309c3e597ce3 (diff)
parent167c6b72ade25bbff91aa2eecd1c03af28b8afcc (diff)
Merge pull request #21849 from vespa-engine/toregge/use-acquire-elem-ref-in-predicate-attribute
Use acquire_elem_ref() in predicate attribute.
Diffstat (limited to 'searchlib/src')
-rw-r--r--searchlib/src/vespa/searchlib/attribute/predicate_attribute.h5
-rw-r--r--searchlib/src/vespa/searchlib/predicate/simple_index.h6
2 files changed, 7 insertions, 4 deletions
diff --git a/searchlib/src/vespa/searchlib/attribute/predicate_attribute.h b/searchlib/src/vespa/searchlib/attribute/predicate_attribute.h
index 0d2931a1f04..40823faff8a 100644
--- a/searchlib/src/vespa/searchlib/attribute/predicate_attribute.h
+++ b/searchlib/src/vespa/searchlib/attribute/predicate_attribute.h
@@ -63,11 +63,12 @@ public:
* The pointer is only guaranteed to be valid for as long as you hold the attribute guard.
**/
MinFeatureHandle getMinFeatureVector() const {
- return MinFeatureHandle(&_min_feature[0], getNumDocs());
+ const auto* min_feature_vector = &_min_feature.acquire_elem_ref(0);
+ return MinFeatureHandle(min_feature_vector, getNumDocs());
}
const IntervalRange * getIntervalRangeVector() const {
- return &_interval_range_vector[0];
+ return &_interval_range_vector.acquire_elem_ref(0);
}
IntervalRange getMaxIntervalRange() const {
diff --git a/searchlib/src/vespa/searchlib/predicate/simple_index.h b/searchlib/src/vespa/searchlib/predicate/simple_index.h
index 25ba76ce7c4..df3d0686e82 100644
--- a/searchlib/src/vespa/searchlib/predicate/simple_index.h
+++ b/searchlib/src/vespa/searchlib/predicate/simple_index.h
@@ -88,8 +88,10 @@ public:
PostingVectorIterator(const PostingVectorIterator&) = default;
PostingVectorIterator& operator=(const PostingVectorIterator&) = default;
- explicit PostingVectorIterator(const PostingVector & vector, size_t size) :
- _vector(&vector[0]), _size(size) {
+ explicit PostingVectorIterator(const PostingVector & vector, size_t size)
+ : _vector(&vector.acquire_elem_ref(0)),
+ _size(size)
+ {
assert(_size <= vector.size());
linearSeek(1);
}