Bug 125811

Summary: FTL should be able to do call ICs
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: 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 Flags
work in progress
none
mostly done
none
more...
none
register preservation is written
none
mostly there
none
more
none
even more...
none
maybe it's done?
none
it compiles
none
it makes calls
none
the beginnings of preserved-registers-aware OSR exit
none
I might be done
none
ready for review
none
the patch ggaren: review+

Filip Pizlo
Reported 2013-12-16 15:51:31 PST
Patch forthcoming.
Attachments
work in progress (23.06 KB, patch)
2013-12-16 15:54 PST, Filip Pizlo
no flags
mostly done (27.41 KB, patch)
2013-12-16 16:43 PST, Filip Pizlo
no flags
more... (36.66 KB, patch)
2013-12-16 19:33 PST, Filip Pizlo
no flags
register preservation is written (51.70 KB, patch)
2013-12-16 21:45 PST, Filip Pizlo
no flags
mostly there (58.85 KB, patch)
2013-12-17 14:41 PST, Filip Pizlo
no flags
more (74.80 KB, patch)
2013-12-17 19:29 PST, Filip Pizlo
no flags
even more... (90.75 KB, patch)
2013-12-17 20:02 PST, Filip Pizlo
no flags
maybe it's done? (104.47 KB, patch)
2013-12-17 20:25 PST, Filip Pizlo
no flags
it compiles (112.28 KB, patch)
2013-12-17 20:50 PST, Filip Pizlo
no flags
it makes calls (113.15 KB, patch)
2013-12-18 16:59 PST, Filip Pizlo
no flags
the beginnings of preserved-registers-aware OSR exit (133.70 KB, patch)
2013-12-18 22:59 PST, Filip Pizlo
no flags
I might be done (147.36 KB, patch)
2013-12-18 23:52 PST, Filip Pizlo
no flags
ready for review (148.24 KB, patch)
2013-12-19 15:06 PST, Filip Pizlo
no flags
the patch (147.62 KB, patch)
2013-12-19 15:07 PST, Filip Pizlo
ggaren: review+
Filip Pizlo
Comment 1 2013-12-16 15:54:15 PST
Created attachment 219363 [details] work in progress
Filip Pizlo
Comment 2 2013-12-16 16:43:24 PST
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.
Filip Pizlo
Comment 3 2013-12-16 19:33:51 PST
Filip Pizlo
Comment 4 2013-12-16 21:45:06 PST
Created attachment 219395 [details] register preservation is written I still need to glue it together.
Filip Pizlo
Comment 5 2013-12-17 14:41:23 PST
Created attachment 219454 [details] mostly there
Filip Pizlo
Comment 6 2013-12-17 19:29:43 PST
Filip Pizlo
Comment 7 2013-12-17 20:02:00 PST
Created attachment 219497 [details] even more... Aiming for >100KB! It's been too long since I've done one of those.
Filip Pizlo
Comment 8 2013-12-17 20:25:18 PST
Created attachment 219500 [details] maybe it's done?
Filip Pizlo
Comment 9 2013-12-17 20:50:44 PST
Created attachment 219502 [details] it compiles
Filip Pizlo
Comment 10 2013-12-18 16:59:17 PST
Created attachment 219590 [details] it makes calls
Filip Pizlo
Comment 11 2013-12-18 22:59:23 PST
Created attachment 219620 [details] the beginnings of preserved-registers-aware OSR exit OMG this is going to be SO COOL
Filip Pizlo
Comment 12 2013-12-18 23:52:42 PST
Created attachment 219626 [details] I might be done
Filip Pizlo
Comment 13 2013-12-19 15:06:29 PST
Created attachment 219688 [details] ready for review
Filip Pizlo
Comment 14 2013-12-19 15:07:26 PST
Created attachment 219689 [details] the patch
Geoffrey Garen
Comment 15 2013-12-19 15:40:02 PST
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".
Filip Pizlo
Comment 16 2013-12-20 02:02:54 PST
Filip Pizlo
Comment 17 2014-01-30 13:22:42 PST
*** Bug 123233 has been marked as a duplicate of this bug. ***
Note You need to log in before you can comment on or make changes to this bug.