Bug 220204

Summary: [JSC] bluenoise script takes too long time
Product: WebKit Reporter: Yusuke Suzuki <ysuzuki>
Component: JavaScriptCoreAssignee: Yusuke Suzuki <ysuzuki>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: bfulgham, krollin, mark.lam, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 220254, 220219    
Bug Blocks:    

Yusuke Suzuki
Reported 2020-12-30 15:54:39 PST
This sounds like some optimization failure in DFG/FTL. We should fix. https://twitter.com/DasSurma/status/1344325758089650178
Attachments
Radar WebKit Bug Importer
Comment 1 2020-12-30 16:07:12 PST
Yusuke Suzuki
Comment 2 2021-01-01 01:43:31 PST
OK, this is not something simple issue. The main reason why this takes some time is that, valueAt and setValueAt are not inlined. Their callers and callees are creating objects frequently (return value / parameter). If they are inlined, FTL compiler knows that these objects are not escaped so we can completely eliminate object allocations for them. However, if they are not inlined, we need to allocate them since it is escaped inside this function. This is the reason why they are slow. And why they are not inlined is because they are complex enough and taking enough amount of bytecodes which prevents inlining.
Yusuke Suzuki
Comment 3 2021-01-01 04:14:12 PST
https://bugs.webkit.org/show_bug.cgi?id=220219 does not fix this. But it slightly removes unnecessary bytecodes that can be seen commonly.
Yusuke Suzuki
Comment 4 2021-01-04 13:49:42 PST
Brent Fulgham
Comment 5 2022-02-12 19:47:30 PST
*** This bug has been marked as a duplicate of bug 220254 ***
Note You need to log in before you can comment on or make changes to this bug.