| Summary: | FTL should be able to do call ICs | ||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Filip Pizlo <fpizlo> | ||||||||||||||||||||||||||||||
| Component: | JavaScriptCore | Assignee: | Filip Pizlo <fpizlo> | ||||||||||||||||||||||||||||||
| Status: | RESOLVED FIXED | ||||||||||||||||||||||||||||||||
| Severity: | Normal | CC: | barraclough, ggaren, mark.lam, mhahnenberg, msaboff, nrotem, oliver, sam | ||||||||||||||||||||||||||||||
| Priority: | P2 | ||||||||||||||||||||||||||||||||
| Version: | 528+ (Nightly build) | ||||||||||||||||||||||||||||||||
| Hardware: | All | ||||||||||||||||||||||||||||||||
| OS: | All | ||||||||||||||||||||||||||||||||
| Bug Depends on: | |||||||||||||||||||||||||||||||||
| Bug Blocks: | 113621 | ||||||||||||||||||||||||||||||||
| Attachments: |
|
||||||||||||||||||||||||||||||||
|
Description
Filip Pizlo
2013-12-16 15:51:31 PST
Created attachment 219363 [details]
work in progress
Created attachment 219369 [details]
mostly done
This works for FTL->FTL calls.
Now I need to put in the appropriate thunking for FTL->!FTL calls.
Created attachment 219385 [details]
more...
Created attachment 219395 [details]
register preservation is written
I still need to glue it together.
Created attachment 219454 [details]
mostly there
Created attachment 219494 [details]
more
Created attachment 219497 [details]
even more...
Aiming for >100KB! It's been too long since I've done one of those.
Created attachment 219500 [details]
maybe it's done?
Created attachment 219502 [details]
it compiles
Created attachment 219590 [details]
it makes calls
Created attachment 219620 [details]
the beginnings of preserved-registers-aware OSR exit
OMG this is going to be SO COOL
Created attachment 219626 [details]
I might be done
Created attachment 219688 [details]
ready for review
Created attachment 219689 [details]
the patch
Comment on attachment 219689 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=219689&action=review r=me > Source/JavaScriptCore/ftl/FTLOSRExitCompiler.cpp:145 > + // Henceforth we make it look like we had called through a register preservation wrapper. I would say "the exiting function was called" instead of "we had called". > Source/JavaScriptCore/ftl/FTLUnwindInfo.h:44 > + unsigned indexOf(GPRReg gpr) const; // Return UINT_MAX if not found. "Returns". Landed in http://trac.webkit.org/changeset/160893 *** Bug 123233 has been marked as a duplicate of this bug. *** |