Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(147)

Unified Diff: syzygy/agent/asan/block.cc

Issue 2508333002: Remove the is_nested bit from the BlockInfo structure. (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: syzygy/agent/asan/block.cc
diff --git a/syzygy/agent/asan/block.cc b/syzygy/agent/asan/block.cc
index 9bdcd56749b2e9c8bdb218bde61bc442405cf707..f162a8b31acb3074cb3e419d01b1616bdd540b94 100644
--- a/syzygy/agent/asan/block.cc
+++ b/syzygy/agent/asan/block.cc
@@ -50,7 +50,6 @@ void InitializeBlockHeader(BlockInfo* block_info) {
DCHECK_NE(static_cast<BlockHeader*>(NULL), block_info->header);
::memset(block_info->header, 0, sizeof(BlockHeader));
block_info->header->magic = kBlockHeaderMagic;
- block_info->header->is_nested = block_info->is_nested;
block_info->header->has_header_padding = block_info->header_padding_size > 0;
block_info->header->has_excess_trailer_padding =
block_info->trailer_padding_size > sizeof(uint32_t);
@@ -187,7 +186,6 @@ bool BlockInfoFromMemoryImpl(const BlockHeader* const_header,
reinterpret_cast<uint8_t*>(header);
block_info->header_size = sizeof(BlockHeader) + header_padding_size;
block_info->trailer_size = trailer_padding_size + sizeof(BlockTrailer);
- block_info->is_nested = header->is_nested;
return true;
}
@@ -288,7 +286,6 @@ bool BlockPlanLayout(uint32_t chunk_size,
void BlockInitialize(const BlockLayout& layout,
void* allocation,
- bool is_nested,
BlockInfo* block_info) {
DCHECK_NE(static_cast<void*>(NULL), allocation);
DCHECK(IsAligned(reinterpret_cast<uintptr_t>(allocation),
@@ -306,7 +303,6 @@ void BlockInitialize(const BlockLayout& layout,
// Get pointers to the various components of the block.
uint8_t* cursor = reinterpret_cast<uint8_t*>(allocation);
block_info->block_size = layout.block_size;
- block_info->is_nested = is_nested;
block_info->header = reinterpret_cast<BlockHeader*>(cursor);
cursor += sizeof(BlockHeader);
block_info->header_padding = reinterpret_cast<BlockHeaderPadding*>(cursor);
@@ -320,9 +316,6 @@ void BlockInitialize(const BlockLayout& layout,
block_info->trailer_padding_size = layout.trailer_padding_size;
block_info->trailer = reinterpret_cast<BlockTrailer*>(cursor);
- // Indicates if the block is nested.
- block_info->is_nested = is_nested;
-
// If the block information is being returned to the user then determine
// the extents of whole pages within it.
if (block_info != &local_block_info)
@@ -370,7 +363,6 @@ void ConvertBlockInfo(const CompactBlockInfo& compact, BlockInfo* expanded) {
block + compact.header_size + expanded->body_size);
expanded->trailer = reinterpret_cast<BlockTrailer*>(
expanded->RawTrailerPadding() + expanded->trailer_padding_size);
- expanded->is_nested = compact.is_nested;
BlockIdentifyWholePages(expanded);
}
@@ -382,7 +374,6 @@ void ConvertBlockInfo(const BlockInfo& expanded, CompactBlockInfo* compact) {
expanded.header_padding_size);
compact->trailer_size = static_cast<uint32_t>(sizeof(BlockTrailer) +
expanded.trailer_padding_size);
- compact->is_nested = expanded.is_nested;
}
bool BlockInfoFromMemory(const BlockHeader* header, BlockInfo* block_info) {
@@ -473,8 +464,7 @@ bool BlockBodyIsFloodFilled(const BlockInfo& block_info) {
void BlockIdentifyWholePages(BlockInfo* block_info) {
DCHECK_NE(static_cast<BlockInfo*>(NULL), block_info);
static const size_t kPageInfoSize =
- FIELD_OFFSET(BlockInfo, is_nested) -
- FIELD_OFFSET(BlockInfo, block_pages);
+ sizeof(BlockInfo) - FIELD_OFFSET(BlockInfo, block_pages);
Sigurður Ásgeirsson 2016/11/22 19:15:37 I'm not sure this is right - how about field_offse
Sébastien Marchand 2016/11/22 22:12:23 "sizeof(BlockInfo) - FIELD_OFFSET(BlockInfo, block
if (block_info->block_size < GetPageSize()) {
::memset(&block_info->block_pages, 0, kPageInfoSize);
@@ -746,8 +736,6 @@ bool BlockHeaderIsConsistent(BlockState block_state,
const BlockHeader* h = block_info.header;
if (h->magic != kBlockHeaderMagic)
return false;
- if (static_cast<bool>(h->is_nested) != block_info.is_nested)
- return false;
bool expect_header_padding = block_info.header_padding_size > 0;
if (static_cast<bool>(h->has_header_padding) != expect_header_padding)

Powered by Google App Engine
This is Rietveld 408576698