[CLANG UPDATE!] Update uses of OnDiskChainedHashTable to the

OnDiskIterableChainedHashTable interface introduced in CFE 206189.

Thanks to Justin for guiding me through this!

Swift SVN r16337
This commit is contained in:
Adrian Prantl
2014-04-14 22:33:12 +00:00
parent 679077305f
commit ada9ebb7a9
4 changed files with 14 additions and 11 deletions

View File

@@ -38,8 +38,7 @@ namespace llvm {
// This template should eventually move to llvm/Support. // This template should eventually move to llvm/Support.
namespace clang { namespace clang {
template <typename Info> template <typename Info> class OnDiskIterableChainedHashTable;
class OnDiskChainedHashTable;
} }
namespace swift { namespace swift {
@@ -213,7 +212,8 @@ private:
std::vector<SerializedIdentifier> Identifiers; std::vector<SerializedIdentifier> Identifiers;
class DeclTableInfo; class DeclTableInfo;
using SerializedDeclTable = clang::OnDiskChainedHashTable<DeclTableInfo>; using SerializedDeclTable =
clang::OnDiskIterableChainedHashTable<DeclTableInfo>;
std::unique_ptr<SerializedDeclTable> TopLevelDecls; std::unique_ptr<SerializedDeclTable> TopLevelDecls;
std::unique_ptr<SerializedDeclTable> OperatorDecls; std::unique_ptr<SerializedDeclTable> OperatorDecls;
@@ -231,7 +231,7 @@ private:
class DeclCommentTableInfo; class DeclCommentTableInfo;
using SerializedDeclCommentTable = using SerializedDeclCommentTable =
clang::OnDiskChainedHashTable<DeclCommentTableInfo>; clang::OnDiskIterableChainedHashTable<DeclCommentTableInfo>;
std::unique_ptr<SerializedDeclCommentTable> DeclCommentTable; std::unique_ptr<SerializedDeclCommentTable> DeclCommentTable;

View File

@@ -172,7 +172,8 @@ SILDeserializer::readFuncTable(ArrayRef<uint64_t> fields, StringRef blobData) {
auto base = reinterpret_cast<const uint8_t *>(blobData.data()); auto base = reinterpret_cast<const uint8_t *>(blobData.data());
using OwnedTable = std::unique_ptr<SerializedFuncTable>; using OwnedTable = std::unique_ptr<SerializedFuncTable>;
return OwnedTable(SerializedFuncTable::Create(base + tableOffset, base)); return OwnedTable(SerializedFuncTable::Create(base + tableOffset,
base + sizeof(uint32_t), base));
} }
/// A high-level overview of how forward references work in serializer and /// A high-level overview of how forward references work in serializer and

View File

@@ -19,8 +19,7 @@
// This template should eventually move to llvm/Support. // This template should eventually move to llvm/Support.
namespace clang { namespace clang {
template <typename Info> template <typename Info> class OnDiskIterableChainedHashTable;
class OnDiskChainedHashTable;
} }
namespace swift { namespace swift {
@@ -34,7 +33,8 @@ namespace swift {
llvm::BitstreamCursor SILIndexCursor; llvm::BitstreamCursor SILIndexCursor;
class FuncTableInfo; class FuncTableInfo;
using SerializedFuncTable = clang::OnDiskChainedHashTable<FuncTableInfo>; using SerializedFuncTable =
clang::OnDiskIterableChainedHashTable<FuncTableInfo>;
std::unique_ptr<SerializedFuncTable> FuncTable; std::unique_ptr<SerializedFuncTable> FuncTable;
std::vector<ModuleFile::PartiallySerialized<SILFunction*>> Funcs; std::vector<ModuleFile::PartiallySerialized<SILFunction*>> Funcs;

View File

@@ -245,7 +245,8 @@ ModuleFile::readDeclTable(ArrayRef<uint64_t> fields, StringRef blobData) {
auto base = reinterpret_cast<const uint8_t *>(blobData.data()); auto base = reinterpret_cast<const uint8_t *>(blobData.data());
using OwnedTable = std::unique_ptr<SerializedDeclTable>; using OwnedTable = std::unique_ptr<SerializedDeclTable>;
return OwnedTable(SerializedDeclTable::Create(base + tableOffset, base)); return OwnedTable(SerializedDeclTable::Create(base + tableOffset,
base + sizeof(uint32_t), base));
} }
static Optional<KnownProtocolKind> getActualKnownProtocol(unsigned rawKind) { static Optional<KnownProtocolKind> getActualKnownProtocol(unsigned rawKind) {
@@ -437,8 +438,9 @@ ModuleFile::readDeclCommentTable(ArrayRef<uint64_t> fields,
auto base = reinterpret_cast<const uint8_t *>(blobData.data()); auto base = reinterpret_cast<const uint8_t *>(blobData.data());
return std::unique_ptr<SerializedDeclCommentTable>( return std::unique_ptr<SerializedDeclCommentTable>(
SerializedDeclCommentTable::Create(base + tableOffset, base, SerializedDeclCommentTable::Create(base + tableOffset,
DeclCommentTableInfo(*this))); base + sizeof(uint32_t), base,
DeclCommentTableInfo(*this)));
} }
bool ModuleFile::readCommentBlock(llvm::BitstreamCursor &cursor) { bool ModuleFile::readCommentBlock(llvm::BitstreamCursor &cursor) {