[Webkit-unassigned] [Bug 30552] [Symbian] Port ARM traditional JIT Trampolines to RVCT

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Oct 21 00:45:49 PDT 2009


https://bugs.webkit.org/show_bug.cgi?id=30552





--- Comment #3 from Gabor Loki <loki at inf.u-szeged.hu>  2009-10-21 00:45:48 PDT ---
> +__asm void ctiVMThrowTrampoline() {    
> +    ARM
> +    IMPORT cti_vm_throw;
> +    mov r0, sp
> +    mov lr, r6
> +    add r8, pc, #4
> +    str r8, [sp, #-4]!
> +    b cti_vm_throw
> +}      

Not this way! This code is a tricky one. :) It is working by luck of the draw.
The cti_vm_throw should return to the code of ctiOpThrowNotCaught.

The "add r8, pc, #4 \n str r8, [sp, #-4]!" pair set the return address of
cti_vm_throw to the next instruction of "b cti_vm_throw".

It wasn't an accident to group those two function body in ARM trampolines. ;)

Fix these by adding the body of ctiOpThrowNotCaught after "b cti_vm_throw".

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list