Title: [293020] trunk/Source/_javascript_Core
Revision
293020
Author
[email protected]
Date
2022-04-19 10:19:43 -0700 (Tue, 19 Apr 2022)

Log Message

Unreviewed, disable UnlinkedDFG code in x64
https://bugs.webkit.org/show_bug.cgi?id=237863

* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
* jit/GPRInfo.h:
(JSC::GPRInfo::toRegister):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (293019 => 293020)


--- trunk/Source/_javascript_Core/ChangeLog	2022-04-19 17:14:21 UTC (rev 293019)
+++ trunk/Source/_javascript_Core/ChangeLog	2022-04-19 17:19:43 UTC (rev 293020)
@@ -1,5 +1,15 @@
 2022-04-19  Yusuke Suzuki  <[email protected]>
 
+        Unreviewed, disable UnlinkedDFG code in x64
+        https://bugs.webkit.org/show_bug.cgi?id=237863
+
+        * dfg/DFGPlan.cpp:
+        (JSC::DFG::Plan::compileInThreadImpl):
+        * jit/GPRInfo.h:
+        (JSC::GPRInfo::toRegister):
+
+2022-04-19  Yusuke Suzuki  <[email protected]>
+
         Unreviewed, do not use RELEASE_ASSERT_NOT_REACHED in super hot path to suppress warnings
         https://bugs.webkit.org/show_bug.cgi?id=239290
 

Modified: trunk/Source/_javascript_Core/dfg/DFGPlan.cpp (293019 => 293020)


--- trunk/Source/_javascript_Core/dfg/DFGPlan.cpp	2022-04-19 17:14:21 UTC (rev 293019)
+++ trunk/Source/_javascript_Core/dfg/DFGPlan.cpp	2022-04-19 17:19:43 UTC (rev 293020)
@@ -316,6 +316,10 @@
         dfg.ensureCPSNaturalLoops();
     }
 
+    // Currently, due to GPRInfo::numberOfRegisters issue, we cannot enable it on x64.
+    if (isX86_64())
+        RELEASE_ASSERT(m_mode != JITCompilationMode::UnlinkedDFG);
+
     switch (m_mode) {
     case JITCompilationMode::DFG:
     case JITCompilationMode::UnlinkedDFG: {

Modified: trunk/Source/_javascript_Core/jit/GPRInfo.h (293019 => 293020)


--- trunk/Source/_javascript_Core/jit/GPRInfo.h	2022-04-19 17:14:21 UTC (rev 293019)
+++ trunk/Source/_javascript_Core/jit/GPRInfo.h	2022-04-19 17:19:43 UTC (rev 293020)
@@ -420,7 +420,7 @@
 class GPRInfo {
 public:
     typedef GPRReg RegisterType;
-    static constexpr unsigned numberOfRegisters = 10;
+    static constexpr unsigned numberOfRegisters = 11;
     static constexpr unsigned numberOfArgumentRegisters = NUMBER_OF_ARGUMENT_REGISTERS;
 
     // These registers match the baseline JIT.
@@ -498,9 +498,9 @@
     {
         ASSERT(index < numberOfRegisters);
 #if !OS(WINDOWS)
-        static const GPRReg registerForIndex[numberOfRegisters] = { regT0, regT1, regT2, regT3, regT4, regT5, regT6, regT7, regCS0, regCS1 };
+        static const GPRReg registerForIndex[numberOfRegisters] = { regT0, regT1, regT2, regT3, regT4, regT5, regT6, regT7, regCS0, regCS1, regCS2 };
 #else
-        static const GPRReg registerForIndex[numberOfRegisters] = { regT0, regT1, regT2, regT3, regT4, regT5, regCS0, regCS1, regCS2, regCS3 };
+        static const GPRReg registerForIndex[numberOfRegisters] = { regT0, regT1, regT2, regT3, regT4, regT5, regCS0, regCS1, regCS2, regCS3, regCS4 };
 #endif
         return registerForIndex[index];
     }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to