Changeset 163179 in webkit


Ignore:
Timestamp:
Jan 31, 2014 10:59:59 AM (10 years ago)
Author:
rgabor@webkit.org
Message:

Fix the ARM Thumb2 build after jsCStack branch merge
https://bugs.webkit.org/show_bug.cgi?id=127903

Reviewed by Michael Saboff.

SP register cannot be used as a destination register of SUB or ADD on Thumb mode.

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

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r163169 r163179  
     12014-01-31  Gabor Rapcsanyi  <rgabor@webkit.org>
     2
     3        Fix the ARM Thumb2 build after jsCStack branch merge
     4        https://bugs.webkit.org/show_bug.cgi?id=127903
     5
     6        Reviewed by Michael Saboff.
     7
     8        SP register cannot be used as a destination register of SUB or ADD on Thumb mode.
     9
     10        * llint/LowLevelInterpreter.asm:
     11        * llint/LowLevelInterpreter32_64.asm:
     12
    1132014-01-31  Julien Brianceau  <jbriance@cisco.com>
    214
  • trunk/Source/JavaScriptCore/llint/LowLevelInterpreter.asm

    r163027 r163179  
    340340
    341341macro callToJavaScriptEpilogue()
    342     addp CallFrameHeaderSlots * 8, cfr, sp
     342    if ARMv7
     343        addp CallFrameHeaderSlots * 8, cfr, t4
     344        move t4, sp
     345    else
     346        addp CallFrameHeaderSlots * 8, cfr, sp
     347    end
     348
    343349    loadp CallerFrame[cfr], cfr
    344350
     
    369375    lshiftp 3, scratch
    370376    addp maxFrameExtentForSlowPathCall, scratch
    371     subp cfr, scratch, sp
     377    if ARMv7
     378        subp cfr, scratch, scratch
     379        move scratch, sp
     380    else
     381        subp cfr, scratch, sp
     382    end
    372383end
    373384
     
    399410        macro (callee)
    400411            btpz t1, .dontUpdateSP
    401             addp CallerFrameAndPCSize, t1, sp
     412            if ARMv7
     413                addp CallerFrameAndPCSize, t1, t1
     414                move t1, sp
     415            else
     416                addp CallerFrameAndPCSize, t1, sp
     417            end
    402418        .dontUpdateSP:
    403419            if C_LOOP
     
    957973    else
    958974        # The calleeFrame is not stack aligned, move down by CallerFrameAndPCSize to align
    959         subp t1, CallerFrameAndPCSize, sp
     975        if ARMv7
     976            subp t1, CallerFrameAndPCSize, t2
     977            move t2, sp
     978        else
     979            subp t1, CallerFrameAndPCSize, sp
     980        end
    960981    end
    961982    slowPathForCall(_llint_slow_path_call_varargs)
  • trunk/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm

    r163027 r163179  
    239239    bpaeq temp1, VM::m_jsStackLimit[vm], .stackHeightOK
    240240
    241     subp cfr, 8, sp
     241    if ARMv7
     242        subp cfr, 8, temp2
     243        move temp2, sp
     244    else
     245        subp cfr, 8, sp
     246    end
    242247
    243248    if C_LOOP
Note: See TracChangeset for help on using the changeset viewer.