Bug 234538 - [WebIDL] Eagerly allocate element wrappers onto a butterfly storage of a static NodeList
Summary: [WebIDL] Eagerly allocate element wrappers onto a butterfly storage of a stat...
Status: ASSIGNED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Bindings (show other bugs)
Version: WebKit Nightly Build
Hardware: All All
: P2 Normal
Assignee: Alexey Shvayka
URL:
Keywords: InRadar
Depends on: 218849
Blocks:
  Show dependency treegraph
 
Reported: 2021-12-20 17:38 PST by Alexey Shvayka
Modified: 2022-01-06 12:23 PST (History)
11 users (show)

See Also:


Attachments
WIP (13.44 KB, patch)
2022-01-06 11:53 PST, Alexey Shvayka
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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.