|Summary:||[JSC] bluenoise script takes too long time|
|Product:||WebKit||Reporter:||Yusuke Suzuki <ysuzuki>|
|Severity:||Normal||CC:||bfulgham, krollin, mark.lam, simon.fraser, webkit-bug-importer|
|Version:||WebKit Nightly Build|
|Bug Depends on:||220254, 220219|
Description Yusuke Suzuki 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
Comment 2 Yusuke Suzuki 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.
Comment 3 Yusuke Suzuki 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.
Comment 4 Yusuke Suzuki 2021-01-04 13:49:42 PST
Let's fix this with https://bugs.webkit.org/show_bug.cgi?id=220254