This will be soooooper fun.
Created attachment 196508 [details]
work in progress
Created attachment 196539 [details]
Created attachment 196562 [details]
Created attachment 196565 [details]
It's getting pretty close. But still lots more work to do.
Created attachment 196700 [details]
Created attachment 196704 [details]
Created attachment 197166 [details]
Created attachment 197216 [details]
Created attachment 197373 [details]
Created attachment 197502 [details]
it might be done
I still need to compile it and stuff.
Created attachment 197706 [details]
lol it compiles
I compiled the LLVM backend with LLVM and LLVM was happy.
Still haven't tested it, though.
Created attachment 197914 [details]
Comment on attachment 197914 [details]
View in context: https://bugs.webkit.org/attachment.cgi?id=197914&action=review
> + 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.
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. :-)
Landed in http://trac.webkit.org/changeset/148347