Changeset 50109 in webkit for trunk/JavaScriptCore/jit/JITStubs.cpp
- Timestamp:
- Oct 26, 2009, 3:49:23 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/jit/JITStubs.cpp
r49734 r50109 536 536 "stmdb sp!, {r1-r3}" "\n" 537 537 "stmdb sp!, {r4-r8, lr}" "\n" 538 "mov r6, pc" "\n" 539 "add r6, r6, #40" "\n" 540 "sub sp, sp, #32" "\n" 541 "ldr r4, [sp, #60]" "\n" 538 "sub sp, sp, #36" "\n" 539 "mov r4, r2" "\n" 542 540 "mov r5, #512" "\n" 543 // r0 contains the code 544 "add r8, pc, #4" "\n" 545 "str r8, [sp, #-4]!" "\n" 541 "mov lr, pc" "\n" 546 542 "mov pc, r0" "\n" 547 "add sp, sp, #3 2" "\n"543 "add sp, sp, #36" "\n" 548 544 "ldmia sp!, {r4-r8, lr}" "\n" 549 545 "add sp, sp, #12" "\n" 550 546 "mov pc, lr" "\n" 551 552 // the return instruction553 "ldr pc, [sp], #4" "\n"554 547 ); 555 548 … … 558 551 SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n" 559 552 "mov r0, sp" "\n" 560 "mov lr, r6" "\n" 561 "add r8, pc, #4" "\n" 562 "str r8, [sp, #-4]!" "\n" 563 "b " SYMBOL_STRING_RELOCATION(cti_vm_throw) "\n" 553 "bl " SYMBOL_STRING_RELOCATION(cti_vm_throw) "\n" 564 554 565 555 // Both has the same return sequence 566 556 ".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n" 567 557 SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n" 568 "add sp, sp, #3 2" "\n"558 "add sp, sp, #36" "\n" 569 559 "ldmia sp!, {r4-r8, lr}" "\n" 570 560 "add sp, sp, #12" "\n" … … 908 898 ); \ 909 899 rtype JITStubThunked_##op(STUB_ARGS_DECLARATION) \ 900 901 #elif PLATFORM(ARM_TRADITIONAL) && COMPILER(GCC) 902 903 #define DEFINE_STUB_FUNCTION(rtype, op) \ 904 extern "C" { \ 905 rtype JITStubThunked_##op(STUB_ARGS_DECLARATION); \ 906 }; \ 907 asm volatile ( \ 908 ".globl " SYMBOL_STRING(cti_##op) "\n" \ 909 SYMBOL_STRING(cti_##op) ":" "\n" \ 910 "str lr, [sp, #32]" "\n" \ 911 "bl " SYMBOL_STRING(JITStubThunked_##op) "\n" \ 912 "ldr lr, [sp, #32]" "\n" \ 913 "mov pc, lr" "\n" \ 914 ); \ 915 rtype JITStubThunked_##op(STUB_ARGS_DECLARATION) 910 916 911 917 #else
Note:
See TracChangeset
for help on using the changeset viewer.