| Index: third_party/WebKit/Source/wtf/RefPtr.h
|
| diff --git a/third_party/WebKit/Source/wtf/RefPtr.h b/third_party/WebKit/Source/wtf/RefPtr.h
|
| index 1660f882f8b321cf8ee9605558c5af12319ffe17..eab641a66509aeca93b469c0f35c46e30c7ac44b 100644
|
| --- a/third_party/WebKit/Source/wtf/RefPtr.h
|
| +++ b/third_party/WebKit/Source/wtf/RefPtr.h
|
| @@ -70,7 +70,10 @@
|
| ALWAYS_INLINE T* operator->() const { return m_ptr; }
|
|
|
| bool operator!() const { return !m_ptr; }
|
| - explicit operator bool() const { return m_ptr; }
|
| +
|
| + // TODO(jbroman): Simplifying this in the obvious way causes a massive
|
| + // regression in a perf test on ARM. http://crbug.com/607208
|
| + explicit operator bool() const { return m_ptr ? &RefPtr::m_ptr : 0; }
|
|
|
| RefPtr& operator=(RefPtr o) { swap(o); return *this; }
|
| RefPtr& operator=(std::nullptr_t) { clear(); return *this; }
|
|
|