summaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-03-25 17:50:54 +0100
committerGitHub <noreply@github.com>2021-03-25 17:50:54 +0100
commit7dcb1520105b85473909d081d1ce0e139dfd38c8 (patch)
tree9421e172f2c65b055f5aea2654a4a5fd568c6b32 /searchcore
parentb7b15f6ab97d12f675e180a0ea215500086d08ad (diff)
parent3eb5a5934372f1a8311ef74c922c7995eb8c37f9 (diff)
Merge pull request #17185 from vespa-engine/balder/deinline-expensive-method
Prevent expensive method from being inlined as it hides the cost.
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/vespa/searchcore/proton/matching/query.cpp4
-rw-r--r--searchcore/src/vespa/searchcore/proton/matching/querynodes.h5
2 files changed, 6 insertions, 3 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/matching/query.cpp b/searchcore/src/vespa/searchcore/proton/matching/query.cpp
index 994e26081e7..52274b1be94 100644
--- a/searchcore/src/vespa/searchcore/proton/matching/query.cpp
+++ b/searchcore/src/vespa/searchcore/proton/matching/query.cpp
@@ -101,6 +101,10 @@ GeoLocationSpec process_location_term(ProtonLocationTerm &pterm) {
}
void exchange_location_nodes(const string &location_str,
+ Node::UP &query_tree,
+ std::vector<GeoLocationSpec> &fef_locations) __attribute__((noinline));
+
+void exchange_location_nodes(const string &location_str,
Node::UP &query_tree,
std::vector<GeoLocationSpec> &fef_locations)
{
diff --git a/searchcore/src/vespa/searchcore/proton/matching/querynodes.h b/searchcore/src/vespa/searchcore/proton/matching/querynodes.h
index 6cb608c8f8c..65a236e4e6e 100644
--- a/searchcore/src/vespa/searchcore/proton/matching/querynodes.h
+++ b/searchcore/src/vespa/searchcore/proton/matching/querynodes.h
@@ -98,7 +98,7 @@ struct ProtonTermBase : public Base,
};
template <typename Base>
-struct ProtonTerm : public ProtonTermBase<Base> {
+struct ProtonTerm final : public ProtonTermBase<Base> {
using ProtonTermBase<Base>::ProtonTermBase;
~ProtonTerm();
};
@@ -116,8 +116,7 @@ typedef search::query::SimpleWeakAnd ProtonWeakAnd;
typedef search::query::SimpleSameElement ProtonSameElement;
-struct ProtonEquiv final : public ProtonTermBase<search::query::Equiv>
-{
+struct ProtonEquiv final : public ProtonTermBase<search::query::Equiv> {
search::fef::MatchDataLayout children_mdl;
using ProtonTermBase::ProtonTermBase;
};