1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00

OnDiskHashTable: Audit types and use offset_type consistently

llvm-svn: 206675
This commit is contained in:
Justin Bogner 2014-04-19 00:33:15 +00:00
parent 9db8945e3b
commit 40987a4daf
3 changed files with 13 additions and 12 deletions

View File

@ -227,11 +227,11 @@ public:
return std::make_pair(KeyLen, DataLen);
}
StringRef ReadKey(const unsigned char *D, unsigned N) {
StringRef ReadKey(const unsigned char *D, offset_type N) {
return StringRef((const char *)D, N);
}
InstrProfRecord ReadData(StringRef K, const unsigned char *D, unsigned N) {
InstrProfRecord ReadData(StringRef K, const unsigned char *D, offset_type N) {
if (N < 2 * sizeof(uint64_t) || N % sizeof(uint64_t)) {
// The data is corrupt, don't try to read it.
CountBuffer.clear();

View File

@ -48,10 +48,11 @@ namespace llvm {
/// static std::pair<offset_type, offset_type>
/// EmitKeyDataLength(raw_ostream &Out, key_type_ref Key, data_type_ref Data);
/// /// Write Key to Out. KeyLen is the length from EmitKeyDataLength.
/// static void EmitKey(raw_ostream &Out, key_type_ref Key, unsigned KeyLen);
/// static void EmitKey(raw_ostream &Out, key_type_ref Key,
/// offset_type KeyLen);
/// /// Write Data to Out. DataLen is the length from EmitKeyDataLength.
/// static void EmitData(raw_ostream &Out, key_type_ref Key,
/// data_type_ref Data, unsigned DataLen);
/// data_type_ref Data, offset_type DataLen);
/// };
/// \endcode
template <typename Info> class OnDiskChainedHashTableGenerator {
@ -227,11 +228,11 @@ public:
/// /// Read the key from Buffer, given the KeyLen as reported from
/// /// ReadKeyDataLength.
/// const internal_key_type &ReadKey(const unsigned char *Buffer,
/// unsigned KeyLen);
/// offset_type KeyLen);
/// /// Read the data for Key from Buffer, given the DataLen as reported from
/// /// ReadKeyDataLength.
/// data_type ReadData(StringRef Key, const unsigned char *Buffer,
/// unsigned DataLen);
/// offset_type DataLen);
/// };
/// \endcode
template <typename Info> class OnDiskChainedHashTable {
@ -268,12 +269,12 @@ public:
class iterator {
internal_key_type Key;
const unsigned char *const Data;
const unsigned Len;
const offset_type Len;
Info *InfoObj;
public:
iterator() : Data(0), Len(0) {}
iterator(const internal_key_type K, const unsigned char *D, unsigned L,
iterator(const internal_key_type K, const unsigned char *D, offset_type L,
Info *InfoObj)
: Key(K), Data(D), Len(L), InfoObj(InfoObj) {}

View File

@ -42,21 +42,21 @@ public:
using namespace llvm::support;
endian::Writer<little> LE(Out);
unsigned N = K.size();
offset_type N = K.size();
LE.write<offset_type>(N);
unsigned M = (1 + V.Counts.size()) * sizeof(uint64_t);
offset_type M = (1 + V.Counts.size()) * sizeof(uint64_t);
LE.write<offset_type>(M);
return std::make_pair(N, M);
}
static void EmitKey(raw_ostream &Out, key_type_ref K, unsigned N){
static void EmitKey(raw_ostream &Out, key_type_ref K, offset_type N){
Out.write(K.data(), N);
}
static void EmitData(raw_ostream &Out, key_type_ref, data_type_ref V,
unsigned) {
offset_type) {
using namespace llvm::support;
endian::Writer<little> LE(Out);
LE.write<uint64_t>(V.Hash);