Changeset 279441 in webkit


Ignore:
Timestamp:
Jun 30, 2021 4:36:34 PM (3 years ago)
Author:
mark.lam@apple.com
Message:

ARM64: Disable selection of BFI instruction variants by default.
https://bugs.webkit.org/show_bug.cgi?id=227554
rdar://79978150

Reviewed by Saam Barati.

We suspect that this may have caused some hangs. Disabling while we investigate.

  • b3/B3LowerToAir.cpp:
  • b3/testb3_2.cpp:

(testInsertBitField32):
(testInsertBitField64):

  • runtime/OptionsList.h:
Location:
trunk/Source/JavaScriptCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r279393 r279441  
     12021-06-30  Mark Lam  <mark.lam@apple.com>
     2
     3        ARM64: Disable selection of BFI instruction variants by default.
     4        https://bugs.webkit.org/show_bug.cgi?id=227554
     5        rdar://79978150
     6
     7        Reviewed by Saam Barati.
     8
     9        We suspect that this may have caused some hangs.  Disabling while we investigate.
     10
     11        * b3/B3LowerToAir.cpp:
     12        * b3/testb3_2.cpp:
     13        (testInsertBitField32):
     14        (testInsertBitField64):
     15        * runtime/OptionsList.h:
     16
    1172021-06-29  Joonghun Park  <jh718.park@samsung.com>
    218
  • trunk/Source/JavaScriptCore/b3/B3LowerToAir.cpp

    r279378 r279441  
    27652765            // Where: mask = (1 << width) - 1
    27662766            auto tryAppendUBFX = [&] () -> bool {
     2767                if (!Options::useBFI())
     2768                    return false;
    27672769                Air::Opcode opcode = opcodeForType(ExtractUnsignedBitfield32, ExtractUnsignedBitfield64, m_value->type());
    27682770                if (!isValidForm(opcode, Arg::Tmp, Arg::Imm, Arg::Imm, Arg::Tmp))
     
    28272829            //        mask2 = ~(mask1 << lsb)
    28282830            auto tryAppendBFI = [&] (Value* left, Value* right) -> bool {
     2831                if (!Options::useBFI())
     2832                    return false;
    28292833                Air::Opcode opcode = opcodeForType(InsertBitField32, InsertBitField64, m_value->type());
    28302834                if (!isValidForm(opcode, Arg::Tmp, Arg::Imm, Arg::Imm, Arg::Tmp))
     
    30313035            // where: amount = datasize - width
    30323036            auto tryAppendSBFIZ = [&] () -> bool {
     3037                if (!Options::useBFI())
     3038                    return false;
    30333039                Air::Opcode opcode = opcodeForType(InsertSignedBitfieldInZero32, InsertSignedBitfieldInZero64, m_value->type());
    30343040                if (!isValidForm(opcode, Arg::Tmp, Arg::Imm, Arg::Imm, Arg::Tmp))
  • trunk/Source/JavaScriptCore/b3/testb3_2.cpp

    r279378 r279441  
    31613161void testInsertBitField32()
    31623162{
     3163    if (!JSC::Options::useBFI())
     3164        return;
    31633165    if (JSC::Options::defaultB3OptLevel() < 2)
    31643166        return;
     
    32393241void testInsertBitField64()
    32403242{
     3243    if (!JSC::Options::useBFI())
     3244        return;
    32413245    if (JSC::Options::defaultB3OptLevel() < 2)
    32423246        return;
  • trunk/Source/JavaScriptCore/runtime/OptionsList.h

    r279209 r279441  
    549549    v(Bool, useDataIC, isARM64(), Normal, nullptr) \
    550550    v(Bool, useDataICInOptimizingJIT, false, Normal, nullptr) \
     551    v(Bool, useBFI, false, Normal, "Allow ARM64 instruction selection of BFI") \
    551552
    552553
Note: See TracChangeset for help on using the changeset viewer.