Title: [121928] trunk/Source/_javascript_Core
- Revision
- 121928
- Author
- msab...@apple.com
- Date
- 2012-07-05 17:04:05 -0700 (Thu, 05 Jul 2012)
Log Message
JSString::tryHashConstLock() fails to get exclusive lock
https://bugs.webkit.org/show_bug.cgi?id=90639
Reviewed by Oliver Hunt.
Added check that the string is already locked even before compare and swap.
* heap/MarkStack.cpp:
(JSC::JSString::tryHashConstLock):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (121927 => 121928)
--- trunk/Source/_javascript_Core/ChangeLog 2012-07-05 23:31:00 UTC (rev 121927)
+++ trunk/Source/_javascript_Core/ChangeLog 2012-07-06 00:04:05 UTC (rev 121928)
@@ -1,3 +1,15 @@
+2012-07-05 Michael Saboff <msab...@apple.com>
+
+ JSString::tryHashConstLock() fails to get exclusive lock
+ https://bugs.webkit.org/show_bug.cgi?id=90639
+
+ Reviewed by Oliver Hunt.
+
+ Added check that the string is already locked even before compare and swap.
+
+ * heap/MarkStack.cpp:
+ (JSC::JSString::tryHashConstLock):
+
2012-07-04 Filip Pizlo <fpi...@apple.com>
Inline property storage should not be wasted when it is exhausted
Modified: trunk/Source/_javascript_Core/heap/MarkStack.cpp (121927 => 121928)
--- trunk/Source/_javascript_Core/heap/MarkStack.cpp 2012-07-05 23:31:00 UTC (rev 121927)
+++ trunk/Source/_javascript_Core/heap/MarkStack.cpp 2012-07-06 00:04:05 UTC (rev 121928)
@@ -546,6 +546,10 @@
{
#if ENABLE(PARALLEL_GC)
unsigned currentFlags = m_flags;
+
+ if (currentFlags & HashConstLock)
+ return false;
+
unsigned newFlags = currentFlags | HashConstLock;
if (!WTF::weakCompareAndSwap(&m_flags, currentFlags, newFlags))
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes