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

Unified Diff: third_party/WebKit/Source/platform/heap/HeapPage.h

Issue 2698673003: Call HeapObjectHeader::checkHeader solely for its side-effect. (Closed)
Patch Set: Created 3 years, 10 months 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: third_party/WebKit/Source/platform/heap/HeapPage.h
diff --git a/third_party/WebKit/Source/platform/heap/HeapPage.h b/third_party/WebKit/Source/platform/heap/HeapPage.h
index ed6582cb0b2c2e19968b467aa4967ca9f3e14692..963860ab3a0f21f4a53f67b29e17b2b553ce1881 100644
--- a/third_party/WebKit/Source/platform/heap/HeapPage.h
+++ b/third_party/WebKit/Source/platform/heap/HeapPage.h
@@ -226,7 +226,8 @@ class PLATFORM_EXPORT HeapObjectHeader {
// TODO(633030): Make |checkHeader| and |zapMagic| private. This class should
// manage its integrity on its own, without requiring outside callers to
// explicitly check.
- bool checkHeader() const;
+ void checkHeader() const;
+
// Zap magic number with a new magic number that means there was once an
// object allocated here, but it was freed because nobody marked it during
// GC.
@@ -835,8 +836,8 @@ NO_SANITIZE_ADDRESS inline size_t HeapObjectHeader::size() const {
return result;
}
-NO_SANITIZE_ADDRESS inline bool HeapObjectHeader::checkHeader() const {
- return m_magic == getMagic();
+NO_SANITIZE_ADDRESS inline void HeapObjectHeader::checkHeader() const {
+ ASSERT(m_magic == getMagic());
sof 2017/02/16 18:50:04 ASSERT => DCHECK
jbroman 2017/02/16 19:08:09 DCHECK_EQ?
}
inline Address HeapObjectHeader::payload() {
@@ -861,7 +862,7 @@ inline HeapObjectHeader* HeapObjectHeader::fromPayload(const void* payload) {
Address addr = reinterpret_cast<Address>(const_cast<void*>(payload));
HeapObjectHeader* header =
reinterpret_cast<HeapObjectHeader*>(addr - sizeof(HeapObjectHeader));
- ASSERT(header->checkHeader());
+ header->checkHeader();
return header;
}
@@ -897,35 +898,35 @@ inline uint32_t HeapObjectHeader::getMagic() const {
NO_SANITIZE_ADDRESS inline bool HeapObjectHeader::isWrapperHeaderMarked()
const {
- ASSERT(checkHeader());
+ checkHeader();
return m_encoded & headerWrapperMarkBitMask;
}
NO_SANITIZE_ADDRESS inline void HeapObjectHeader::markWrapperHeader() {
- ASSERT(checkHeader());
+ checkHeader();
ASSERT(!isWrapperHeaderMarked());
m_encoded |= headerWrapperMarkBitMask;
}
NO_SANITIZE_ADDRESS inline void HeapObjectHeader::unmarkWrapperHeader() {
- ASSERT(checkHeader());
+ checkHeader();
ASSERT(isWrapperHeaderMarked());
m_encoded &= ~headerWrapperMarkBitMask;
}
NO_SANITIZE_ADDRESS inline bool HeapObjectHeader::isMarked() const {
- ASSERT(checkHeader());
+ checkHeader();
return m_encoded & headerMarkBitMask;
}
NO_SANITIZE_ADDRESS inline void HeapObjectHeader::mark() {
- ASSERT(checkHeader());
+ checkHeader();
ASSERT(!isMarked());
m_encoded = m_encoded | headerMarkBitMask;
}
NO_SANITIZE_ADDRESS inline void HeapObjectHeader::unmark() {
- ASSERT(checkHeader());
+ checkHeader();
ASSERT(isMarked());
m_encoded &= ~headerMarkBitMask;
}
« no previous file with comments | « third_party/WebKit/Source/platform/heap/HeapAllocator.cpp ('k') | third_party/WebKit/Source/platform/heap/HeapPage.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698