Modified: branches/safari-612.1.27.3-branch/Source/_javascript_Core/ChangeLog (281314 => 281315)
--- branches/safari-612.1.27.3-branch/Source/_javascript_Core/ChangeLog 2021-08-20 15:24:44 UTC (rev 281314)
+++ branches/safari-612.1.27.3-branch/Source/_javascript_Core/ChangeLog 2021-08-20 15:27:22 UTC (rev 281315)
@@ -1,3 +1,43 @@
+2021-08-20 Russell Epstein <[email protected]>
+
+ Cherry-pick r281178. rdar://problem/82083485
+
+ 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:
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281178 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2021-08-17 Saam Barati <[email protected]>
+
+ 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:
+
2021-08-13 Alan Coon <[email protected]>
Cherry-pick r280996. rdar://problem/81901248
Modified: branches/safari-612.1.27.3-branch/Source/_javascript_Core/b3/B3Generate.cpp (281314 => 281315)
--- branches/safari-612.1.27.3-branch/Source/_javascript_Core/b3/B3Generate.cpp 2021-08-20 15:24:44 UTC (rev 281314)
+++ branches/safari-612.1.27.3-branch/Source/_javascript_Core/b3/B3Generate.cpp 2021-08-20 15:27:22 UTC (rev 281315)
@@ -118,11 +118,10 @@
lowerMacrosAfterOptimizations(procedure);
legalizeMemoryOffsets(procedure);
moveConstants(procedure);
+ if (Options::useB3CanonicalizePrePostIncrements() && procedure.optLevel() >= 2)
+ canonicalizePrePostIncrements(procedure);
eliminateDeadCode(procedure);
- if (procedure.optLevel() >= 2)
- canonicalizePrePostIncrements(procedure);
-
// FIXME: We should run pureCSE here to clean up some platform specific changes from the previous phases.
// https://bugs.webkit.org/show_bug.cgi?id=164873
Modified: branches/safari-612.1.27.3-branch/Source/_javascript_Core/b3/testb3_3.cpp (281314 => 281315)
--- branches/safari-612.1.27.3-branch/Source/_javascript_Core/b3/testb3_3.cpp 2021-08-20 15:24:44 UTC (rev 281314)
+++ branches/safari-612.1.27.3-branch/Source/_javascript_Core/b3/testb3_3.cpp 2021-08-20 15:27:22 UTC (rev 281315)
@@ -3992,10 +3992,12 @@
RUN(testZShrArgImm32(0xffffffff, 1));
RUN(testZShrArgImm32(0xffffffff, 63));
- RUN(testLoadPreIndex32());
- RUN(testLoadPreIndex64());
- RUN(testLoadPostIndex32());
- RUN(testLoadPostIndex64());
+ if (Options::useB3CanonicalizePrePostIncrements()) {
+ RUN(testStorePreIndex32());
+ RUN(testStorePreIndex64());
+ RUN(testStorePostIndex32());
+ RUN(testStorePostIndex64());
+ }
}
#endif // ENABLE(B3_JIT)
Modified: branches/safari-612.1.27.3-branch/Source/_javascript_Core/runtime/OptionsList.h (281314 => 281315)
--- branches/safari-612.1.27.3-branch/Source/_javascript_Core/runtime/OptionsList.h 2021-08-20 15:24:44 UTC (rev 281314)
+++ branches/safari-612.1.27.3-branch/Source/_javascript_Core/runtime/OptionsList.h 2021-08-20 15:27:22 UTC (rev 281315)
@@ -437,6 +437,7 @@
v(Unsigned, maxB3TailDupBlockSize, 3, Normal, nullptr) \
v(Unsigned, maxB3TailDupBlockSuccessors, 3, Normal, nullptr) \
v(Bool, useB3HoistLoopInvariantValues, false, Normal, nullptr) \
+ v(Bool, useB3CanonicalizePrePostIncrements, false, Normal, nullptr) \
\
v(Bool, useDollarVM, false, Restricted, "installs the $vm debugging tool in global objects") \
v(OptionString, functionOverrides, nullptr, Restricted, "file with debugging overrides for function bodies") \