[webkit-dev] ARM JIT for WinCE
Patrick Roland Gansterer
paroga at paroga.com
Wed Jan 6 02:59:35 PST 2010
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 the GCC #ifdef with !JSVALUE32_64):
ctiTrampoline proc
stmdb sp!, {r1-r3}
stmdb sp!, {r4-r8, lr}
sub sp, sp, #36
mov r4, r2
mov r5, #512
mov lr, pc
mov pc, r0
add sp, sp, #36
ldmia sp!, {r4-r8, lr}
add sp, sp, #12
mov pc, lr
endp
ctiVMThrowTrampoline proc
mov r0, sp
bl cti_vm_throw
endp
ctiOpThrowNotCaught proc
add sp, sp, #36
ldmia sp!, {r4-r8, lr}
add sp, sp, #12
mov pc, lr
endp
I can compile and link it without problems, but it crashes with a nullpointer
at runtime and a strange callstack. When i use a debugger and step into
ctiTrampoline it stops at the second stmdb because it can't find the
sourcecode. :-/
I've done a #pragma pack(4) around the JITStackFrame.
Can somebody give me a hint where to search for the failure?
- Patrick
More information about the webkit-dev
mailing list