Make it harder to accidentally pass an integer to a locker.
authorfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 2 Jun 2016 19:21:53 +0000 (19:21 +0000)
committerfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 2 Jun 2016 19:21:53 +0000 (19:21 +0000)
Rubber stamped by Keith Miller.
Source/JavaScriptCore:

* runtime/ConcurrentJITLock.h:
(JSC::ConcurrentJITLocker::ConcurrentJITLocker):

Source/WTF:

See here for the discussion: https://bugs.webkit.org/show_bug.cgi?id=158306#c3

* wtf/Locker.h:
(WTF::Locker::Locker):
(WTF::Locker::~Locker):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@201609 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/runtime/ConcurrentJITLock.h
Source/WTF/ChangeLog
Source/WTF/wtf/Locker.h

index 4e1c8ce..ac2bdb3 100644 (file)
@@ -1,5 +1,14 @@
 2016-06-02  Filip Pizlo  <fpizlo@apple.com>
 
+        Make it harder to accidentally pass an integer to a locker.
+
+        Rubber stamped by Keith Miller.
+
+        * runtime/ConcurrentJITLock.h:
+        (JSC::ConcurrentJITLocker::ConcurrentJITLocker):
+
+2016-06-02  Filip Pizlo  <fpizlo@apple.com>
+
         Make it easier to use NoLockingNecessary
         https://bugs.webkit.org/show_bug.cgi?id=158306
 
index f39613e..91d8909 100644 (file)
@@ -131,6 +131,15 @@ public:
 #endif
     {
     }
+    
+    NO_RETURN_DUE_TO_CRASH ConcurrentJITLocker(int)
+        : ConcurrentJITLockerBase(NoLockingNecessary)
+#if ENABLE(CONCURRENT_JIT) && !defined(NDEBUG)
+        , m_disallowGC(Nullopt)
+#endif
+    {
+        RELEASE_ASSERT_NOT_REACHED();
+    }
 
 #if ENABLE(CONCURRENT_JIT) && !defined(NDEBUG)
 private:
index 501ffda..4a8bc4e 100644 (file)
@@ -1,5 +1,17 @@
 2016-06-02  Filip Pizlo  <fpizlo@apple.com>
 
+        Make it harder to accidentally pass an integer to a locker.
+
+        Rubber stamped by Keith Miller.
+        
+        See here for the discussion: https://bugs.webkit.org/show_bug.cgi?id=158306#c3
+
+        * wtf/Locker.h:
+        (WTF::Locker::Locker):
+        (WTF::Locker::~Locker):
+
+2016-06-02  Filip Pizlo  <fpizlo@apple.com>
+
         Make it easier to use NoLockingNecessary
         https://bugs.webkit.org/show_bug.cgi?id=158306
 
index 0d8cbe0..3af052a 100644 (file)
@@ -28,6 +28,7 @@
 #ifndef Locker_h
 #define Locker_h
 
+#include <wtf/Assertions.h>
 #include <wtf/Noncopyable.h>
 
 namespace WTF {
@@ -46,6 +47,11 @@ public:
     // this often happens when an object is newly allocated and it can not
     // be accessed concurrently.
     Locker(NoLockingNecessaryTag) : m_lockable(nullptr) { }
+    
+    NO_RETURN_DUE_TO_CRASH Locker(int)
+    {
+        RELEASE_ASSERT_NOT_REACHED();
+    }
 
     ~Locker()
     {