⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 285173 in webkit


Ignore:
Timestamp:
Nov 2, 2021, 12:26:52 PM (5 years ago)
Author:
Ross Kirsling
Message:

[JSC][LLInt] Reverse unintended effects of r285152
​https://bugs.webkit.org/show_bug.cgi?id=232633

Reviewed by Saam Barati.

The previous patch was not intended to change the generated assembly whatsoever,
but it turns out that 3-argument syntax produces, e.g. vsub instead of sub on x86.

As such, this patch does away with the 3-arg cases and merely clarifies names as rhs, lhs across the board.

(Also: Fix a line from the previous patch where a macro was not referring to a passed label properly.)

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

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r285167 r285173  
     12021-11-02  Ross Kirsling  <ross.kirsling@sony.com>
     2
     3        [JSC][LLInt] Reverse unintended effects of r285152
     4        https://bugs.webkit.org/show_bug.cgi?id=232633
     5
     6        Reviewed by Saam Barati.
     7
     8        The previous patch was not intended to change the generated assembly whatsoever,
     9        but it turns out that 3-argument syntax produces, e.g. `vsub` instead of `sub` on x86.
     10
     11        As such, this patch does away with the 3-arg cases and merely clarifies names as `rhs, lhs` across the board.
     12
     13        (Also: Fix a line from the previous patch where a macro was not referring to a passed label properly.)
     14
     15        * llint/LowLevelInterpreter32_64.asm:
     16        * llint/LowLevelInterpreter64.asm:
     17
    1182021-11-02  Saam Barati  <sbarati@apple.com>
    219
  • trunk/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm

    r285152 r285173  
    11361136        get(m_dst, t1)
    11371137        fii2d t0, t2, ft0
    1138         doubleOperation(ft0, ft1, ft0)
     1138        doubleOperation(ft0, ft1)
    11391139        stored ft0, [cfr, t1, 8]
    11401140        dispatch()
    … …  
    11471147        ci2ds t0, ft0
    11481148        fii2d t1, t3, ft1
    1149         doubleOperation(ft0, ft1, ft0)
     1149        doubleOperation(ft0, ft1)
    11501150        stored ft0, [cfr, t2, 8]
    11511151        dispatch()
    … …  
    11691169binaryOp(add, OpAdd,
    11701170    macro (lhs, rhs, slow) baddio rhs, lhs, slow end,
    1171     macro (left, right, result) addd left, right, result end)
     1171    macro (lhs, rhs) addd rhs, lhs end)
    11721172
    11731173
    … …  
    11841184        storei scratch, PayloadOffset[cfr, index, 8]
    11851185    end,
    1186     macro (left, right, result) muld left, right, result end)
     1186    macro (lhs, rhs) muld rhs, lhs end)
    11871187
    11881188
    11891189binaryOp(sub, OpSub,
    11901190    macro (lhs, rhs, slow) bsubio rhs, lhs, slow end,
    1191     macro (left, right, result) subd left, right, result end)
     1191    macro (lhs, rhs) subd rhs, lhs end)
    11921192
    11931193
    … …  
    12051205    .done:
    12061206    end,
    1207     macro (left, right, result) divd left, right, result end)
     1207    macro (lhs, rhs) divd rhs, lhs end)
    12081208
    12091209
  • trunk/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm

    r285152 r285173  
    12001200        addq numberTag, t0
    12011201        fq2d t0, ft0
    1202         doubleOperation(ft0, ft1, ft0)
     1202        doubleOperation(ft0, ft1)
    12031203        fd2q ft0, t0
    12041204        subq numberTag, t0
    … …  
    12141214        addq numberTag, t1
    12151215        fq2d t1, ft1
    1216         doubleOperation(ft0, ft1, ft0)
     1216        doubleOperation(ft0, ft1)
    12171217        fd2q ft0, t0
    12181218        subq numberTag, t0
    … …  
    12321232            btiz rhs, slow
    12331233            bineq rhs, -1, .notNeg2TwoThe31DivByNeg1
    1234             bieq lhs, -2147483648, .slow
     1234            bieq lhs, -2147483648, slow
    12351235        .notNeg2TwoThe31DivByNeg1:
    12361236            btinz lhs, .intOK
    … …  
    12451245            storeq t0, [cfr, index, 8]
    12461246        end,
    1247         macro (left, right, result) divd left, right, result end)
     1247        macro (lhs, rhs) divd rhs, lhs end)
    12481248else
    12491249    slowPathOp(div)
    … …  
    12631263        storeq t3, [cfr, index, 8]
    12641264    end,
    1265     macro (left, right, result) muld left, right, result end)
     1265    macro (lhs, rhs) muld rhs, lhs end)
    12661266
    12671267
    … …  
    12781278binaryOp(add, OpAdd,
    12791279    macro (lhs, rhs, slow) baddio rhs, lhs, slow end,
    1280     macro (left, right, result) addd left, right, result end)
     1280    macro (lhs, rhs) addd rhs, lhs end)
    12811281
    12821282
    12831283binaryOp(sub, OpSub,
    12841284    macro (lhs, rhs, slow) bsubio rhs, lhs, slow end,
    1285     macro (left, right, result) subd left, right, result end)
     1285    macro (lhs, rhs) subd rhs, lhs end)
    12861286
    12871287
Note: See TracChangeset for help on using the changeset viewer.