diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2017-03-02 02:00:41 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2017-03-08 21:38:37 +0000 |
commit | be9df8bfa22cf5a7164f4f3deba44cdbd2b8e7cf (patch) | |
tree | f4a9153a9613f375f3a7dc15fb274a528a1269ed /storage | |
parent | 72e9888bcccbc384d2485409ba055633131ed512 (diff) |
Implement a default destructor to avoid the automatic inlining of large destructors.
Diffstat (limited to 'storage')
5 files changed, 22 insertions, 12 deletions
diff --git a/storage/src/vespa/storage/bucketdb/storagebucketdbinitializer.cpp b/storage/src/vespa/storage/bucketdb/storagebucketdbinitializer.cpp index abe14abe4c5..79dde3f839a 100644 --- a/storage/src/vespa/storage/bucketdb/storagebucketdbinitializer.cpp +++ b/storage/src/vespa/storage/bucketdb/storagebucketdbinitializer.cpp @@ -106,6 +106,8 @@ StorageBucketDBInitializer::Metrics::Metrics(framework::Component& component) component.registerMetric(*this); } +StorageBucketDBInitializer::Metrics::~Metrics() {} + StorageBucketDBInitializer::GlobalState::GlobalState() : _insertedCount(0), _infoReadCount(0), _infoSetByLoad(0), _dirsListed(0), _dirsToList(0), diff --git a/storage/src/vespa/storage/bucketdb/storagebucketdbinitializer.h b/storage/src/vespa/storage/bucketdb/storagebucketdbinitializer.h index a0f4345a2a6..5190be426a5 100644 --- a/storage/src/vespa/storage/bucketdb/storagebucketdbinitializer.h +++ b/storage/src/vespa/storage/bucketdb/storagebucketdbinitializer.h @@ -98,6 +98,7 @@ class StorageBucketDBInitializer : public StorageLink, metrics::LongAverageMetric _initLatency; Metrics(framework::Component&); + ~Metrics(); }; struct GlobalState { vespalib::hash_map<api::StorageMessage::Id, ReadBucketList::SP> _lists; diff --git a/storage/src/vespa/storage/persistence/splitbitdetector.cpp b/storage/src/vespa/storage/persistence/splitbitdetector.cpp index 1d32a751f34..1749df09d28 100644 --- a/storage/src/vespa/storage/persistence/splitbitdetector.cpp +++ b/storage/src/vespa/storage/persistence/splitbitdetector.cpp @@ -53,18 +53,8 @@ struct BucketVisitor : public BucketProcessor::EntryProcessor { }; std::vector<DocInfo> _firstDocs; - BucketVisitor(const document::BucketIdFactory& factory) - : _factory(factory), _splitBit(58), - _splitMask(0), _refId(), _refBucket(), - _conflictId(), _conflictBucket(), - _docCount(0), _docSize(0), _firstDocs() - { - _firstDocs.reserve(keepFirstCount); - // LOG(spam, "Checking out meta entries in bucket"); - for (uint32_t i=0; i<_splitBit; ++i) { - _splitMask = (_splitMask << 1) | 1; - } - } + BucketVisitor(const document::BucketIdFactory& factory); + ~BucketVisitor(); void process(spi::DocEntry& slot) { assert(slot.getDocumentId()); @@ -106,6 +96,20 @@ struct BucketVisitor : public BucketProcessor::EntryProcessor { }; +BucketVisitor::BucketVisitor(const document::BucketIdFactory& factory) + : _factory(factory), _splitBit(58), + _splitMask(0), _refId(), _refBucket(), + _conflictId(), _conflictBucket(), + _docCount(0), _docSize(0), _firstDocs() +{ + _firstDocs.reserve(keepFirstCount); + // LOG(spam, "Checking out meta entries in bucket"); + for (uint32_t i=0; i<_splitBit; ++i) { + _splitMask = (_splitMask << 1) | 1; + } +} +BucketVisitor::~BucketVisitor() { } + bool smallerThanSizeLimit(uint32_t minCount, uint32_t minSize, diff --git a/storage/src/vespa/storage/visiting/visitor.cpp b/storage/src/vespa/storage/visiting/visitor.cpp index 9419f9e2034..30bf3fe9757 100644 --- a/storage/src/vespa/storage/visiting/visitor.cpp +++ b/storage/src/vespa/storage/visiting/visitor.cpp @@ -229,6 +229,8 @@ Visitor::VisitorTarget::VisitorTarget() { } +Visitor::VisitorTarget::~VisitorTarget() {} + Visitor::Visitor(StorageComponent& component) : _component(component), _visitorOptions(), diff --git a/storage/src/vespa/storage/visiting/visitor.h b/storage/src/vespa/storage/visiting/visitor.h index b4686c8f7f0..87b894a6d2c 100644 --- a/storage/src/vespa/storage/visiting/visitor.h +++ b/storage/src/vespa/storage/visiting/visitor.h @@ -272,6 +272,7 @@ private: } VisitorTarget(); + ~VisitorTarget(); }; protected: |