Title: [106370] trunk/Source/_javascript_Core
Revision
106370
Author
msab...@apple.com
Date
2012-01-31 11:07:44 -0800 (Tue, 31 Jan 2012)

Log Message

ASSERT(m_jumpsToLink.isEmpty()) failing in ARMv7Assembler dtor
https://bugs.webkit.org/show_bug.cgi?id=77443

Reviewed by Gavin Barraclough.

Removed failing ASSERT() and thus destructor.  The ASSERT isn't needed.
We are hitting it in the YARR JIT case where we bail out and go to the
interpreter with a partially JIT'ed function.  Since we haven't linked
the JIT'ed code, there is likely to be some unresolved jumps in the vector
when the ARMv7Assembler destructor is called.  For the case where we
complete the JIT process, we clear the vector at the end of
LinkBuffer::linkCode (LinkBuffer.h:292).

* assembler/ARMv7Assembler.h:
(ARMv7Assembler):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (106369 => 106370)


--- trunk/Source/_javascript_Core/ChangeLog	2012-01-31 19:00:21 UTC (rev 106369)
+++ trunk/Source/_javascript_Core/ChangeLog	2012-01-31 19:07:44 UTC (rev 106370)
@@ -1,3 +1,21 @@
+2012-01-31  Michael Saboff  <msab...@apple.com>
+
+        ASSERT(m_jumpsToLink.isEmpty()) failing in ARMv7Assembler dtor
+        https://bugs.webkit.org/show_bug.cgi?id=77443
+
+        Reviewed by Gavin Barraclough.
+
+        Removed failing ASSERT() and thus destructor.  The ASSERT isn't needed.
+        We are hitting it in the YARR JIT case where we bail out and go to the
+        interpreter with a partially JIT'ed function.  Since we haven't linked
+        the JIT'ed code, there is likely to be some unresolved jumps in the vector
+        when the ARMv7Assembler destructor is called.  For the case where we
+        complete the JIT process, we clear the vector at the end of
+        LinkBuffer::linkCode (LinkBuffer.h:292).
+
+        * assembler/ARMv7Assembler.h:
+        (ARMv7Assembler):
+
 2012-01-31  Anders Carlsson  <ander...@apple.com>
 
         Vector<T>::operator== shouldn't require T to have operator!=

Modified: trunk/Source/_javascript_Core/assembler/ARMv7Assembler.h (106369 => 106370)


--- trunk/Source/_javascript_Core/assembler/ARMv7Assembler.h	2012-01-31 19:00:21 UTC (rev 106369)
+++ trunk/Source/_javascript_Core/assembler/ARMv7Assembler.h	2012-01-31 19:07:44 UTC (rev 106370)
@@ -414,11 +414,6 @@
 
 class ARMv7Assembler {
 public:
-    ~ARMv7Assembler()
-    {
-        ASSERT(m_jumpsToLink.isEmpty());
-    }
-
     typedef ARMRegisters::RegisterID RegisterID;
     typedef ARMRegisters::FPSingleRegisterID FPSingleRegisterID;
     typedef ARMRegisters::FPDoubleRegisterID FPDoubleRegisterID;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to