Title: [275632] trunk/Source/WebCore
- Revision
- 275632
- Author
- [email protected]
- Date
- 2021-04-07 15:17:52 -0700 (Wed, 07 Apr 2021)
Log Message
Wasted vector capacity in RenderLayer lists
https://bugs.webkit.org/show_bug.cgi?id=224170
Reviewed by Sam Weinig.
Shrink RenderLayer normal flow and z-order lists.
This saves about 800KB on twitter.com.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateNormalFlowList):
(WebCore::RenderLayer::rebuildZOrderLists):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (275631 => 275632)
--- trunk/Source/WebCore/ChangeLog 2021-04-07 22:11:08 UTC (rev 275631)
+++ trunk/Source/WebCore/ChangeLog 2021-04-07 22:17:52 UTC (rev 275632)
@@ -1,3 +1,18 @@
+2021-04-07 Simon Fraser <[email protected]>
+
+ Wasted vector capacity in RenderLayer lists
+ https://bugs.webkit.org/show_bug.cgi?id=224170
+
+ Reviewed by Sam Weinig.
+
+ Shrink RenderLayer normal flow and z-order lists.
+
+ This saves about 800KB on twitter.com.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateNormalFlowList):
+ (WebCore::RenderLayer::rebuildZOrderLists):
+
2021-04-07 Zalan Bujtas <[email protected]>
[LFC][IFC] Remove InlineLines and InlineLineBoxes inline capacity of 10
Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (275631 => 275632)
--- trunk/Source/WebCore/rendering/RenderLayer.cpp 2021-04-07 22:11:08 UTC (rev 275631)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp 2021-04-07 22:17:52 UTC (rev 275632)
@@ -701,7 +701,10 @@
m_normalFlowList->append(child);
}
}
-
+
+ if (m_normalFlowList)
+ m_normalFlowList->shrinkToFit();
+
m_normalFlowListDirty = false;
}
@@ -748,11 +751,15 @@
};
// Sort the two lists.
- if (posZOrderList)
+ if (posZOrderList) {
std::stable_sort(posZOrderList->begin(), posZOrderList->end(), compareZIndex);
+ posZOrderList->shrinkToFit();
+ }
- if (negZOrderList)
+ if (negZOrderList) {
std::stable_sort(negZOrderList->begin(), negZOrderList->end(), compareZIndex);
+ negZOrderList->shrinkToFit();
+ }
}
void RenderLayer::collectLayers(bool includeHiddenLayers, std::unique_ptr<Vector<RenderLayer*>>& positiveZOrderList, std::unique_ptr<Vector<RenderLayer*>>& negativeZOrderList, OptionSet<Compositing>& accumulatedDirtyFlags)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes