Bug 234538

Summary: [WebIDL] Eagerly allocate element wrappers onto a butterfly storage of a static NodeList
Product: WebKit Reporter: Alexey Shvayka <ashvayka>
Component: BindingsAssignee: Alexey Shvayka <ashvayka>
Status: REOPENED ---    
Severity: Normal CC: cdumez, commit-queue, darin, esprehn+autocc, ews-watchlist, ggaren, kangil.han, keith_miller, mark.lam, msaboff, saam, tzagallo, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: All   
OS: All   
Bug Depends on: 218849, 244444, 245151    
Bug Blocks:    
Attachments:
Description Flags
WIP none

Description Alexey Shvayka 2021-12-20 17:38:50 PST
Preliminary microbenchmark results suggest 65% speed-up if a static NodeList is iterated at least once.
Comment 1 Radar WebKit Bug Importer 2021-12-27 17:39:27 PST
<rdar://problem/86946513>
Comment 2 Alexey Shvayka 2022-01-06 11:53:01 PST
Created attachment 448520 [details]
WIP
Comment 3 Geoffrey Garen 2022-01-06 12:23:13 PST
Comment on attachment 448520 [details]
WIP

View in context: https://bugs.webkit.org/attachment.cgi?id=448520&action=review

> Source/JavaScriptCore/runtime/JSTypeInfo.h:113
> +    bool getOwnPropertySlotByIndexIsWrongAboutReadOnly() const { return isSetOnFlags2<GetOwnPropertySlotByIndexIsWrongAboutReadOnly>(); }

I'd suggest a name that describes what is true rather than what is false. Maybe something like "IndexedPropertiesAreReadOnly" or "PutByIndexOverrideWillProhibitWrites" or something like that.
Comment 4 Alexey Shvayka 2022-08-01 13:34:33 PDT
Pull request: https://github.com/WebKit/WebKit/pull/2915
Comment 5 EWS 2022-08-26 12:53:50 PDT
Committed 253834@main (e0c79898e6c5): <https://commits.webkit.org/253834@main>

Reviewed commits have been landed. Closing PR #2915 and removing active labels.
Comment 6 WebKit Commit Bot 2022-08-27 22:15:56 PDT
Re-opened since this is blocked by bug 244444
Comment 7 Alexey Shvayka 2022-08-29 15:30:56 PDT
Pull request: https://github.com/WebKit/WebKit/pull/3786
Comment 8 EWS 2022-08-30 08:41:34 PDT
Committed 253946@main (9d5bc2bbab71): <https://commits.webkit.org/253946@main>

Reviewed commits have been landed. Closing PR #3786 and removing active labels.
Comment 9 Alexey Shvayka 2022-08-31 19:26:45 PDT
Re-opening for pull request https://github.com/WebKit/WebKit/pull/3902
Comment 10 EWS 2022-09-01 03:05:34 PDT
Committed 254036@main (de4790b17831): <https://commits.webkit.org/254036@main>

Reviewed commits have been landed. Closing PR #3902 and removing active labels.
Comment 11 WebKit Commit Bot 2022-09-13 10:56:04 PDT
Re-opened since this is blocked by bug 245151
Comment 12 Darin Adler 2022-10-15 15:58:32 PDT
Before re-landing this check to make sure we don’t reintroduce bug 244900.