Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 6aa472c27a8ade5cad6dffe3f8a809688d9d559f https://github.com/WebKit/WebKit/commit/6aa472c27a8ade5cad6dffe3f8a809688d9d559f Author: Sam Weinig <s...@webkit.org> Date: 2024-09-17 (Tue, 17 Sep 2024)
Changed paths: M Source/WTF/wtf/Compiler.h M Source/WTF/wtf/StdLibExtras.h Log Message: ----------- REGRESSION (282580@main): 4.5MB binary size increase https://bugs.webkit.org/show_bug.cgi?id=279498 Reviewed by Darin Adler. The implementation of std::visit in some standard library implementations, including the current libc++, can cause excessive code generation size. This works around it for the case of a visit with a single variant, the most common use case in WebKit and the one used by WTF::switchOn, by using a switch-based implementation. Measured locally, this is a ~10% code size improvement for WebCore.framework: FILE SIZE VM SIZE -------------- -------------- +0.8% +5.41Ki +0.8% +5.41Ki __TEXT,__const +105% +5.31Ki +105% +5.31Ki [__TEXT] +0.0% +2 +0.0% +2 __TEXT,__objc_methname -0.3% -8 -0.3% -8 __TEXT,__eh_frame -0.0% -44 -0.0% -44 __TEXT,__gcc_except_tab -0.0% -198 -0.0% -198 __TEXT,__cstring -0.3% -216 -0.3% -216 __TEXT,__unwind_info [ = ] 0 -0.4% -4.00Ki [__LINKEDIT] -2.8% -6.79Ki -2.8% -6.79Ki Function Start Addresses -70.8% -6.98Ki -70.8% -6.98Ki [__DATA_CONST] -2.1% -57.0Ki -2.1% -57.0Ki __DATA_CONST,__const -10.0% -91.6Ki -10.0% -91.6Ki Code Signature -0.4% -154Ki -0.4% -154Ki __TEXT,__text -3.6% -502Ki -3.6% -502Ki Symbol Table -20.0% -10.8Mi -20.0% -10.8Mi String Table -10.2% -11.5Mi -10.2% -11.5Mi TOTAL * Source/WTF/wtf/Compiler.h: * Source/WTF/wtf/StdLibExtras.h: Canonical link: https://commits.webkit.org/283806@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