NEW256435
AX: De-virtualize AXCoreObject::isDetachedFromParent
https://bugs.webkit.org/show_bug.cgi?id=256435
Summary AX: De-virtualize AXCoreObject::isDetachedFromParent
Tyler Wilcock
Reported 2023-05-07 16:02:32 PDT
This function is called in hot paths and takes non-insignificant amounts of time in samples.
Attachments
Patch (10.66 KB, patch)
2023-05-07 16:16 PDT, Tyler Wilcock
andresg_22: review-
Radar WebKit Bug Importer
Comment 1 2023-05-07 16:02:45 PDT
Tyler Wilcock
Comment 2 2023-05-07 16:16:36 PDT
Andres Gonzalez
Comment 3 2023-05-08 06:47:40 PDT
(In reply to Tyler Wilcock from comment #2) > Created attachment 466266 [details] > Patch --- a/Source/WebCore/accessibility/AccessibilityMockObject.cpp +++ b/Source/WebCore/accessibility/AccessibilityMockObject.cpp +void AccessibilityMockObject::setParent(AccessibilityObject* parent) +{ + m_parent = parent; + m_isDetachedFromParent = !parent; +} Do we even need to keep m_isDetachedFromParent? I'd think that we could tell whether has a parent or not just by checking m_parent. --- a/Source/WebCore/accessibility/AccessibilityObjectInterface.h +++ b/Source/WebCore/accessibility/AccessibilityObjectInterface.h - virtual bool isDetachedFromParent() = 0; + // Intentionally non-virtual because this is called in hot paths. + bool isDetachedFromParent() const { return m_isDetachedFromParent; } Again, don't think we need m_isDetachedFromParent, check for the parent instead.
Note You need to log in before you can comment on or make changes to this bug.