Title: [164063] trunk/Source/_javascript_Core
Revision
164063
Author
[email protected]
Date
2014-02-13 15:07:12 -0800 (Thu, 13 Feb 2014)

Log Message

Add some RELEASE_ASSERTs to catch JSLock bugs earlier
https://bugs.webkit.org/show_bug.cgi?id=128762

Reviewed by Mark Lam.

* interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):
* runtime/JSLock.cpp:
(JSC::JSLock::DropAllLocks::DropAllLocks):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (164062 => 164063)


--- trunk/Source/_javascript_Core/ChangeLog	2014-02-13 23:04:30 UTC (rev 164062)
+++ trunk/Source/_javascript_Core/ChangeLog	2014-02-13 23:07:12 UTC (rev 164063)
@@ -1,3 +1,15 @@
+2014-02-13  Mark Hahnenberg  <[email protected]>
+
+        Add some RELEASE_ASSERTs to catch JSLock bugs earlier
+        https://bugs.webkit.org/show_bug.cgi?id=128762
+
+        Reviewed by Mark Lam.
+
+        * interpreter/Interpreter.cpp:
+        (JSC::Interpreter::execute):
+        * runtime/JSLock.cpp:
+        (JSC::JSLock::DropAllLocks::DropAllLocks):
+
 2014-02-12  Filip Pizlo  <[email protected]>
 
         Hoist and combine array bounds checks

Modified: trunk/Source/_javascript_Core/interpreter/Interpreter.cpp (164062 => 164063)


--- trunk/Source/_javascript_Core/interpreter/Interpreter.cpp	2014-02-13 23:04:30 UTC (rev 164062)
+++ trunk/Source/_javascript_Core/interpreter/Interpreter.cpp	2014-02-13 23:07:12 UTC (rev 164063)
@@ -760,6 +760,7 @@
 
     ASSERT(!vm.exception());
     ASSERT(!vm.isCollectorBusy());
+    RELEASE_ASSERT(vm.currentThreadIsHoldingAPILock());
     if (vm.isCollectorBusy())
         return jsNull();
 
@@ -1075,6 +1076,7 @@
     SamplingScope samplingScope(this);
     
     ASSERT(!vm.isCollectorBusy());
+    RELEASE_ASSERT(vm.currentThreadIsHoldingAPILock());
     if (vm.isCollectorBusy())
         return jsNull();
 
@@ -1110,6 +1112,7 @@
     ASSERT(scope->vm() == &callFrame->vm());
     ASSERT(!vm.exception());
     ASSERT(!vm.isCollectorBusy());
+    RELEASE_ASSERT(vm.currentThreadIsHoldingAPILock());
     if (vm.isCollectorBusy())
         return jsNull();
 

Modified: trunk/Source/_javascript_Core/runtime/JSLock.cpp (164062 => 164063)


--- trunk/Source/_javascript_Core/runtime/JSLock.cpp	2014-02-13 23:04:30 UTC (rev 164062)
+++ trunk/Source/_javascript_Core/runtime/JSLock.cpp	2014-02-13 23:07:12 UTC (rev 164063)
@@ -221,6 +221,7 @@
 {
     if (!m_vm)
         return;
+    RELEASE_ASSERT(!m_vm->isCollectorBusy());
     m_droppedLockCount = m_vm->apiLock().dropAllLocks(this);
 }
 
@@ -230,6 +231,7 @@
 {
     if (!m_vm)
         return;
+    RELEASE_ASSERT(!m_vm->isCollectorBusy());
     m_droppedLockCount = m_vm->apiLock().dropAllLocks(this);
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to