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

Changeset 281178 in webkit


Ignore:
Timestamp:
Aug 17, 2021, 7:27:03 PM (5 years ago)
Author:
sbarati@apple.com
Message:

Add an option for canonicalizePrePostIncrements
​https://bugs.webkit.org/show_bug.cgi?id=229211
<rdar://problem/82050126>

Reviewed by Mark Lam.

The current phase has bugs. Let's disable it for now until the bugs
are fixed. See discussion about the bugs I spotted in:
​https://bugs.webkit.org/show_bug.cgi?id=228538

  • b3/B3Generate.cpp:

(JSC::B3::generateToAir):

  • b3/testb3_3.cpp:

(addShrTests):

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

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r281115 r281178  
     12021-08-17  Saam Barati  <sbarati@apple.com>
     2
     3        Add an option for canonicalizePrePostIncrements
     4        https://bugs.webkit.org/show_bug.cgi?id=229211
     5        <rdar://problem/82050126>
     6
     7        Reviewed by Mark Lam.
     8
     9        The current phase has bugs. Let's disable it for now until the bugs
     10        are fixed. See discussion about the bugs I spotted in:
     11        https://bugs.webkit.org/show_bug.cgi?id=228538
     12
     13        * b3/B3Generate.cpp:
     14        (JSC::B3::generateToAir):
     15        * b3/testb3_3.cpp:
     16        (addShrTests):
     17        * runtime/OptionsList.h:
     18
    1192021-08-16  Mark Lam  <mark.lam@apple.com>
    220
  • trunk/Source/JavaScriptCore/b3/B3Generate.cpp

    r280808 r281178  
    119119    legalizeMemoryOffsets(procedure);
    120120    moveConstants(procedure);
    121     if (procedure.optLevel() >= 2)
     121    if (Options::useB3CanonicalizePrePostIncrements() && procedure.optLevel() >= 2)
    122122        canonicalizePrePostIncrements(procedure);
    123123    eliminateDeadCode(procedure);
  • trunk/Source/JavaScriptCore/b3/testb3_3.cpp

    r281062 r281178  
    40984098    RUN(testZShrArgImm32(0xffffffff, 63));
    40994099
    4100     RUN(testLoadPreIndex32());
    4101     RUN(testLoadPreIndex64());
    4102     RUN(testLoadPostIndex32());
    4103     RUN(testLoadPostIndex64());
    4104 
    4105     RUN(testStorePreIndex32());
    4106     RUN(testStorePreIndex64());
    4107     RUN(testStorePostIndex32());
    4108     RUN(testStorePostIndex64());
     4100    if (Options::useB3CanonicalizePrePostIncrements()) {
     4101        RUN(testLoadPreIndex32());
     4102        RUN(testLoadPreIndex64());
     4103        RUN(testLoadPostIndex32());
     4104        RUN(testLoadPostIndex64());
     4105
     4106        RUN(testStorePreIndex32());
     4107        RUN(testStorePreIndex64());
     4108        RUN(testStorePostIndex32());
     4109        RUN(testStorePostIndex64());
     4110    }
    41094111}
    41104112
  • trunk/Source/JavaScriptCore/runtime/OptionsList.h

    r280452 r281178  
    438438    v(Unsigned, maxB3TailDupBlockSuccessors, 3, Normal, nullptr) \
    439439    v(Bool, useB3HoistLoopInvariantValues, false, Normal, nullptr) \
     440    v(Bool, useB3CanonicalizePrePostIncrements, false, Normal, nullptr) \
    440441    \
    441442    v(Bool, useDollarVM, false, Restricted, "installs the $vm debugging tool in global objects") \
Note: See TracChangeset for help on using the changeset viewer.