Changeset 153648 in webkit


Ignore:
Timestamp:
Aug 2, 2013 7:59:27 AM (11 years ago)
Author:
commit-queue@webkit.org
Message:

REGRESSION: ARM still crashes after change set r153612.
https://bugs.webkit.org/show_bug.cgi?id=119433

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-08-02
Reviewed by Michael Saboff.

Update call frame and do not restore registers from JIT stack frame in ARM and ARMv7
implementations of ctiVMThrowTrampolineSlowpath. This change is similar to r153583
for sh4 architecture.

  • jit/JITStubsARM.h:
  • jit/JITStubsARMv7.h:
Location:
trunk/Source/JavaScriptCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r153646 r153648  
     12013-08-02  Julien Brianceau  <jbrianceau@nds.com>
     2
     3        REGRESSION: ARM still crashes after change set r153612.
     4        https://bugs.webkit.org/show_bug.cgi?id=119433
     5
     6        Reviewed by Michael Saboff.
     7
     8        Update call frame and do not restore registers from JIT stack frame in ARM and ARMv7
     9        implementations of ctiVMThrowTrampolineSlowpath. This change is similar to r153583
     10        for sh4 architecture.
     11
     12        * jit/JITStubsARM.h:
     13        * jit/JITStubsARMv7.h:
     14
    1152013-08-02  Michael Saboff  <msaboff@apple.com>
    216
  • trunk/Source/JavaScriptCore/jit/JITStubsARM.h

    r153222 r153648  
    205205    "mov r0, r5" "\n"
    206206    "bl " SYMBOL_STRING(cti_vm_throw_slowpath) "\n"
    207      // When cti_vm_throw_slowpath returns, r0 has callFrame and r1 has handler address
    208      "add sp, sp, #" STRINGIZE_VALUE_OF(PRESERVEDR4_OFFSET) "\n"
    209      "ldmia sp!, {r4-r6, r8-r11, lr}" "\n"
    210      "add sp, sp, #12" "\n"
    211      "bx r1" "\n"
     207    // When cti_vm_throw_slowpath returns, r0 has callFrame and r1 has handler address
     208    "mov r5, r0" "\n"
     209    "bx r1" "\n"
    212210);
    213211
  • trunk/Source/JavaScriptCore/jit/JITStubsARMv7.h

    r153222 r153648  
    278278    "mov r0, r5" "\n"
    279279    "bl " LOCAL_REFERENCE(cti_vm_throw_slowpath) "\n"
    280      // When cti_vm_throw_slowpath returns, r0 has callFrame and r1 has handler address
    281     "ldr r11, [sp, #" STRINGIZE_VALUE_OF(PRESERVED_R11_OFFSET) "]" "\n"
    282     "ldr r10, [sp, #" STRINGIZE_VALUE_OF(PRESERVED_R10_OFFSET) "]" "\n"
    283     "ldr r9, [sp, #" STRINGIZE_VALUE_OF(PRESERVED_R9_OFFSET) "]" "\n"
    284     "ldr r8, [sp, #" STRINGIZE_VALUE_OF(PRESERVED_R8_OFFSET) "]" "\n"
    285     "ldr r7, [sp, #" STRINGIZE_VALUE_OF(PRESERVED_R7_OFFSET) "]" "\n"
    286     "ldr r6, [sp, #" STRINGIZE_VALUE_OF(PRESERVED_R6_OFFSET) "]" "\n"
    287     "ldr r5, [sp, #" STRINGIZE_VALUE_OF(PRESERVED_R5_OFFSET) "]" "\n"
    288     "ldr r4, [sp, #" STRINGIZE_VALUE_OF(PRESERVED_R4_OFFSET) "]" "\n"
    289     "ldr lr, [sp, #" STRINGIZE_VALUE_OF(PRESERVED_RETURN_ADDRESS_OFFSET) "]" "\n"
    290     "add sp, sp, #" STRINGIZE_VALUE_OF(FIRST_STACK_ARGUMENT) "\n"
     280    // When cti_vm_throw_slowpath returns, r0 has callFrame and r1 has handler address
     281    "mov r5, r0" "\n"
    291282    "bx r1" "\n"
    292283);
Note: See TracChangeset for help on using the changeset viewer.