Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d1a126e1325e2bb2dfcb595964988262ef0e14f0 https://github.com/WebKit/WebKit/commit/d1a126e1325e2bb2dfcb595964988262ef0e14f0 Author: David Kilzer <ddkil...@apple.com> Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths: M Source/WebCore/html/CanvasBase.h M Source/WebCore/html/CustomPaintCanvas.h M Source/WebCore/html/HTMLCanvasElement.cpp M Source/WebCore/html/HTMLCanvasElement.h M Source/WebCore/html/OffscreenCanvas.h Log Message: ----------- [WebCore] Reduce size of CustomPaintCanvas, HTMLCanvasElement, OffscreenCanvas by 8 bytes each <https://bugs.webkit.org/show_bug.cgi?id=287777> <rdar://144952951> Reviewed by Ryosuke Niwa. * Source/WebCore/html/CanvasBase.h: (WebCore::CanvasBase): - Move WeakHashSet instance variables so that bool variables are last in the class. This lets us use the last 6 bytes of padding to save space in subclasses which inherit from RefCounted<> or that have bool instance variables. The size of CanvasBase remains at 120 bytes. * Source/WebCore/html/CustomPaintCanvas.h: (WebCore::CustomPaintCanvas): - Reorder class inheritance to inherit from CanvasBase then RefCounted<> because RefCounted<> fits within the last 6 free bytes of CanvasBase. This reduces the size of CustomPaintCanvas from 168 to 160 bytes. * Source/WebCore/html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::HTMLCanvasElement): - Reorder initializer list for change to class definition. * Source/WebCore/html/HTMLCanvasElement.h: (WebCore::HTMLCanvasElement): - Reorder class inheritance to inherit from CanvasBase last since it has 6 bytes of padding. Then move 4 bool instance variables to the beginning of HTMLCanvasElement so they can be packed in the padding. This reduces the size of HTMLCanvasElement from 304 to 296 bytes. * Source/WebCore/html/OffscreenCanvas.h: (WebCore::OffscreenCanvas): - Reorder class inheritance to inherit from CanvasBase then RefCounted<> because RefCounted<> fits within the last 6 free bytes of CanvasBase. This reduces the size of OffscreenCanvas from 224 to 216 bytes. Canonical link: https://commits.webkit.org/290488@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes