Title: [217242] trunk/Source/WebCore
Revision
217242
Author
za...@apple.com
Date
2017-05-22 13:28:06 -0700 (Mon, 22 May 2017)

Log Message

SameSizeAsInlineBox mismatch on ARMV7.
https://bugs.webkit.org/show_bug.cgi?id=172459

Reviewed by Simon Fraser.

Due to the ARMV7/i386 padding behaviour mismatch, forcing m_bitfields to be 32bits does not always
produce the desired padding.
Move the bool to the end of the member list and let m_deletionSentinel (4bytes) force
padding.

* rendering/InlineBox.cpp:
* rendering/InlineBox.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (217241 => 217242)


--- trunk/Source/WebCore/ChangeLog	2017-05-22 20:12:43 UTC (rev 217241)
+++ trunk/Source/WebCore/ChangeLog	2017-05-22 20:28:06 UTC (rev 217242)
@@ -1,3 +1,18 @@
+2017-05-22  Zalan Bujtas  <za...@apple.com>
+
+        SameSizeAsInlineBox mismatch on ARMV7.
+        https://bugs.webkit.org/show_bug.cgi?id=172459
+
+        Reviewed by Simon Fraser.
+
+        Due to the ARMV7/i386 padding behaviour mismatch, forcing m_bitfields to be 32bits does not always
+        produce the desired padding.
+        Move the bool to the end of the member list and let m_deletionSentinel (4bytes) force
+        padding.
+
+        * rendering/InlineBox.cpp:
+        * rendering/InlineBox.h:
+
 2017-05-22  Myles C. Maxfield  <mmaxfi...@apple.com>
 
         Enable the woff2-variations @font-face format identifier

Modified: trunk/Source/WebCore/rendering/InlineBox.cpp (217241 => 217242)


--- trunk/Source/WebCore/rendering/InlineBox.cpp	2017-05-22 20:12:43 UTC (rev 217241)
+++ trunk/Source/WebCore/rendering/InlineBox.cpp	2017-05-22 20:28:06 UTC (rev 217242)
@@ -39,11 +39,11 @@
     void* a[4];
     FloatPoint b;
     float c[2];
-    unsigned d; /*InlineBoxBitfields m_bitfields is padded to 32bits*/
+    unsigned d : 23;
 #if !ASSERT_WITH_SECURITY_IMPLICATION_DISABLED
-    bool i;
     unsigned s;
     bool f;
+    bool i;
 #endif
 };
 

Modified: trunk/Source/WebCore/rendering/InlineBox.h (217241 => 217242)


--- trunk/Source/WebCore/rendering/InlineBox.h	2017-05-22 20:12:43 UTC (rev 217241)
+++ trunk/Source/WebCore/rendering/InlineBox.h	2017-05-22 20:28:06 UTC (rev 217242)
@@ -412,13 +412,13 @@
     bool extracted() const { return m_bitfields.extracted(); }
 
 #if !ASSERT_WITH_SECURITY_IMPLICATION_DISABLED
-protected:
-    bool m_isEverInChildList { true };
 private:
     static constexpr unsigned deletionSentinelNotDeletedValue = 0xF0F0F0F0U;
     static constexpr unsigned deletionSentinelDeletedValue = 0xF0DEADF0U;
     unsigned m_deletionSentinel { deletionSentinelNotDeletedValue };
     bool m_hasBadParent { false };
+protected:
+    bool m_isEverInChildList { true };
 #endif
 };
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to