Bug 239258

Summary: [JSC] Add partial inlining in the DFG/FTL
Product: WebKit Reporter: Robin Morisset <rmorisset>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Robin Morisset 2022-04-12 15:39:07 PDT
Some functions (e.g. the hottest function in the ML subtest of JetStream2 if I remember correctly) have the following structure:
- A switch or branch on the number of arguments, or the type of an argument, or the value of an argument
- All of the code is in the various branches.
- The function as a whole is too big to inline.
It would be great to be able to outline each of the branches, which would make the function as a whole trivially inlinable and would allow eliminating the branch in most cases.
According to some profiling I did a couple of years ago, it should have a significant impact on some subtests of JS2.
Comment 1 Radar WebKit Bug Importer 2022-04-19 15:40:12 PDT
<rdar://problem/91990465>