RESOLVED FIXED 226946
Lazily compute SecurityOrigin::m_isPotentiallyTrustworthy for performance
https://bugs.webkit.org/show_bug.cgi?id=226946
Summary Lazily compute SecurityOrigin::m_isPotentiallyTrustworthy for performance
Chris Dumez
Reported 2021-06-11 16:22:24 PDT
We currently initialize m_isPotentiallyTrustworthy in the SecurityOrigin constructor. However, it is a bit expensive to compute and shows on profiles, and we often don't actually use this data member. As a result, this patch makes it so that SecurityOrigin::m_isPotentiallyTrustworthy gets computed lazily.
Attachments
Patch (3.42 KB, patch)
2021-06-11 16:24 PDT, Chris Dumez
no flags
Patch (3.42 KB, patch)
2021-06-11 16:50 PDT, Chris Dumez
no flags
Patch (3.43 KB, patch)
2021-06-11 16:51 PDT, Chris Dumez
ews-feeder: commit-queue-
Patch (3.45 KB, patch)
2021-06-11 17:13 PDT, Chris Dumez
no flags
Chris Dumez
Comment 1 2021-06-11 16:24:04 PDT
Alex Christensen
Comment 2 2021-06-11 16:26:07 PDT
Comment on attachment 431240 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=431240&action=review > Source/WebCore/page/SecurityOrigin.cpp:496 > + return m_isPotentiallyTrustworthy; return *m_isPotentiallyTrustworthy; > Source/WebCore/page/SecurityOrigin.h:246 > + std::optional<bool> m_isPotentiallyTrustworthy; This uses more memory. To offset this, could you make some of the surrounding booleans bit fields?
Chris Dumez
Comment 3 2021-06-11 16:49:59 PDT
(In reply to Alex Christensen from comment #2) > Comment on attachment 431240 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=431240&action=review > > > Source/WebCore/page/SecurityOrigin.cpp:496 > > + return m_isPotentiallyTrustworthy; > > return *m_isPotentiallyTrustworthy; Indeed, oops. > > > Source/WebCore/page/SecurityOrigin.h:246 > > + std::optional<bool> m_isPotentiallyTrustworthy; > > This uses more memory. To offset this, could you make some of the > surrounding booleans bit fields? sizeof(SecurityOrigin) is 64 before and after my change so let's not?
Chris Dumez
Comment 4 2021-06-11 16:50:27 PDT
Chris Dumez
Comment 5 2021-06-11 16:51:07 PDT
Chris Dumez
Comment 6 2021-06-11 17:13:53 PDT
EWS
Comment 7 2021-06-11 19:36:38 PDT
Committed r278806 (238763@main): <https://commits.webkit.org/238763@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 431245 [details].
Radar WebKit Bug Importer
Comment 8 2021-06-11 19:37:17 PDT
Note You need to log in before you can comment on or make changes to this bug.