This is a follow-up to the ad interim fix in https://bugs.webkit.org/show_bug.cgi?id=38747. This bug report serves for the true fixing of JIT. JIT has been disabled for mingw-w64, but should be fixed somehow. It is a runtime crash when (I think) JIT is called in a program. The way I found the bug is opening a web page in the Qt browser demo or open a doc page in Assistant. Building Qt 4.7 with mingw-w64: https://trac.webkit.org/wiki/BuildingQtOnWindows#AWorksForMeStep-by-StepGuidetobuildingQtWebKitonWindowsusingmingw-w64w32 (Use the drangon build or the sezero_old build, because there are issues with the _new build concerning underscoring in JavaScriptCore/jit/JITStubs.cpp) PS: this bug should not block the release of 2.0 IMHO, this can be fixed later on. PS2: if the howto doesn't work for you, please inform me.
The Windows x64 uses different calling conventions and stack allocations. So, the cti*Trampolines have to be modified for Windows. I have a patch for this issue, but it should be tested on JS regression tests (at least).
Sorry to be so passive on the providing patches side, but here's something on the issue: Windows x64 does not provide underscores for symbol names, and recent mingw-w64 builds mirror that, and as a result (src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp): namespace JSC { -#if OS(DARWIN) || OS(WINDOWS) +#if OS(DARWIN) || (OS(WINDOWS) && !CPU(X86_64)) #define SYMBOL_STRING(name) "_" #name #else #define SYMBOL_STRING(name) #name #endif I don't know if it influences the runtime crashes, but this should be fixed for win64. This is also correct for MSVC (mingw-w64 devs assured me of that).
I can confirm this is still occurring with QtWebKit 2.2 branch (http://gitorious.org/+qtwebkit-developers/webkit/qtwebkit/trees/qtwebkit-2.2) after applying patch from https://bugs.webkit.org/show_bug.cgi?id=61235. JIT seems to have been enabled for MinGW-w64. Perhaps it should be disabled again.
Disabling JIT on MinGW-w64 fixes the crash but JavaScript becomes unbearably slow. Acid3 Test takes a long time to run.
There is also lag in MinGW-w64 when middle-clicking to auto-scroll. It takes 1 second to change the cursor icon. Moving the cursor to auto-scroll the page is then also very slow. It updates, pauses for a second, updates, etc.
I don't think any port of WebKit officially supports MinGW-w64. Patches are welcome. But nobody is actively working on this.
I don't think there's anything truly specific about mingw-w64. There's just no Windows x64 implementation as @Gabor Loki said. By the way: how is that patch coming along, Mr. Gabor Loki?
Ruben, does the auto-scroll lag for you on MinGW-w64? What compiler do you use?
Ohh, sorry. I just plain forgot this bug. If I have time, will look into it this or next week.
I use only compilers on the mingw-w64 website, currently my own brew of GCC 4.6, native Windows x64: http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/rubenvb/ One directory level up, there's also a high quality build for GCC 4.5 and 4.4 by sezero, which I used before I got mine built. I must admit I don't have the WebKit source tree on my PC anymore (I reported this bug a long time ago...). I'll be sure to test the fix once Mr. Loki has had a chance to work on it.
Ruben: if you have Qt compiled with MinGW-w64, can you check whether you can confirm https://bugs.webkit.org/show_bug.cgi?id=61239#c2?
(In reply to comment #9) > Ohh, sorry. I just plain forgot this bug. If I have time, will look into it this or next week. Any updates Gabor?