Title: [281324] trunk/Source/_javascript_Core
- Revision
- 281324
- Author
- [email protected]
- Date
- 2021-08-20 10:47:48 -0700 (Fri, 20 Aug 2021)
Log Message
Fix DFG compilation of StringCharAt in 32 bits jsc debug build
https://bugs.webkit.org/show_bug.cgi?id=229293
Patch by Mikhail R. Gadelha <[email protected]> on 2021-08-20
Reviewed by Keith Miller.
In SpeculativeJIT::compileGetByValOnString the format can be either DataFormatJS
or DataFormatCell so assert either value when compiling it in 32 bits.
It's the same assert already present in the DFG 64 bits counterpart
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (281323 => 281324)
--- trunk/Source/_javascript_Core/ChangeLog 2021-08-20 17:31:33 UTC (rev 281323)
+++ trunk/Source/_javascript_Core/ChangeLog 2021-08-20 17:47:48 UTC (rev 281324)
@@ -1,3 +1,17 @@
+2021-08-20 Mikhail R. Gadelha <[email protected]>
+
+ Fix DFG compilation of StringCharAt in 32 bits jsc debug build
+ https://bugs.webkit.org/show_bug.cgi?id=229293
+
+ Reviewed by Keith Miller.
+
+ In SpeculativeJIT::compileGetByValOnString the format can be either DataFormatJS
+ or DataFormatCell so assert either value when compiling it in 32 bits.
+ It's the same assert already present in the DFG 64 bits counterpart
+
+ * dfg/DFGSpeculativeJIT32_64.cpp:
+ (JSC::DFG::SpeculativeJIT::compile):
+
2021-08-20 Mark Lam <[email protected]>
Add some offlineasm enhancements.
Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp (281323 => 281324)
--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp 2021-08-20 17:31:33 UTC (rev 281323)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp 2021-08-20 17:47:48 UTC (rev 281324)
@@ -2565,7 +2565,7 @@
JSValueRegsTemporary result;
compileGetByValOnString(node, scopedLambda<std::tuple<JSValueRegs, DataFormat>(DataFormat preferredFormat)>([&] (DataFormat preferredFormat) {
result = JSValueRegsTemporary(this);
- ASSERT(preferredFormat & DataFormatJS);
+ ASSERT(preferredFormat == DataFormatJS || preferredFormat == DataFormatCell);
return std::make_pair(result.regs(), preferredFormat);
}));
break;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes