[Webkit-unassigned] [Bug 34953] Implement DEFINE_STUB_FUNCTION for WinCE

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Apr 1 06:20:14 PDT 2010


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





--- Comment #14 from Patrick R. Gansterer <paroga at paroga.com>  2010-04-01 06:20:13 PST ---
If you look at the ctiTrampoline function the body is nearly the same for all
compilers:

----------------------------------------
GCC:
----------------------------------------
asm volatile (
".text\n"
".globl " SYMBOL_STRING(ctiTrampoline) "\n"
HIDE_SYMBOL(ctiTrampoline) "\n"
SYMBOL_STRING(ctiTrampoline) ":" "\n"
    "stmdb sp!, {r1-r3}" "\n"
    "stmdb sp!, {r4-r8, lr}" "\n"
    "sub sp, sp, #36" "\n"
    "mov r4, r2" "\n"
    "mov r5, #512" "\n"
    "mov lr, pc" "\n"
    "mov pc, r0" "\n"
    "add sp, sp, #36" "\n"
    "ldmia sp!, {r4-r8, lr}" "\n"
    "add sp, sp, #12" "\n"
    "mov pc, lr" "\n"
}
----------------------------------------
RVCT:
----------------------------------------
__asm EncodedJSValue ctiTrampoline(...)
{
    ARM
    stmdb sp!, {r1-r3}
    stmdb sp!, {r4-r8, lr}
    sub sp, sp, #36
    mov r4, r2
    mov r5, #512
    mov lr, pc
    bx r0
    add sp, sp, #36
    ldmia sp!, {r4-r8, lr}
    add sp, sp, #12
    bx lr
}
----------------------------------------
MSVC:
----------------------------------------
MSVC_BEGIN(ctiTrampoline PROC)
MSVC_BEGIN(    stmdb sp!, {r1-r3})
MSVC_BEGIN(    stmdb sp!, {r4-r8, lr})
MSVC_BEGIN(    sub sp, sp, ##offset#+4)
MSVC_BEGIN(    mov r4, r2)
MSVC_BEGIN(    mov r5, #512)
MSVC_BEGIN(    mov lr, pc)
MSVC_BEGIN(    bx r0)
MSVC_BEGIN(    add sp, sp, ##offset#+4)
MSVC_BEGIN(    ldmia sp!, {r4-r8, lr})
MSVC_BEGIN(    add sp, sp, #12)
MSVC_BEGIN(    bx lr)
MSVC_BEGIN(ctiTrampoline ENDP)
----------------------------------------

Additionally the difference between en-/disabled JSVALUE32_64 is only the size
for the stackpointer.

Maybe we can generate also the trampoline functions all out of one source file?

-- 
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