Index: Source/heap/Handle.h |
diff --git a/Source/heap/Handle.h b/Source/heap/Handle.h |
index 5e281866df16118b6aed095ab1e155c81cc18f05..8ca68efd6659e0b5cb1843000e0705793977f97d 100644 |
--- a/Source/heap/Handle.h |
+++ b/Source/heap/Handle.h |
@@ -193,7 +193,7 @@ public: |
void trace(Visitor* visitor) { visitor->mark(m_raw); } |
- T* clear() |
+ T* release() |
{ |
T* result = m_raw; |
m_raw = 0; |
@@ -234,7 +234,7 @@ public: |
return *this; |
} |
- T* raw() const { return m_raw; } |
+ T* get() const { return m_raw; } |
private: |
T* m_raw; |
@@ -266,7 +266,7 @@ public: |
template<typename U> |
Member(const Member<U>& other) : m_raw(other) { } |
- T* clear() |
+ T* release() |
{ |
T* result = m_raw; |
m_raw = 0; |
@@ -321,25 +321,12 @@ public: |
void swap(Member<T>& other) { std::swap(m_raw, other.m_raw); } |
-protected: |
- T* raw() const { return m_raw; } |
+ T* get() const { return m_raw; } |
+protected: |
T* m_raw; |
- template<typename U> friend class Member; |
- template<typename U> friend class Persistent; |
- friend class Visitor; |
- template<typename U> friend struct WTF::PtrHash; |
- // FIXME: Uncomment when HeapObjectHash is moved. |
- // friend struct HeapObjectHash<T>; |
- friend struct ObjectAliveTrait<Member<T> >; |
template<bool x, bool y, bool z, typename U, typename V> friend struct CollectionBackingTraceTrait; |
- template<typename U, typename V> friend bool operator==(const Member<U>&, const Persistent<V>&); |
- template<typename U, typename V> friend bool operator!=(const Member<U>&, const Persistent<V>&); |
- template<typename U, typename V> friend bool operator==(const Persistent<U>&, const Member<V>&); |
- template<typename U, typename V> friend bool operator!=(const Persistent<U>&, const Member<V>&); |
- template<typename U, typename V> friend bool operator==(const Member<U>&, const Member<V>&); |
- template<typename U, typename V> friend bool operator!=(const Member<U>&, const Member<V>&); |
}; |
template<typename T> |
@@ -404,25 +391,18 @@ public: |
private: |
T** cell() const { return const_cast<T**>(&this->m_raw); } |
- template<typename U> friend class Member; |
- template<typename U> friend class WeakMember; |
- template<typename U> friend class Persistent; |
friend class Visitor; |
- template<typename U> friend struct WTF::PtrHash; |
- // FIXME: Uncomment when moving HeapObjectHash to trunk. |
- // friend struct HeapObjectHash<T>; |
- friend struct ObjectAliveTrait<WeakMember<T> >; |
}; |
// Comparison operators between (Weak)Members and Persistents |
-template<typename T, typename U> inline bool operator==(const Member<T>& a, const Member<U>& b) { return a.m_raw == b.m_raw; } |
-template<typename T, typename U> inline bool operator!=(const Member<T>& a, const Member<U>& b) { return a.m_raw != b.m_raw; } |
-template<typename T, typename U> inline bool operator==(const Member<T>& a, const Persistent<U>& b) { return a.m_raw == b.m_raw; } |
-template<typename T, typename U> inline bool operator!=(const Member<T>& a, const Persistent<U>& b) { return a.m_raw != b.m_raw; } |
-template<typename T, typename U> inline bool operator==(const Persistent<T>& a, const Member<U>& b) { return a.m_raw == b.m_raw; } |
-template<typename T, typename U> inline bool operator!=(const Persistent<T>& a, const Member<U>& b) { return a.m_raw != b.m_raw; } |
-template<typename T, typename U> inline bool operator==(const Persistent<T>& a, const Persistent<U>& b) { return a.m_raw == b.m_raw; } |
-template<typename T, typename U> inline bool operator!=(const Persistent<T>& a, const Persistent<U>& b) { return a.m_raw != b.m_raw; } |
+template<typename T, typename U> inline bool operator==(const Member<T>& a, const Member<U>& b) { return a.get() == b.get(); } |
+template<typename T, typename U> inline bool operator!=(const Member<T>& a, const Member<U>& b) { return a.get() != b.get(); } |
+template<typename T, typename U> inline bool operator==(const Member<T>& a, const Persistent<U>& b) { return a.get() == b.get(); } |
+template<typename T, typename U> inline bool operator!=(const Member<T>& a, const Persistent<U>& b) { return a.get() != b.get(); } |
+template<typename T, typename U> inline bool operator==(const Persistent<T>& a, const Member<U>& b) { return a.get() == b.get(); } |
+template<typename T, typename U> inline bool operator!=(const Persistent<T>& a, const Member<U>& b) { return a.get() != b.get(); } |
+template<typename T, typename U> inline bool operator==(const Persistent<T>& a, const Persistent<U>& b) { return a.get() == b.get(); } |
+template<typename T, typename U> inline bool operator!=(const Persistent<T>& a, const Persistent<U>& b) { return a.get() != b.get(); } |
} // namespace WebCore |
@@ -453,7 +433,7 @@ template<typename T> struct HashTraits<WebCore::Member<T> > : SimpleClassHashTra |
typedef T* IteratorConstGetType; |
typedef T* IteratorReferenceType; |
typedef T* IteratorConstReferenceType; |
- static IteratorConstGetType getToConstGetConversion(const WebCore::Member<T>* x) { return x->raw(); } |
+ static IteratorConstGetType getToConstGetConversion(const WebCore::Member<T>* x) { return x->get(); } |
static IteratorReferenceType getToReferenceConversion(IteratorGetType x) { return x; } |
static IteratorConstReferenceType getToReferenceConstConversion(IteratorConstGetType x) { return x; } |
// FIXME: Similarly, there is no need for a distinction between PeekOutType |
@@ -481,7 +461,7 @@ template<typename T> struct HashTraits<WebCore::WeakMember<T> > : SimpleClassHas |
typedef T* IteratorConstGetType; |
typedef T* IteratorReferenceType; |
typedef T* IteratorConstReferenceType; |
- static IteratorConstGetType getToConstGetConversion(const WebCore::WeakMember<T>* x) { return x->raw(); } |
+ static IteratorConstGetType getToConstGetConversion(const WebCore::WeakMember<T>* x) { return x->get(); } |
static IteratorReferenceType getToReferenceConversion(IteratorGetType x) { return x; } |
static IteratorConstReferenceType getToReferenceConstConversion(IteratorConstGetType x) { return x; } |
// FIXME: Similarly, there is no need for a distinction between PeekOutType |