Title: [203615] trunk/Source/_javascript_Core
Revision
203615
Author
sbar...@apple.com
Date
2016-07-22 13:38:28 -0700 (Fri, 22 Jul 2016)

Log Message

REGRESSION(r203537): It made many tests crash on ARMv7 Linux platforms
https://bugs.webkit.org/show_bug.cgi?id=160082

Reviewed by Keith Miller.

We were improperly linking the Jump in the link buffer.
It caused us to be linking against the executable address
which always has bit 0 set. We shouldn't be doing that.
This patch fixes this, by using the same idiom that
PolymorphicAccess uses to link a jump to out of line code.

* jit/JITMathIC.h:
(JSC::JITMathIC::generateOutOfLine):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (203614 => 203615)


--- trunk/Source/_javascript_Core/ChangeLog	2016-07-22 20:36:31 UTC (rev 203614)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-07-22 20:38:28 UTC (rev 203615)
@@ -1,3 +1,19 @@
+2016-07-22  Saam Barati  <sbar...@apple.com>
+
+        REGRESSION(r203537): It made many tests crash on ARMv7 Linux platforms
+        https://bugs.webkit.org/show_bug.cgi?id=160082
+
+        Reviewed by Keith Miller.
+
+        We were improperly linking the Jump in the link buffer.
+        It caused us to be linking against the executable address
+        which always has bit 0 set. We shouldn't be doing that.
+        This patch fixes this, by using the same idiom that
+        PolymorphicAccess uses to link a jump to out of line code.
+
+        * jit/JITMathIC.h:
+        (JSC::JITMathIC::generateOutOfLine):
+
 2016-07-22  Commit Queue  <commit-qu...@webkit.org>
 
         Unreviewed, rolling out r203603.

Modified: trunk/Source/_javascript_Core/jit/JITMathIC.h (203614 => 203615)


--- trunk/Source/_javascript_Core/jit/JITMathIC.h	2016-07-22 20:36:31 UTC (rev 203614)
+++ trunk/Source/_javascript_Core/jit/JITMathIC.h	2016-07-22 20:38:28 UTC (rev 203615)
@@ -128,7 +128,7 @@
             RELEASE_ASSERT(jit.m_assembler.buffer().codeSize() <= static_cast<size_t>(m_inlineSize));
             LinkBuffer linkBuffer(jit, m_inlineStart.dataLocation(), jit.m_assembler.buffer().codeSize(), JITCompilationMustSucceed, needsBranchCompaction);
             RELEASE_ASSERT(linkBuffer.isValid());
-            linkBuffer.link(jump, CodeLocationLabel(m_code.code().executableAddress()));
+            linkBuffer.link(jump, CodeLocationLabel(m_code.code()));
             FINALIZE_CODE(linkBuffer, ("JITMathIC: linking constant jump to out of line stub"));
         }
     }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to