Index: Source/platform/heap/Handle.h |
diff --git a/Source/platform/heap/Handle.h b/Source/platform/heap/Handle.h |
index 842c87f881236ba5dd229a3b1351f85d47066d8d..9f5054639238ac610cdb9ddde3f912119268e26c 100644 |
--- a/Source/platform/heap/Handle.h |
+++ b/Source/platform/heap/Handle.h |
@@ -1155,20 +1155,18 @@ public: |
m_keepAlive.clear(); |
} |
- typedef OwnPtr<Persistent<Self>> (SelfKeepAlive::*UnspecifiedBoolType); |
+ typedef Persistent<Self> (SelfKeepAlive::*UnspecifiedBoolType); |
operator UnspecifiedBoolType() const { return m_keepAlive ? &SelfKeepAlive::m_keepAlive : 0; } |
private: |
void assign(Self* self) |
{ |
- ASSERT(!m_keepAlive || m_keepAlive->get() == self); |
- if (!m_keepAlive) |
- m_keepAlive = adoptPtr(new Persistent<Self>); |
- *m_keepAlive = self; |
+ ASSERT(!m_keepAlive || m_keepAlive.get() == self); |
+ m_keepAlive = self; |
} |
GC_PLUGIN_IGNORE("420515") |
- OwnPtr<Persistent<Self>> m_keepAlive; |
+ Persistent<Self> m_keepAlive; |
}; |
template<typename T> |