Unreviewed, build fix for ARM64
authorutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 12 Jun 2017 11:51:58 +0000 (11:51 +0000)
committerutatane.tea@gmail.com <utatane.tea@gmail.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 12 Jun 2017 11:51:58 +0000 (11:51 +0000)
https://bugs.webkit.org/show_bug.cgi?id=172421

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArrayIndexOf):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@218093 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp

index e13e3a9..e1a7fd2 100644 (file)
@@ -1,3 +1,11 @@
+2017-06-12  Yusuke Suzuki  <utatane.tea@gmail.com>
+
+        Unreviewed, build fix for ARM64
+        https://bugs.webkit.org/show_bug.cgi?id=172421
+
+        * dfg/DFGSpeculativeJIT.cpp:
+        (JSC::DFG::SpeculativeJIT::compileArrayIndexOf):
+
 2017-06-09  Yusuke Suzuki  <utatane.tea@gmail.com>
 
         [DFG] Add ArrayIndexOf intrinsic
index f8dda7e..192f900 100644 (file)
@@ -7497,10 +7497,8 @@ void SpeculativeJIT::compileArrayIndexOf(Node* node)
             int32Result(indexGPR, node);
         };
 
-#if USE(JSVALUE32_64)
         GPRTemporary temp(this);
         GPRReg tempGPR = temp.gpr();
-#endif
 
         if (searchElementEdge.useKind() == Int32Use) {
             ASSERT(node->arrayMode().type() == Array::Int32);
@@ -7515,7 +7513,8 @@ void SpeculativeJIT::compileArrayIndexOf(Node* node)
 #endif
             emitLoop([&] () {
 #if USE(JSVALUE64)
-                auto found = m_jit.branch64(CCallHelpers::Equal, MacroAssembler::BaseIndex(storageGPR, indexGPR, MacroAssembler::TimesEight), searchElementGPR);
+                m_jit.load64(CCallHelpers::Equal, MacroAssembler::BaseIndex(storageGPR, indexGPR, MacroAssembler::TimesEight), tempGPR);
+                auto found = m_jit.branch64(CCallHelpers::Equal, tempGPR, searchElementGPR);
 #else
                 auto skip = m_jit.branch32(CCallHelpers::NotEqual, MacroAssembler::BaseIndex(storageGPR, indexGPR, MacroAssembler::TimesEight, TagOffset), TrustedImm32(JSValue::Int32Tag));
                 m_jit.load32(MacroAssembler::BaseIndex(storageGPR, indexGPR, MacroAssembler::TimesEight, PayloadOffset), tempGPR);
@@ -7532,7 +7531,8 @@ void SpeculativeJIT::compileArrayIndexOf(Node* node)
 
             emitLoop([&] () {
 #if USE(JSVALUE64)
-                auto found = m_jit.branch64(CCallHelpers::Equal, MacroAssembler::BaseIndex(storageGPR, indexGPR, MacroAssembler::TimesEight), searchElementGPR);
+                m_jit.load64(CCallHelpers::Equal, MacroAssembler::BaseIndex(storageGPR, indexGPR, MacroAssembler::TimesEight), tempGPR);
+                auto found = m_jit.branch64(CCallHelpers::Equal, tempGPR, searchElementGPR);
 #else
                 auto skip = m_jit.branch32(CCallHelpers::NotEqual, MacroAssembler::BaseIndex(storageGPR, indexGPR, MacroAssembler::TimesEight, TagOffset), TrustedImm32(JSValue::CellTag));
                 m_jit.load32(MacroAssembler::BaseIndex(storageGPR, indexGPR, MacroAssembler::TimesEight, PayloadOffset), tempGPR);