[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