Title: [115755] trunk/Source/WebCore
Revision
115755
Author
jchaffr...@webkit.org
Date
2012-05-01 15:35:52 -0700 (Tue, 01 May 2012)

Log Message

Remove one bit from m_column to pack RenderTableCell bits more
https://bugs.webkit.org/show_bug.cgi?id=85291

Reviewed by Ojan Vafai.

Memory improvement, covered by the existing unit tests.

* rendering/RenderTableCell.cpp:
* rendering/RenderTableCell.h:
Remove one bit from m_column (which should be fine as I wouldn't expect tables above 1 millions
columns to render at all anyway) to pack the bitfields in 32 bits. Re-arranged the bits to have the bigger
bitfield first.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (115754 => 115755)


--- trunk/Source/WebCore/ChangeLog	2012-05-01 22:30:42 UTC (rev 115754)
+++ trunk/Source/WebCore/ChangeLog	2012-05-01 22:35:52 UTC (rev 115755)
@@ -1,3 +1,18 @@
+2012-05-01  Julien Chaffraix  <jchaffr...@webkit.org>
+
+        Remove one bit from m_column to pack RenderTableCell bits more
+        https://bugs.webkit.org/show_bug.cgi?id=85291
+
+        Reviewed by Ojan Vafai.
+
+        Memory improvement, covered by the existing unit tests.
+
+        * rendering/RenderTableCell.cpp:
+        * rendering/RenderTableCell.h:
+        Remove one bit from m_column (which should be fine as I wouldn't expect tables above 1 millions
+        columns to render at all anyway) to pack the bitfields in 32 bits. Re-arranged the bits to have the bigger
+        bitfield first.
+
 2012-05-01  Anders Carlsson  <ander...@apple.com>
 
         Slow scrolling on www.sholby.net

Modified: trunk/Source/WebCore/rendering/RenderTableCell.cpp (115754 => 115755)


--- trunk/Source/WebCore/rendering/RenderTableCell.cpp	2012-05-01 22:30:42 UTC (rev 115754)
+++ trunk/Source/WebCore/rendering/RenderTableCell.cpp	2012-05-01 22:35:52 UTC (rev 115755)
@@ -43,8 +43,8 @@
 
 RenderTableCell::RenderTableCell(Node* node)
     : RenderBlock(node)
+    , m_column(unsetColumnIndex)
     , m_cellWidthChanged(false)
-    , m_column(unsetColumnIndex)
     , m_hasAssociatedTableCellElement(node && (node->hasTagName(tdTag) || node->hasTagName(thTag)))
     , m_intrinsicPaddingBefore(0)
     , m_intrinsicPaddingAfter(0)

Modified: trunk/Source/WebCore/rendering/RenderTableCell.h (115754 => 115755)


--- trunk/Source/WebCore/rendering/RenderTableCell.h	2012-05-01 22:30:42 UTC (rev 115754)
+++ trunk/Source/WebCore/rendering/RenderTableCell.h	2012-05-01 22:35:52 UTC (rev 115755)
@@ -30,8 +30,8 @@
 
 namespace WebCore {
 
-static const unsigned unsetColumnIndex = 0x7FFFFFFF;
-static const unsigned maxColumnIndex = 0x7FFFFFFE; // 2,147,483,646
+static const unsigned unsetColumnIndex = 0x3FFFFFFF;
+static const unsigned maxColumnIndex = 0x3FFFFFFE; // 1,073,741,823
 
 enum IncludeBorderColorOrNot { DoNotIncludeBorderColor, IncludeBorderColor };
 
@@ -181,8 +181,8 @@
     CollapsedBorderValue computeCollapsedBeforeBorder(IncludeBorderColorOrNot = IncludeBorderColor) const;
     CollapsedBorderValue computeCollapsedAfterBorder(IncludeBorderColorOrNot = IncludeBorderColor) const;
 
+    unsigned m_column : 30;
     bool m_cellWidthChanged : 1;
-    unsigned m_column : 31;
     bool m_hasAssociatedTableCellElement : 1;
     int m_intrinsicPaddingBefore;
     int m_intrinsicPaddingAfter;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to