Title: [171381] trunk/Source/_javascript_Core
Revision
171381
Author
fpi...@apple.com
Date
2014-07-22 18:43:35 -0700 (Tue, 22 Jul 2014)

Log Message

Fix 32-bit.

* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (171380 => 171381)


--- trunk/Source/_javascript_Core/ChangeLog	2014-07-23 01:19:50 UTC (rev 171380)
+++ trunk/Source/_javascript_Core/ChangeLog	2014-07-23 01:43:35 UTC (rev 171381)
@@ -1,5 +1,12 @@
 2014-07-22  Filip Pizlo  <fpi...@apple.com>
 
+        Fix 32-bit.
+
+        * dfg/DFGSpeculativeJIT32_64.cpp:
+        (JSC::DFG::SpeculativeJIT::compile):
+
+2014-07-22  Filip Pizlo  <fpi...@apple.com>
+
         Merge r169148, r169185, r169188, r169578, r169582, r169584, r169588, r169753 from ftlopt.
         
         Note that r169753 is merged out of order because it fixes a bug in r169588.

Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp (171380 => 171381)


--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp	2014-07-23 01:19:50 UTC (rev 171380)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp	2014-07-23 01:43:35 UTC (rev 171381)
@@ -3747,12 +3747,18 @@
     }
 
     case PutStructure: {
+        Structure* oldStructure = node->transition()->previous;
+        Structure* newStructure = node->transition()->next;
+
         m_jit.jitCode()->common.notifyCompilingStructureTransition(m_jit.graph().m_plan, m_jit.codeBlock(), node);
 
         SpeculateCellOperand base(this, node->child1());
         GPRReg baseGPR = base.gpr();
         
-        m_jit.storePtr(MacroAssembler::TrustedImmPtr(node->structureTransitionData().newStructure), MacroAssembler::Address(baseGPR, JSCell::structureIDOffset()));
+        ASSERT_UNUSED(oldStructure, oldStructure->indexingType() == newStructure->indexingType());
+        ASSERT(oldStructure->typeInfo().type() == newStructure->typeInfo().type());
+        ASSERT(oldStructure->typeInfo().inlineTypeFlags() == newStructure->typeInfo().inlineTypeFlags());
+        m_jit.storePtr(MacroAssembler::TrustedImmPtr(newStructure), MacroAssembler::Address(baseGPR, JSCell::structureIDOffset()));
         
         noResult(node);
         break;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to