In jit/JITArithmetic.cpp/isSSE2Present() haven't been implemented testing SSE2 capability if using GCC. Now it works, and patch attached.
Created attachment 27386 [details] 6.6% progression on SunSpider
Created attachment 27387 [details] testing patch Use this patch for testing the new code. isSSE2Present() runs if JIT is enabled, but on x86 Linux it is diasbled at default.
Created attachment 27388 [details] proposed patch
Created attachment 27389 [details] proposed patch
(In reply to comment #2) > Created an attachment (id=27387) [review] > testing patch > > Use this patch for testing the new code. isSSE2Present() runs if JIT is > enabled, but on x86 Linux it is diasbled at default. This testing patch is unneccessary from http://trac.webkit.org/changeset/40900 if using QT4.5 RC1, because JIT and WREC are default.
Created attachment 27692 [details] proposed patch patch updated for ToT, and gcc guard added
Committing to http://svn.webkit.org/repository/webkit/trunk ... M JavaScriptCore/ChangeLog M JavaScriptCore/jit/JITArithmetic.cpp Committed r41022
This change broke the Qt and GTK builds and should be reverted. See <http://build.webkit.org/builders/trunk-qt-linux-release/builds/13583/steps/compile-release_2/logs/stdio> and <http://build.webkit.org/builders/trunk-gtk-linux-release/builds/3551/steps/compile-release/logs/stdio> for the errors.
I'll see this problem now, and try to fix.
Rolled out in r41036 due to gtk+qt build failures.
I think this is a gcc bug, and push/pop ebx manually instead of mark clobbered can solve this problem.
Created attachment 27723 [details] fixed patch Build error fixed. If using -fPIC, ebx mustn't be in clobbered list, you have to save/restore it manually.
Committing to http://svn.webkit.org/repository/webkit/trunk ... M JavaScriptCore/ChangeLog M JavaScriptCore/jit/JITArithmetic.cpp Committed r41160