| Summary: | DFG should allow inlining of op_call_varargs calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Filip Pizlo <fpizlo> | ||||||
| Component: | JavaScriptCore | Assignee: | Filip Pizlo <fpizlo> | ||||||
| Status: | RESOLVED FIXED | ||||||||
| Severity: | Normal | CC: | atrick, barraclough, ggaren, mark.lam, mhahnenberg, mmirman, msaboff, nrotem, oliver, sam | ||||||
| Priority: | P2 | ||||||||
| Version: | 528+ (Nightly build) | ||||||||
| Hardware: | All | ||||||||
| OS: | All | ||||||||
| Bug Depends on: | |||||||||
| Bug Blocks: | 127335 | ||||||||
| Attachments: |
|
||||||||
|
Description
Filip Pizlo
2014-01-23 20:07:49 PST
This is freakishly weird because of how op_call_varargs gets its arguments. I think we can make it work, though. The important thing is that the ByteCodeParser needs to use the firstFreeRegister operand to decode how to lay out the call as if it was a normal call, and then to emit a sled of SetLocal's representing the arguments - again, as if this had been a normal call. Those SetLocals would be ImmediateSet. Anyway, it'l be super amazing. Created attachment 222130 [details]
getting there
It still has OSR exit issues but it's starting to look like something.
Created attachment 222144 [details]
the patch
Landed in http://trac.webkit.org/changeset/162739 |