Because the bug 24986 has been fixed, we can enable ARM JIT and YARR for QT. I am going to send some results from N810 and the patch to enable ARM JIT tomorrow.
I wonder if we should enable it by default and have a way to disable it while compiling Qt, as it does use more memory. What do you guys think?
I would like to use PLATFORM(QT) && PLATFORM(LINUX) && PLATFORM(ARM) && !PLATFORM_ARM_ARCH(7) or something similar to enable ARM JIT. I am going to upload some results first about it (mem. and speed as well) tomorrow, than a patch. Anyway, the JIT can be disabled with ENABLE_JIT=0, ENABLE_YARR_JIT=0 defines in any time.
Created attachment 34815 [details] SunSpider results, comparision of interpreter and JIT + YARR_JIT This results was measured with r47187 on N810. The 'FROM' column is the interpreter and the 'TO' column is the JIT + YARR_JIT.
Created attachment 34817 [details] SunSpider results, comparision of interpreter and YARR_JIT Measured with r47187 on N810. The 'FROM' column is the interpreter and the 'TO' column is the YARR_JIT.
Created attachment 34818 [details] SunSpider results, comparision of interpreter and JIT without YARR Measured with r47187 on N810. The 'FROM' column is the interpreter and the 'TO' column is the JIT without YARR.
I did a fast measurement to get the max RSS during a SunSpider run. The sampling rate was one per second. This method is not an exact one, but it can help to get an overview about memory consumption. We are going to measure the RSS on a precise way as well, but this takes time. Here comes the relative comparisons (max RSS): * Interpreter => JIT + YARR_JIT: 1.077x bigger RSS * Interpreter => YARR_JIT: 1.003x smaller RSS * Interpreter => JIT without YARR: 1.088x bigger RSS The absolute numbers are: * Interpreter: 2540 pages * JIT: 2735 pages * YARR_JIT: 2533 pages * JIT without YARR: 2764 pages So the JIT consumes 7-8% extra memory (195-224 pages).
Created attachment 34820 [details] Enable YARR_JIT on ARM for QT
Created attachment 34821 [details] Enable JIT on ARM for QT
Comment on attachment 34820 [details] Enable YARR_JIT on ARM for QT r=me
Comment on attachment 34821 [details] Enable JIT on ARM for QT r=me
Landed in r47273 and r47274