Title: [170227] trunk/Source/WebCore
Revision
170227
Author
[email protected]
Date
2014-06-20 19:33:04 -0700 (Fri, 20 Jun 2014)

Log Message

Fix css jit on armv7.
https://bugs.webkit.org/show_bug.cgi?id=134143
<rdar://problem/17348060>

Patch by Alex Christensen <[email protected]> on 2014-06-20
Reviewed by Benjamin Poulain.

This fixes the acid3 test.

* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::addFlagsToElementStyleFromContext):
Correct high and low bits.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (170226 => 170227)


--- trunk/Source/WebCore/ChangeLog	2014-06-21 00:11:57 UTC (rev 170226)
+++ trunk/Source/WebCore/ChangeLog	2014-06-21 02:33:04 UTC (rev 170227)
@@ -1,3 +1,17 @@
+2014-06-20  Alex Christensen  <[email protected]>
+
+        Fix css jit on armv7.
+        https://bugs.webkit.org/show_bug.cgi?id=134143
+        <rdar://problem/17348060>
+
+        Reviewed by Benjamin Poulain.
+
+        This fixes the acid3 test.
+
+        * cssjit/SelectorCompiler.cpp:
+        (WebCore::SelectorCompiler::SelectorCodeGenerator::addFlagsToElementStyleFromContext):
+        Correct high and low bits.
+
 2014-06-20  Beth Dakin  <[email protected]>
 
         https://bugs.webkit.org/show_bug.cgi?id=134117

Modified: trunk/Source/WebCore/cssjit/SelectorCompiler.cpp (170226 => 170227)


--- trunk/Source/WebCore/cssjit/SelectorCompiler.cpp	2014-06-21 00:11:57 UTC (rev 170226)
+++ trunk/Source/WebCore/cssjit/SelectorCompiler.cpp	2014-06-21 02:33:04 UTC (rev 170227)
@@ -1413,9 +1413,9 @@
     // FIXME: We should look into doing something smart in MacroAssembler instead.
     Assembler::Address flagAddress(childStyle, RenderStyle::noninheritedFlagsMemoryOffset() + RenderStyle::NonInheritedFlags::flagsMemoryOffset());
 #if CPU(ARM_THUMB2)
-    Assembler::Address flagLowAddress(childStyle, RenderStyle::noninheritedFlagsMemoryOffset() + RenderStyle::NonInheritedFlags::flagsMemoryOffset() + 4);
-    m_assembler.or32(Assembler::TrustedImm32(newFlag >> 32), flagAddress);
-    m_assembler.or32(Assembler::TrustedImm32(newFlag & 0xFFFFFFFF), flagLowAddress);
+    m_assembler.or32(Assembler::TrustedImm32(newFlag & 0xffffffff), flagAddress);
+    Assembler::Address flagHighBits = flagAddress.withOffset(4);
+    m_assembler.or32(Assembler::TrustedImm32(newFlag >> 32), flagHighBits);
 #elif CPU(X86_64) || CPU(ARM64)
     LocalRegister flags(m_registerAllocator);
     m_assembler.load64(flagAddress, flags);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to