Title: [214253] trunk/Source/_javascript_Core
Revision
214253
Author
[email protected]
Date
2017-03-22 10:15:17 -0700 (Wed, 22 Mar 2017)

Log Message

[DFG] Don't use ArraySlice intrinsic on MIPS
https://bugs.webkit.org/show_bug.cgi?id=169721

Patch by Guillaume Emont <[email protected]> on 2017-03-22
Reviewed by Yusuke Suzuki.

Like on x86, we don't have enough registers available for this.

* assembler/CPU.h:
(JSC::isMIPS): Added.
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
Don't use the ArraySlice intrinsic on MIPS.

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (214252 => 214253)


--- trunk/Source/_javascript_Core/ChangeLog	2017-03-22 17:14:36 UTC (rev 214252)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-03-22 17:15:17 UTC (rev 214253)
@@ -1,3 +1,18 @@
+2017-03-22  Guillaume Emont  <[email protected]>
+
+        [DFG] Don't use ArraySlice intrinsic on MIPS
+        https://bugs.webkit.org/show_bug.cgi?id=169721
+
+        Reviewed by Yusuke Suzuki.
+
+        Like on x86, we don't have enough registers available for this.
+
+        * assembler/CPU.h:
+        (JSC::isMIPS): Added.
+        * dfg/DFGByteCodeParser.cpp:
+        (JSC::DFG::ByteCodeParser::handleIntrinsicCall):
+        Don't use the ArraySlice intrinsic on MIPS.
+
 2017-03-21  Mark Lam  <[email protected]>
 
         The DFG Integer Check Combining phase should force an OSR exit for CheckInBounds on a negative constant min bound.

Modified: trunk/Source/_javascript_Core/assembler/CPU.h (214252 => 214253)


--- trunk/Source/_javascript_Core/assembler/CPU.h	2017-03-22 17:14:36 UTC (rev 214252)
+++ trunk/Source/_javascript_Core/assembler/CPU.h	2017-03-22 17:15:17 UTC (rev 214253)
@@ -65,6 +65,15 @@
 #endif
 }
 
+inline bool isMIPS()
+{
+#if CPU(MIPS)
+    return true;
+#else
+    return false;
+#endif
+}
+
 inline bool optimizeForARMv7IDIVSupported()
 {
     return isARMv7IDIVSupported() && Options::useArchitectureSpecificOptimizations();

Modified: trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp (214252 => 214253)


--- trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp	2017-03-22 17:14:36 UTC (rev 214252)
+++ trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp	2017-03-22 17:15:17 UTC (rev 214253)
@@ -2252,7 +2252,7 @@
 
     case ArraySliceIntrinsic: {
 #if USE(JSVALUE32_64)
-        if (isX86()) {
+        if (isX86() || isMIPS()) {
             // There aren't enough registers for this to be done easily.
             return false;
         }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to