RESOLVED FIXED Bug 113623
fourthTier: FTL should have OSR exit
https://bugs.webkit.org/show_bug.cgi?id=113623
Summary fourthTier: FTL should have OSR exit
Filip Pizlo
Reported 2013-03-29 16:14:54 PDT
This will be soooooper fun.
Attachments
work in progress (31.38 KB, patch)
2013-04-04 13:03 PDT, Filip Pizlo
no flags
more (46.01 KB, patch)
2013-04-04 15:17 PDT, Filip Pizlo
no flags
more (66.88 KB, patch)
2013-04-04 17:37 PDT, Filip Pizlo
no flags
more (82.13 KB, patch)
2013-04-04 18:46 PDT, Filip Pizlo
no flags
more (106.79 KB, patch)
2013-04-05 16:47 PDT, Filip Pizlo
no flags
rebased (113.64 KB, patch)
2013-04-05 17:11 PDT, Filip Pizlo
no flags
more (128.88 KB, patch)
2013-04-09 13:48 PDT, Filip Pizlo
no flags
more (139.49 KB, patch)
2013-04-10 00:16 PDT, Filip Pizlo
no flags
more (143.41 KB, patch)
2013-04-10 12:29 PDT, Filip Pizlo
no flags
it might be done (151.72 KB, patch)
2013-04-10 21:10 PDT, Filip Pizlo
no flags
lol it compiles (183.94 KB, patch)
2013-04-11 18:18 PDT, Filip Pizlo
no flags
the patch (188.34 KB, patch)
2013-04-12 17:35 PDT, Filip Pizlo
oliver: review+
it runs all benchmarks (197.42 KB, patch)
2013-04-12 23:33 PDT, Filip Pizlo
oliver: review+
Filip Pizlo
Comment 1 2013-03-31 18:44:25 PDT
Filip Pizlo
Comment 2 2013-04-04 13:03:12 PDT
Created attachment 196508 [details] work in progress
Filip Pizlo
Comment 3 2013-04-04 15:17:01 PDT
Filip Pizlo
Comment 4 2013-04-04 17:37:42 PDT
Filip Pizlo
Comment 5 2013-04-04 18:46:15 PDT
Created attachment 196565 [details] more It's getting pretty close. But still lots more work to do.
Filip Pizlo
Comment 6 2013-04-05 16:47:51 PDT
Filip Pizlo
Comment 7 2013-04-05 17:11:32 PDT
Filip Pizlo
Comment 8 2013-04-09 13:48:53 PDT
Filip Pizlo
Comment 9 2013-04-10 00:16:18 PDT
Filip Pizlo
Comment 10 2013-04-10 12:29:22 PDT
Filip Pizlo
Comment 11 2013-04-10 21:10:41 PDT
Created attachment 197502 [details] it might be done I still need to compile it and stuff.
Filip Pizlo
Comment 12 2013-04-11 18:18:49 PDT
Created attachment 197706 [details] lol it compiles I compiled the LLVM backend with LLVM and LLVM was happy. Still haven't tested it, though.
Filip Pizlo
Comment 13 2013-04-12 17:35:00 PDT
Created attachment 197914 [details] the patch
Oliver Hunt
Comment 14 2013-04-12 19:02:25 PDT
Comment on attachment 197914 [details] the patch View in context: https://bugs.webkit.org/attachment.cgi?id=197914&action=review > Source/JavaScriptCore/ftl/FTLExitThunkGenerator.cpp:53 > + move(TrustedImm32(index), GPRInfo::nonArgGPR0); I am dubious as to how trusted this is, but until i have evidence that we can be coerced into planting a large number of these in succession i'll give it a pass.
Filip Pizlo
Comment 15 2013-04-12 23:33:57 PDT
Created attachment 197920 [details] it runs all benchmarks The only things I changed from the previous patch: 1) Fixed some calling convention goofs. 2) Made reoptimization work for FTL, which mostly required removing some incorrect assertions in CodeBlock. 3) Fixed CheckStructure, since it was generating wrong IR. 4) Added the FTL_NEW_BLOCK macro and started using it everywhere, it makes IR more readable when --verboseCompilation=true. We can now run all of SunSpider, V8, and Kraken with the FTL enabled. :-)
Filip Pizlo
Comment 16 2013-04-13 00:36:56 PDT
Note You need to log in before you can comment on or make changes to this bug.