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

Unified Diff: Source/platform/heap/Handle.h

Issue 1208223003: Oilpan: Replace checkPointer() with ASSERT(checkPointer()) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 6 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/platform/heap/Handle.h
diff --git a/Source/platform/heap/Handle.h b/Source/platform/heap/Handle.h
index 4fdc0a33c15aa274b4620aa9f0d21908943f0e6c..8ebeb07fe5b90ec6bd759eb2a77261f4d9b590e7 100644
--- a/Source/platform/heap/Handle.h
+++ b/Source/platform/heap/Handle.h
@@ -159,21 +159,21 @@ public:
Persistent(T* raw) : PersistentNode(TraceMethodDelegate<Persistent<T>, &Persistent<T>::trace>::trampoline), m_raw(raw)
{
initialize();
- checkPointer();
+ ASSERT(checkPointer());
recordBacktrace();
}
Persistent(T& raw) : PersistentNode(TraceMethodDelegate<Persistent<T>, &Persistent<T>::trace>::trampoline), m_raw(&raw)
{
initialize();
- checkPointer();
+ ASSERT(checkPointer());
recordBacktrace();
}
Persistent(const Persistent& other) : PersistentNode(TraceMethodDelegate<Persistent<T>, &Persistent<T>::trace>::trampoline), m_raw(other)
{
initialize();
- checkPointer();
+ ASSERT(checkPointer());
recordBacktrace();
}
@@ -181,7 +181,7 @@ public:
Persistent(const Persistent<U>& other) : PersistentNode(TraceMethodDelegate<Persistent<T>, &Persistent<T>::trace>::trampoline), m_raw(other)
{
initialize();
- checkPointer();
+ ASSERT(checkPointer());
recordBacktrace();
}
@@ -189,7 +189,7 @@ public:
Persistent(const Member<U>& other) : PersistentNode(TraceMethodDelegate<Persistent<T>, &Persistent<T>::trace>::trampoline), m_raw(other)
{
initialize();
- checkPointer();
+ ASSERT(checkPointer());
recordBacktrace();
}
@@ -197,7 +197,7 @@ public:
Persistent(const RawPtr<U>& other) : PersistentNode(TraceMethodDelegate<Persistent<T>, &Persistent<T>::trace>::trampoline), m_raw(other.get())
{
initialize();
- checkPointer();
+ ASSERT(checkPointer());
recordBacktrace();
}
@@ -238,7 +238,7 @@ public:
Persistent& operator=(U* other)
{
m_raw = other;
- checkPointer();
+ ASSERT(checkPointer());
recordBacktrace();
return *this;
}
@@ -252,7 +252,7 @@ public:
Persistent& operator=(const Persistent& other)
{
m_raw = other;
- checkPointer();
+ ASSERT(checkPointer());
recordBacktrace();
return *this;
}
@@ -261,7 +261,7 @@ public:
Persistent& operator=(const Persistent<U>& other)
{
m_raw = other;
- checkPointer();
+ ASSERT(checkPointer());
recordBacktrace();
return *this;
}
@@ -270,7 +270,7 @@ public:
Persistent& operator=(const Member<U>& other)
{
m_raw = other;
- checkPointer();
+ ASSERT(checkPointer());
recordBacktrace();
return *this;
}
@@ -279,7 +279,7 @@ public:
Persistent& operator=(const RawPtr<U>& other)
{
m_raw = other;
- checkPointer();
+ ASSERT(checkPointer());
recordBacktrace();
return *this;
}
@@ -307,11 +307,11 @@ private:
m_prev->m_next = m_next;
}
- void checkPointer()
- {
#if ENABLE(ASSERT)
+ bool checkPointer()
+ {
if (!m_raw)
- return;
+ return true;
// Heap::isHeapObjectAlive(m_raw) checks that m_raw is a traceable
// object. In other words, it checks that the pointer is either of:
@@ -322,8 +322,10 @@ private:
// Otherwise, Heap::isHeapObjectAlive will crash when it calls
// header->checkHeader().
Heap::isHeapObjectAlive(m_raw);
-#endif
+ // We're not interested in the result of Heap::isHeapObjectAlive.
+ return true;
}
Yuta Kitamura 2015/06/30 06:15:21 IMO this use of ASSERT() is too confusing. When th
+#endif
#if ENABLE(GC_PROFILING)
void recordBacktrace()
@@ -357,21 +359,21 @@ public:
CrossThreadPersistent(T* raw) : PersistentNode(TraceMethodDelegate<CrossThreadPersistent<T>, &CrossThreadPersistent<T>::trace>::trampoline), m_raw(raw)
{
initialize();
- checkPointer();
+ ASSERT(checkPointer());
recordBacktrace();
}
CrossThreadPersistent(T& raw) : PersistentNode(TraceMethodDelegate<CrossThreadPersistent<T>, &CrossThreadPersistent<T>::trace>::trampoline), m_raw(&raw)
{
initialize();
- checkPointer();
+ ASSERT(checkPointer());
recordBacktrace();
}
CrossThreadPersistent(const CrossThreadPersistent& other) : PersistentNode(TraceMethodDelegate<CrossThreadPersistent<T>, &CrossThreadPersistent<T>::trace>::trampoline), m_raw(other)
{
initialize();
- checkPointer();
+ ASSERT(checkPointer());
recordBacktrace();
}
@@ -379,7 +381,7 @@ public:
CrossThreadPersistent(const CrossThreadPersistent<U>& other) : PersistentNode(TraceMethodDelegate<CrossThreadPersistent<T>, &CrossThreadPersistent<T>::trace>::trampoline), m_raw(other)
{
initialize();
- checkPointer();
+ ASSERT(checkPointer());
recordBacktrace();
}
@@ -387,7 +389,7 @@ public:
CrossThreadPersistent(const Member<U>& other) : PersistentNode(TraceMethodDelegate<CrossThreadPersistent<T>, &CrossThreadPersistent<T>::trace>::trampoline), m_raw(other)
{
initialize();
- checkPointer();
+ ASSERT(checkPointer());
recordBacktrace();
}
@@ -395,7 +397,7 @@ public:
CrossThreadPersistent(const RawPtr<U>& other) : PersistentNode(TraceMethodDelegate<CrossThreadPersistent<T>, &CrossThreadPersistent<T>::trace>::trampoline), m_raw(other.get())
{
initialize();
- checkPointer();
+ ASSERT(checkPointer());
recordBacktrace();
}
@@ -436,7 +438,7 @@ public:
CrossThreadPersistent& operator=(U* other)
{
m_raw = other;
- checkPointer();
+ ASSERT(checkPointer());
recordBacktrace();
return *this;
}
@@ -450,7 +452,7 @@ public:
CrossThreadPersistent& operator=(const CrossThreadPersistent& other)
{
m_raw = other;
- checkPointer();
+ ASSERT(checkPointer());
recordBacktrace();
return *this;
}
@@ -459,7 +461,7 @@ public:
CrossThreadPersistent& operator=(const CrossThreadPersistent<U>& other)
{
m_raw = other;
- checkPointer();
+ ASSERT(checkPointer());
recordBacktrace();
return *this;
}
@@ -468,7 +470,7 @@ public:
CrossThreadPersistent& operator=(const Member<U>& other)
{
m_raw = other;
- checkPointer();
+ ASSERT(checkPointer());
recordBacktrace();
return *this;
}
@@ -477,7 +479,7 @@ public:
CrossThreadPersistent& operator=(const RawPtr<U>& other)
{
m_raw = other;
- checkPointer();
+ ASSERT(checkPointer());
recordBacktrace();
return *this;
}
@@ -505,11 +507,11 @@ private:
m_prev->m_next = m_next;
}
- void checkPointer()
- {
#if ENABLE(ASSERT)
+ bool checkPointer()
+ {
if (!m_raw)
- return;
+ return true;
// Heap::isHeapObjectAlive(m_raw) checks that m_raw is a traceable
// object. In other words, it checks that the pointer is either of:
//
@@ -519,8 +521,10 @@ private:
// Otherwise, Heap::isHeapObjectAlive will crash when it calls
// header->checkHeader().
Heap::isHeapObjectAlive(m_raw);
-#endif
+ // We're not interested in the result of isHeapObjectAlive.
+ return true;
}
+#endif
#if ENABLE(GC_PROFILING)
void recordBacktrace()
@@ -667,18 +671,18 @@ public:
Member(T* raw) : m_raw(raw)
{
- checkPointer();
+ ASSERT(checkPointer());
}
explicit Member(T& raw) : m_raw(&raw)
{
- checkPointer();
+ ASSERT(checkPointer());
}
template<typename U>
Member(const RawPtr<U>& other) : m_raw(other.get())
{
- checkPointer();
+ ASSERT(checkPointer());
}
Member(WTF::HashTableDeletedValueType) : m_raw(reinterpret_cast<T*>(-1))
@@ -690,18 +694,18 @@ public:
template<typename U>
Member(const Persistent<U>& other) : m_raw(other)
{
- checkPointer();
+ ASSERT(checkPointer());
}
Member(const Member& other) : m_raw(other)
{
- checkPointer();
+ ASSERT(checkPointer());
}
template<typename U>
Member(const Member<U>& other) : m_raw(other)
{
- checkPointer();
+ ASSERT(checkPointer());
}
T* release()
@@ -724,7 +728,7 @@ public:
Member& operator=(const Persistent<U>& other)
{
m_raw = other;
- checkPointer();
+ ASSERT(checkPointer());
return *this;
}
@@ -732,7 +736,7 @@ public:
Member& operator=(const Member<U>& other)
{
m_raw = other;
- checkPointer();
+ ASSERT(checkPointer());
return *this;
}
@@ -740,7 +744,7 @@ public:
Member& operator=(U* other)
{
m_raw = other;
- checkPointer();
+ ASSERT(checkPointer());
return *this;
}
@@ -748,7 +752,7 @@ public:
Member& operator=(RawPtr<U> other)
{
m_raw = other;
- checkPointer();
+ ASSERT(checkPointer());
return *this;
}
@@ -761,7 +765,7 @@ public:
void swap(Member<T>& other)
{
std::swap(m_raw, other.m_raw);
- checkPointer();
+ ASSERT(checkPointer());
}
T* get() const { return m_raw; }
@@ -770,17 +774,17 @@ public:
protected:
- void checkPointer()
- {
#if ENABLE(ASSERT)
+ bool checkPointer()
+ {
if (!m_raw)
- return;
+ return true;
// HashTable can store a special value (which is not aligned to the
// allocation granularity) to Member<> to represent a deleted entry.
// Thus we treat a pointer that is not aligned to the granularity
// as a valid pointer.
if (reinterpret_cast<intptr_t>(m_raw) % allocationGranularity)
- return;
+ return true;
// TODO(haraken): What we really want to check here is that the pointer
// is a traceable object. In other words, the pointer is either of:
@@ -793,8 +797,9 @@ protected:
// So we currently implement only the check for (a).
if (!IsGarbageCollectedMixin<T>::value)
HeapObjectHeader::fromPayload(m_raw)->checkHeader();
-#endif
+ return true;
}
+#endif
T* m_raw;
@@ -830,7 +835,7 @@ public:
WeakMember& operator=(const Persistent<U>& other)
{
this->m_raw = other;
- this->checkPointer();
+ ASSERT(this->checkPointer());
return *this;
}
@@ -838,7 +843,7 @@ public:
WeakMember& operator=(const Member<U>& other)
{
this->m_raw = other;
- this->checkPointer();
+ ASSERT(this->checkPointer());
return *this;
}
@@ -846,7 +851,7 @@ public:
WeakMember& operator=(U* other)
{
this->m_raw = other;
- this->checkPointer();
+ ASSERT(this->checkPointer());
return *this;
}
@@ -854,7 +859,7 @@ public:
WeakMember& operator=(const RawPtr<U>& other)
{
this->m_raw = other;
- this->checkPointer();
+ ASSERT(this->checkPointer());
return *this;
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698