Index: net/disk_cache/blockfile/index_table_v3.cc |
diff --git a/net/disk_cache/blockfile/index_table_v3.cc b/net/disk_cache/blockfile/index_table_v3.cc |
index 999d5ac6cbd8cfc456e3d90cd5e09b1c0dbbbdcf..9aff718c117a42bec94de4a1c420f92935e30efa 100644 |
--- a/net/disk_cache/blockfile/index_table_v3.cc |
+++ b/net/disk_cache/blockfile/index_table_v3.cc |
@@ -73,8 +73,7 @@ uint32 GetCellId(const IndexCell& cell) { |
} |
uint32 GetCellSmallTableId(const IndexCell& cell) { |
- return (cell.first_part >> kCellSmallTableIdOffset) & |
- kCellSmallTableIdMask; |
+ return (cell.first_part >> kCellSmallTableIdOffset) & kCellSmallTableIdMask; |
} |
int GetCellTimestamp(const IndexCell& cell) { |
@@ -204,7 +203,8 @@ bool IsNormalState(const IndexCell& cell) { |
state != disk_cache::ENTRY_FIXING; |
} |
-inline int GetNextBucket(int min_bucket_num, int max_bucket_num, |
+inline int GetNextBucket(int min_bucket_num, |
+ int max_bucket_num, |
disk_cache::IndexBucket* table, |
disk_cache::IndexBucket** bucket) { |
if (!(*bucket)->next) |
@@ -245,7 +245,7 @@ void UpdateIterator(const disk_cache::EntryCell& cell, |
iterator->cells.clear(); |
} |
if (time == iterator->timestamp) { |
- CellInfo cell_info = { cell.hash(), cell.GetAddress() }; |
+ CellInfo cell_info = {cell.hash(), cell.GetAddress()}; |
iterator->cells.push_back(cell_info); |
} |
} |
@@ -275,12 +275,12 @@ Addr EntryCell::GetAddress() const { |
int file_number = FileNumberFromLocation(location); |
if (small_table_) { |
DCHECK_EQ(0, file_number); |
- file_number = (GetGroup() == ENTRY_EVICTED) ? kEvictedEntriesFile : |
- kEntriesFile; |
+ file_number = |
+ (GetGroup() == ENTRY_EVICTED) ? kEvictedEntriesFile : kEntriesFile; |
} |
DCHECK_NE(0, file_number); |
- FileType file_type = (GetGroup() == ENTRY_EVICTED) ? BLOCK_EVICTED : |
- BLOCK_ENTRIES; |
+ FileType file_type = |
+ (GetGroup() == ENTRY_EVICTED) ? BLOCK_EVICTED : BLOCK_ENTRIES; |
return Addr(file_type, 1, file_number, StartBlockFromLocation(location)); |
} |
@@ -343,9 +343,7 @@ EntryCell::EntryCell(int32 cell_num, |
uint32 hash, |
Addr address, |
bool small_table) |
- : cell_num_(cell_num), |
- hash_(hash), |
- small_table_(small_table) { |
+ : cell_num_(cell_num), hash_(hash), small_table_(small_table) { |
DCHECK(IsValidAddress(address) || !address.value()); |
cell_.Clear(); |
@@ -367,10 +365,7 @@ EntryCell::EntryCell(int32 cell_num, |
uint32 hash, |
const IndexCell& cell, |
bool small_table) |
- : cell_num_(cell_num), |
- hash_(hash), |
- cell_(cell), |
- small_table_(small_table) { |
+ : cell_num_(cell_num), hash_(hash), cell_(cell), small_table_(small_table) { |
} |
void EntryCell::FixSum() { |
@@ -472,7 +467,8 @@ void IndexTable::Init(IndexTableInitData* params) { |
// is not required when just growing the extra table because we don't |
// move any cell in that case. |
old_extra_table.reset(new IndexBucket[extra_size]); |
- memcpy(old_extra_table.get(), extra_table_, |
+ memcpy(old_extra_table.get(), |
+ extra_table_, |
extra_size * sizeof(IndexBucket)); |
memset(params->extra_table, 0, extra_size * sizeof(IndexBucket)); |
} |
@@ -482,7 +478,7 @@ void IndexTable::Init(IndexTableInitData* params) { |
extra_table_ = params->extra_table; |
// extra_bits_ is really measured against table-size specific values. |
- const int kMaxAbsoluteExtraBits = 12; // From smallest to largest table. |
+ const int kMaxAbsoluteExtraBits = 12; // From smallest to largest table. |
const int kMaxExtraBitsSmallTable = 6; // From smallest to 64K table. |
extra_bits_ = base::bits::Log2Floor(header_->table_len) - |
@@ -511,25 +507,29 @@ void IndexTable::Init(IndexTableInitData* params) { |
// table. |
int old_main_table_bit_words = ((mask_ >> 1) + 1) * kCellsPerBucket / 32; |
DCHECK_GT(num_words, old_main_table_bit_words); |
- memset(params->index_bitmap->bitmap + old_main_table_bit_words, 0, |
+ memset(params->index_bitmap->bitmap + old_main_table_bit_words, |
+ 0, |
(num_words - old_main_table_bit_words) * sizeof(int32)); |
DCHECK(growing); |
int old_num_words = (backup_header_.get()->table_len + 31) / 32; |
DCHECK_GT(old_num_words, old_main_table_bit_words); |
- memset(backup_bitmap_storage_.get() + old_main_table_bit_words, 0, |
+ memset(backup_bitmap_storage_.get() + old_main_table_bit_words, |
+ 0, |
(old_num_words - old_main_table_bit_words) * sizeof(int32)); |
} |
- bitmap_.reset(new Bitmap(params->index_bitmap->bitmap, header_->table_len, |
- num_words)); |
+ bitmap_.reset( |
+ new Bitmap(params->index_bitmap->bitmap, header_->table_len, num_words)); |
if (growing) { |
int old_num_words = (backup_header_.get()->table_len + 31) / 32; |
DCHECK_GE(num_words, old_num_words); |
scoped_ptr<uint32[]> storage(new uint32[num_words]); |
- memcpy(storage.get(), backup_bitmap_storage_.get(), |
+ memcpy(storage.get(), |
+ backup_bitmap_storage_.get(), |
old_num_words * sizeof(int32)); |
- memset(storage.get() + old_num_words, 0, |
+ memset(storage.get() + old_num_words, |
+ 0, |
(num_words - old_num_words) * sizeof(int32)); |
backup_bitmap_storage_.swap(storage); |
@@ -540,8 +540,8 @@ void IndexTable::Init(IndexTableInitData* params) { |
} |
num_words = (backup_header_->table_len + 31) / 32; |
- backup_bitmap_.reset(new Bitmap(backup_bitmap_storage_.get(), |
- backup_header_->table_len, num_words)); |
+ backup_bitmap_.reset(new Bitmap( |
+ backup_bitmap_storage_.get(), backup_header_->table_len, num_words)); |
if (old_extra_table) |
MoveCells(old_extra_table.get()); |
@@ -605,8 +605,8 @@ EntrySet IndexTable::LookupEntries(uint32 hash) { |
} |
} |
} |
- bucket_num = GetNextBucket(mask_ + 1, header()->max_bucket, extra_table_, |
- &bucket); |
+ bucket_num = |
+ GetNextBucket(mask_ + 1, header()->max_bucket, extra_table_, &bucket); |
} while (bucket_num); |
return entries; |
} |
@@ -630,8 +630,8 @@ EntryCell IndexTable::CreateEntryCell(uint32 hash, Addr address) { |
} |
if (found) |
break; |
- bucket_num = GetNextBucket(mask_ + 1, header()->max_bucket, extra_table_, |
- &bucket); |
+ bucket_num = |
+ GetNextBucket(mask_ + 1, header()->max_bucket, extra_table_, &bucket); |
} while (bucket_num); |
if (!found) { |
@@ -784,7 +784,8 @@ void IndexTable::OnBackupTimer() { |
int num_bytes = num_words * 4 + static_cast<int>(sizeof(*header_)); |
scoped_refptr<net::IOBuffer> buffer(new net::IOBuffer(num_bytes)); |
memcpy(buffer->data(), header_, sizeof(*header_)); |
- memcpy(buffer->data() + sizeof(*header_), backup_bitmap_storage_.get(), |
+ memcpy(buffer->data() + sizeof(*header_), |
+ backup_bitmap_storage_.get(), |
num_words * 4); |
backend_->SaveIndex(buffer, num_bytes); |
modified_ = false; |
@@ -792,7 +793,8 @@ void IndexTable::OnBackupTimer() { |
// ----------------------------------------------------------------------- |
-EntryCell IndexTable::FindEntryCellImpl(uint32 hash, Addr address, |
+EntryCell IndexTable::FindEntryCellImpl(uint32 hash, |
+ Addr address, |
bool allow_deleted) { |
int bucket_num = static_cast<int>(hash & mask_); |
IndexBucket* bucket = &main_table_[bucket_num]; |
@@ -815,8 +817,8 @@ EntryCell IndexTable::FindEntryCellImpl(uint32 hash, Addr address, |
return entry_cell; |
} |
} |
- bucket_num = GetNextBucket(mask_ + 1, header()->max_bucket, extra_table_, |
- &bucket); |
+ bucket_num = |
+ GetNextBucket(mask_ + 1, header()->max_bucket, extra_table_, &bucket); |
} while (bucket_num); |
return EntryCell(); |
} |
@@ -856,15 +858,15 @@ void IndexTable::Write(const EntryCell& cell) { |
int cell_number = cell.cell_num() % kCellsPerBucket; |
if (GetLocation(bucket->cells[cell_number]) && cell.GetLocation()) { |
- DCHECK_EQ(cell.GetLocation(), |
- GetLocation(bucket->cells[cell_number])); |
+ DCHECK_EQ(cell.GetLocation(), GetLocation(bucket->cells[cell_number])); |
} |
cell.Serialize(&bucket->cells[cell_number]); |
} |
int IndexTable::NewExtraBucket() { |
- int safe_window = (header()->table_len < kNumExtraBlocks * 2) ? |
- kNumExtraBlocks / 4 : kNumExtraBlocks; |
+ int safe_window = (header()->table_len < kNumExtraBlocks * 2) |
+ ? kNumExtraBlocks / 4 |
+ : kNumExtraBlocks; |
if (header()->table_len - header()->max_bucket * kCellsPerBucket < |
safe_window) { |
backend_->GrowIndex(); |
@@ -894,18 +896,18 @@ void IndexTable::WalkTables(int limit_time, |
do { |
UpdateFromBucket(bucket, i, limit_time, no_use, low_use, high_use); |
- bucket_num = GetNextBucket(mask_ + 1, header()->max_bucket, extra_table_, |
- &bucket); |
+ bucket_num = |
+ GetNextBucket(mask_ + 1, header()->max_bucket, extra_table_, &bucket); |
} while (bucket_num); |
} |
- header_->num_entries = header_->num_no_use_entries + |
- header_->num_low_use_entries + |
- header_->num_high_use_entries + |
- header_->num_evicted_entries; |
+ header_->num_entries = |
+ header_->num_no_use_entries + header_->num_low_use_entries + |
+ header_->num_high_use_entries + header_->num_evicted_entries; |
modified_ = true; |
} |
-void IndexTable::UpdateFromBucket(IndexBucket* bucket, int bucket_hash, |
+void IndexTable::UpdateFromBucket(IndexBucket* bucket, |
+ int bucket_hash, |
int limit_time, |
IndexIterator* no_use, |
IndexIterator* low_use, |
@@ -918,8 +920,8 @@ void IndexTable::UpdateFromBucket(IndexBucket* bucket, int bucket_hash, |
if (!IsNormalState(current_cell)) |
continue; |
- EntryCell entry_cell(0, GetFullHash(current_cell, bucket_hash), |
- current_cell, small_table_); |
+ EntryCell entry_cell( |
+ 0, GetFullHash(current_cell, bucket_hash), current_cell, small_table_); |
switch (GetCellGroup(current_cell)) { |
case ENTRY_NO_USE: |
UpdateIterator(entry_cell, limit_time, no_use); |
@@ -988,21 +990,21 @@ void IndexTable::MoveCells(IndexBucket* old_extra_table) { |
if (bucket_num == i) { |
if (upgrade_format || (GetHashValue(current_cell) & new_bit)) { |
// Move this cell to the upper half of the table. |
- MoveSingleCell(¤t_cell, bucket_num * kCellsPerBucket + j, i, |
- true); |
+ MoveSingleCell( |
+ ¤t_cell, bucket_num * kCellsPerBucket + j, i, true); |
} |
} else { |
// All cells on extra buckets have to move. |
- MoveSingleCell(¤t_cell, bucket_num * kCellsPerBucket + j, i, |
- true); |
+ MoveSingleCell( |
+ ¤t_cell, bucket_num * kCellsPerBucket + j, i, true); |
} |
} |
// There is no need to clear the old bucket->next value because if falls |
// within the main table so it will be fixed when attempting to follow |
// the link. |
- bucket_num = GetNextBucket(max_hash, max_bucket, old_extra_table, |
- &bucket); |
+ bucket_num = |
+ GetNextBucket(max_hash, max_bucket, old_extra_table, &bucket); |
} while (bucket_num); |
} |
@@ -1014,8 +1016,10 @@ void IndexTable::MoveCells(IndexBucket* old_extra_table) { |
} |
} |
-void IndexTable::MoveSingleCell(IndexCell* current_cell, int cell_num, |
- int main_table_index, bool growing) { |
+void IndexTable::MoveSingleCell(IndexCell* current_cell, |
+ int cell_num, |
+ int main_table_index, |
+ bool growing) { |
uint32 hash = GetFullHash(*current_cell, main_table_index); |
EntryCell old_cell(cell_num, hash, *current_cell, small_table_); |
@@ -1065,7 +1069,8 @@ void IndexTable::MoveSingleCell(IndexCell* current_cell, int cell_num, |
header()->used_cells--; |
} |
-void IndexTable::HandleMisplacedCell(IndexCell* current_cell, int cell_num, |
+void IndexTable::HandleMisplacedCell(IndexCell* current_cell, |
+ int cell_num, |
int main_table_index) { |
NOTREACHED(); // No unit tests yet. |
@@ -1093,8 +1098,10 @@ void IndexTable::CheckBucketList(int bucket_num) { |
continue; |
} |
int cell_num = bucket_num * kCellsPerBucket + i; |
- EntryCell cell(cell_num, GetFullHash(*current_cell, bucket_hash), |
- *current_cell, small_table_); |
+ EntryCell cell(cell_num, |
+ GetFullHash(*current_cell, bucket_hash), |
+ *current_cell, |
+ small_table_); |
if (!entries.insert(std::make_pair(cell.GetAddress().value(), |
cell.GetGroup())).second) { |
current_cell->Clear(); |
@@ -1103,8 +1110,8 @@ void IndexTable::CheckBucketList(int bucket_num) { |
CheckState(cell); |
} |
- bucket_num = GetNextBucket(mask_ + 1, header()->max_bucket, extra_table_, |
- &bucket); |
+ bucket_num = |
+ GetNextBucket(mask_ + 1, header()->max_bucket, extra_table_, &bucket); |
} while (bucket_num); |
} |