Title: [241529] releases/WebKitGTK/webkit-2.24/Source/_javascript_Core
Revision
241529
Author
[email protected]
Date
2019-02-14 03:27:34 -0800 (Thu, 14 Feb 2019)

Log Message

Merge r241475 - AirIRGenerator::addSwitch switch patchpoint needs to model clobbering the scratch register
https://bugs.webkit.org/show_bug.cgi?id=194610

Reviewed by Michael Saboff.

BinarySwitch might use the scratch register. We must model the
effects of that properly. This is already caught by our br-table
tests on arm64.

* wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::addSwitch):

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/ChangeLog (241528 => 241529)


--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/ChangeLog	2019-02-14 11:27:30 UTC (rev 241528)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/ChangeLog	2019-02-14 11:27:34 UTC (rev 241529)
@@ -1,3 +1,17 @@
+2019-02-13  Saam Barati  <[email protected]>
+
+        AirIRGenerator::addSwitch switch patchpoint needs to model clobbering the scratch register
+        https://bugs.webkit.org/show_bug.cgi?id=194610
+
+        Reviewed by Michael Saboff.
+
+        BinarySwitch might use the scratch register. We must model the
+        effects of that properly. This is already caught by our br-table
+        tests on arm64.
+
+        * wasm/WasmAirIRGenerator.cpp:
+        (JSC::Wasm::AirIRGenerator::addSwitch):
+
 2019-02-13  Mark Lam  <[email protected]>
 
         Create a randomized free list for new StructureIDs on StructureIDTable resize.

Modified: releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/wasm/WasmAirIRGenerator.cpp (241528 => 241529)


--- releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/wasm/WasmAirIRGenerator.cpp	2019-02-14 11:27:30 UTC (rev 241528)
+++ releases/WebKitGTK/webkit-2.24/Source/_javascript_Core/wasm/WasmAirIRGenerator.cpp	2019-02-14 11:27:34 UTC (rev 241529)
@@ -1544,8 +1544,11 @@
     auto* patchpoint = addPatchpoint(B3::Void);
     patchpoint->effects = B3::Effects::none();
     patchpoint->effects.terminal = true;
+    patchpoint->clobber(RegisterSet::macroScratchRegisters());
 
     patchpoint->setGenerator([=] (CCallHelpers& jit, const B3::StackmapGenerationParams& params) {
+        AllowMacroScratchRegisterUsage allowScratch(jit);
+
         Vector<int64_t> cases;
         cases.reserveInitialCapacity(numTargets);
         for (size_t i = 0; i < numTargets; ++i)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to