Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f4cd05fb5b19e4d48fdbbaa1cd86e3b83d6ee475 https://github.com/WebKit/WebKit/commit/f4cd05fb5b19e4d48fdbbaa1cd86e3b83d6ee475 Author: Dominic Mazzoni <dm_mazz...@apple.com> Date: 2024-05-17 (Fri, 17 May 2024)
Changed paths: M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp M Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp M Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h Log Message: ----------- AX: it's inefficient to put large object types in AXPropertyValueVariant https://bugs.webkit.org/show_bug.cgi?id=273959 rdar://problem/127821883 Reviewed by Andres Gonzalez. sizeof(AXPropertyValueVariant) is currently 88 bytes. If we take out URL and Path, it drops to 32 bytes, which is a very significant savings since we're storing lots of these for every isolated tree node. Wrapping URL and Path in shared_ptr is an easy workaround. That way only the pointer is stored in the variant. We can't use unique_ptr because we store the variant in a HashMap that requires it to be copyable. * Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp: (WebCore::AXIsolatedObject::initializeProperties): (WebCore::AXIsolatedObject::setProperty): (WebCore::AXIsolatedObject::urlAttributeValue const): (WebCore::AXIsolatedObject::pathAttributeValue const): * Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.h: (WebCore::AXIsolatedObject::propertyValue const): * Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp: (WebCore::AXIsolatedTree::create): (WebCore::AXIsolatedTree::updateNodeProperties): * Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.h: Canonical link: https://commits.webkit.org/278940@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