Bug 224414

Summary: [JSC] Do not copy StringSwitchJumpTable
Product: WebKit Reporter: Yusuke Suzuki <ysuzuki>
Component: New BugsAssignee: Yusuke Suzuki <ysuzuki>
Status: RESOLVED FIXED    
Severity: Normal CC: ews-watchlist, keith_miller, mark.lam, msaboff, saam, tzagallo, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch keith_miller: review+

Yusuke Suzuki
Reported 2021-04-10 22:07:29 PDT
[JSC] Do not copy StringSwitchJumpTable
Attachments
Patch (41.30 KB, patch)
2021-04-10 22:12 PDT, Yusuke Suzuki
keith_miller: review+
Yusuke Suzuki
Comment 1 2021-04-10 22:12:01 PDT
Yusuke Suzuki
Comment 2 2021-04-11 02:43:29 PDT
My plan is doing the similar thing for SimpleJumpTable, but that was a bit more complicated.
Keith Miller
Comment 3 2021-04-12 12:57:38 PDT
Comment on attachment 425699 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=425699&action=review r=me > Source/JavaScriptCore/ChangeLog:8 > + Previously, we are copying UnlinkedStringJumpTable to CodeBlock's StringJumpTable because we are embedding CodeLocation pointer Nit: Since previously is past tense the verb should be were rather than are. Also: "because we are embedding" => "because we embed" > Source/JavaScriptCore/ChangeLog:9 > + inside CodeBlock's StringJumpTable. This is copying mostly identical hashtable to each CodeBlock even in DFG and FTL. And this Nit: "copying mostly" => "copying a mostly". You can also drop the "and in the third sentence. > Source/JavaScriptCore/ChangeLog:10 > + even prevents us from inlining op_switch_string in DFG and FTL. Maybe explain why it prevents inlining. > Source/JavaScriptCore/ChangeLog:15 > + from copying unnecessary hashtable, and even this paves the way to inlining switch_string in DFG and FTL. Nit: hashtables*
Yusuke Suzuki
Comment 4 2021-04-12 15:01:33 PDT
Radar WebKit Bug Importer
Comment 5 2021-04-12 15:02:13 PDT
Note You need to log in before you can comment on or make changes to this bug.