Re: [webkit-dev] ARM JIT for WinCE

2010-01-08 Thread Zoltan Herczeg
Hi, the dateProtoFuncGetTimezoneOffset does not use the argList argument, while functionPrint does. Perhaps passing this argument is still not yet WinCE compatible. ArgList contains a pointer to the arguments (JSValue pointers), and the length of the arguments. This structure is 8 bytes on 32 bit

Re: [webkit-dev] ARM JIT for WinCE

2010-01-07 Thread Patrick Roland Gansterer
Hi, I did some further investigation today. I did a quick hack in the privateCompileCTIMachineTrampolines to get the same maybe correct register values like without OPTIMIZE_NATIVE_CALL. move(callFrameRegister, regT0); +move(ARMRegisters::r2, ARMRegisters::r3); +move(ARMRegisters:

Re: [webkit-dev] ARM JIT for WinCE

2010-01-07 Thread Patrick Roland Gansterer
Hi, many thanks! It works already when I disable OPTIMIZE_NATIVE_CALL (other 3 OPTIMIZE are turned on). I think you're right with the ABI problem. Maybe you can help me with it too: Here are the instruction dumps with and without the OPTIMIZE_NATIVE_CALL: ==

Re: [webkit-dev] ARM JIT for WinCE

2010-01-07 Thread Zoltan Herczeg
Hi Patrick, hm, I feel I found something. Please have a look at JavaScriptCore/jit/JITOpcodes.cpp : privateCompileCTIMachineTrampolines. The second one, when JSVALUE32_64 is disabled. If JIT_OPTIMIZE_NATIVE_CALL is enabled, a specialized code is generated to call native builtin functions (like Dat

Re: [webkit-dev] ARM JIT for WinCE

2010-01-06 Thread Patrick Roland Gansterer
Hi Gabor, Thanks for your prompt reply. > Make sure your assembler does not break ctiVMThrowTrampoline > and ctiOpThrowNotCaught functions. This approach requires that the > ctiVMThrowTrampoline fall-backs to ctiOpThrowNotCaught > after 'bl cti_vm_throw' call. Or you can simply copy the body of >

Re: [webkit-dev] ARM JIT for WinCE

2010-01-06 Thread Gabor Loki
Hi Patrick, Patrick Roland Gansterer wrote: > I'm trying to enable the JIT for CPU(ARM_TRADITIONAL) && OS(WINCE). > MSVC supports inline assembler only for X86, so i had to provide a separate > asm file (i copied the code from the GCC #ifdef with !JSVALUE32_64): > > ctiVMThrowTrampoline proc >

[webkit-dev] ARM JIT for WinCE

2010-01-06 Thread Patrick Roland Gansterer
Hi, I'm trying to enable the JIT for CPU(ARM_TRADITIONAL) && OS(WINCE). It already passes the RegExp-Tests with ENABLE_YARR_JIT. If i set all ENABLE_JIT_OPTIMIZE_* to 0 it won't compile. MSVC supports inline assembler only for X86, so i had to provide a separate asm file (i copied the code from