Changeset 172746 in webkit


Ignore:
Timestamp:
Aug 19, 2014 12:14:30 AM (10 years ago)
Author:
Csaba Osztrogonác
Message:

REGRESSION(r163179): It broke the build on ARM Thumb2 with GCC
https://bugs.webkit.org/show_bug.cgi?id=136028

Patch by Michael Saboff <msaboff@apple.com> on 2014-08-19
Reviewed by Oliver Hunt.

Added back ARMv7 conditionals around three op addp and subp since ARM Thumb2 spec says that
the behavior for those ops are undefined. This was originally done in changeset 163179.

  • llint/LowLevelInterpreter32_64.asm:
Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r172742 r172746  
     12014-08-19  Michael Saboff  <msaboff@apple.com>
     2
     3        REGRESSION(r163179): It broke the build on ARM Thumb2 with GCC
     4        https://bugs.webkit.org/show_bug.cgi?id=136028
     5
     6        Reviewed by Oliver Hunt.
     7
     8        Added back ARMv7 conditionals around three op addp and subp since ARM Thumb2 spec says that
     9        the behavior for those ops are undefined.  This was originally done in changeset 163179.
     10
     11        * llint/LowLevelInterpreter32_64.asm:
     12
    1132014-08-18  Commit Queue  <commit-queue@webkit.org>
    214
  • trunk/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm

    r172665 r172746  
    204204    end
    205205
    206     vmEntryRecord(cfr, sp)
     206    if ARMv7
     207        vmEntryRecord(cfr, temp1)
     208        move temp1, sp
     209    else
     210        vmEntryRecord(cfr, sp)
     211    end
    207212
    208213    storep vm, VMEntryRecord::m_vm[sp]
     
    220225        addp CallFrameAlignSlots * SlotSize, sp, temp1
    221226        clrbp temp1, StackAlignmentMask, temp1
    222         subp temp1, CallFrameAlignSlots * SlotSize, sp
     227        if ARMv7
     228            subp temp1, CallFrameAlignSlots * SlotSize, temp1
     229            move temp1, sp
     230        else
     231            subp temp1, CallFrameAlignSlots * SlotSize, sp
     232        end
    223233    end
    224234
     
    253263    cCall2(_llint_throw_stack_overflow_error, vm, protoCallFrame)
    254264
    255     vmEntryRecord(cfr, sp)
     265    if ARMv7
     266        vmEntryRecord(cfr, temp1)
     267        move temp1, sp
     268    else
     269        vmEntryRecord(cfr, sp)
     270    end
    256271
    257272    loadp VMEntryRecord::m_vm[sp], temp3
     
    261276    storep temp4, VM::topVMEntryFrame[temp3]
    262277
    263     subp cfr, CalleeRegisterSaveSize, sp
     278    if ARMv7
     279        subp cfr, CalleeRegisterSaveSize, temp3
     280        move temp3, sp
     281    else
     282        subp cfr, CalleeRegisterSaveSize, sp
     283    end
    264284
    265285    popCalleeSaves()
     
    309329    makeCall(entry, temp1, temp2)
    310330
    311     vmEntryRecord(cfr, sp)
     331    if ARMv7
     332        vmEntryRecord(cfr, temp1)
     333        move temp1, sp
     334    else
     335        vmEntryRecord(cfr, sp)
     336    end
    312337
    313338    loadp VMEntryRecord::m_vm[sp], temp3
     
    317342    storep temp4, VM::topVMEntryFrame[temp3]
    318343
    319     subp cfr, CalleeRegisterSaveSize, sp
     344    if ARMv7
     345        subp cfr, CalleeRegisterSaveSize, temp3
     346        move temp3, sp
     347    else
     348        subp cfr, CalleeRegisterSaveSize, sp
     349    end
    320350
    321351    popCalleeSaves()
     
    373403    loadp CallerFrame + PayloadOffset[cfr], cfr
    374404
    375     vmEntryRecord(cfr, sp)
     405    if ARMv7
     406        vmEntryRecord(cfr, t3)
     407        move t3, sp
     408    else
     409        vmEntryRecord(cfr, sp)
     410    end
    376411
    377412    loadp VMEntryRecord::m_vm[sp], t3
     
    381416    storep t5, VM::topVMEntryFrame[t3]
    382417
    383     subp cfr, CalleeRegisterSaveSize, sp
     418    if ARMv7
     419        subp cfr, CalleeRegisterSaveSize, t3
     420        move t3, sp
     421    else
     422        subp cfr, CalleeRegisterSaveSize, sp
     423    end
    384424
    385425    popCalleeSaves()
Note: See TracChangeset for help on using the changeset viewer.