Bug 235536

Summary: Remove VM::stringCache
Product: WebKit Reporter: Cameron McCormack (:heycam) <heycam>
Component: JavaScriptCoreAssignee: Cameron McCormack (:heycam) <heycam>
Status: RESOLVED FIXED    
Severity: Normal CC: darin, ews-watchlist, keith_miller, mark.lam, msaboff, saam, sam, tzagallo, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Description Cameron McCormack (:heycam) 2022-01-24 13:40:15 PST
We consult VM::stringCache when creating a JSString, but since bug 142115 we never insert anything into it.

Removing this results in almost-significant improvements in the VueJS, Vanilla-ES2015, and jQuery sub-tests of Speedometer 2 (of 0.5-2%, 0.03 <= p <= 0.05), and an almost significant 0.2% improvement in the overall score (p = 0.06).
Comment 1 Cameron McCormack (:heycam) 2022-01-24 13:42:16 PST
Created attachment 449849 [details]
Patch
Comment 2 Darin Adler 2022-01-24 16:59:02 PST
Comment on attachment 449849 [details]
Patch

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

> Source/JavaScriptCore/ChangeLog:9
> +        We consult VM::stringCache when creating a JSString, but since
> +        bug 142115 we never insert anything into it.

6 years, wow

I wonder if the patch making it work again would make things even faster. I suppose it comes with the risk of memory use regression.
Comment 3 EWS 2022-01-24 21:14:26 PST
Committed r288537 (246369@main): <https://commits.webkit.org/246369@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449849 [details].
Comment 4 Radar WebKit Bug Importer 2022-01-24 21:15:16 PST
<rdar://problem/88006205>