Title: [91706] trunk/Source/_javascript_Core
Revision
91706
Author
[email protected]
Date
2011-07-25 14:33:43 -0700 (Mon, 25 Jul 2011)

Log Message

Assertion called in ExecutableBase::generatedJITCodeForCall() when JIT is not available
https://bugs.webkit.org/show_bug.cgi?id=65132
<rdar://problem/9836297>

Reviewed by Oliver Hunt.

Make sure the JIT is available to use before running the following calls:

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::unlinkCalls): Added check, return early if JIT is not available.
* bytecode/CodeBlock.h:
(JSC::CodeBlock::addMethodCallLinkInfos): Added assertion.

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (91705 => 91706)


--- trunk/Source/_javascript_Core/ChangeLog	2011-07-25 21:01:45 UTC (rev 91705)
+++ trunk/Source/_javascript_Core/ChangeLog	2011-07-25 21:33:43 UTC (rev 91706)
@@ -1,3 +1,18 @@
+2011-07-25  Jon Lee  <[email protected]>
+
+        Assertion called in ExecutableBase::generatedJITCodeForCall() when JIT is not available
+        https://bugs.webkit.org/show_bug.cgi?id=65132
+        <rdar://problem/9836297>
+        
+        Reviewed by Oliver Hunt.
+        
+        Make sure the JIT is available to use before running the following calls:
+
+        * bytecode/CodeBlock.cpp:
+        (JSC::CodeBlock::unlinkCalls): Added check, return early if JIT is not available.
+        * bytecode/CodeBlock.h:
+        (JSC::CodeBlock::addMethodCallLinkInfos): Added assertion.
+
 2011-07-25  Juan C. Montemayor  <[email protected]>
 
         JSON errors should be informative

Modified: trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp (91705 => 91706)


--- trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp	2011-07-25 21:01:45 UTC (rev 91705)
+++ trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp	2011-07-25 21:33:43 UTC (rev 91706)
@@ -1749,6 +1749,8 @@
 {
     if (!(m_callLinkInfos.size() || m_methodCallLinkInfos.size()))
         return;
+    if (!m_globalData->canUseJIT())
+        return;
     RepatchBuffer repatchBuffer(this);
     for (size_t i = 0; i < m_callLinkInfos.size(); i++) {
         if (!m_callLinkInfos[i].isLinked())

Modified: trunk/Source/_javascript_Core/bytecode/CodeBlock.h (91705 => 91706)


--- trunk/Source/_javascript_Core/bytecode/CodeBlock.h	2011-07-25 21:01:45 UTC (rev 91705)
+++ trunk/Source/_javascript_Core/bytecode/CodeBlock.h	2011-07-25 21:33:43 UTC (rev 91706)
@@ -378,7 +378,7 @@
         size_t numberOfCallLinkInfos() const { return m_callLinkInfos.size(); }
         CallLinkInfo& callLinkInfo(int index) { return m_callLinkInfos[index]; }
 
-        void addMethodCallLinkInfos(unsigned n) { m_methodCallLinkInfos.grow(n); }
+        void addMethodCallLinkInfos(unsigned n) { ASSERT(m_globalData->canUseJIT()); m_methodCallLinkInfos.grow(n); }
         MethodCallLinkInfo& methodCallLinkInfo(int index) { return m_methodCallLinkInfos[index]; }
 #endif
         unsigned globalResolveInfoCount() const
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to