Bug 220204
Summary: | [JSC] bluenoise script takes too long time | ||
---|---|---|---|
Product: | WebKit | Reporter: | Yusuke Suzuki <ysuzuki> |
Component: | JavaScriptCore | Assignee: | 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
This sounds like some optimization failure in DFG/FTL. We should fix.
https://twitter.com/DasSurma/status/1344325758089650178
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/72744961>
Yusuke Suzuki
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
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
Let's fix this with https://bugs.webkit.org/show_bug.cgi?id=220254
Brent Fulgham
*** This bug has been marked as a duplicate of bug 220254 ***