Title: [113928] trunk/Source/_javascript_Core
Revision
113928
Author
[email protected]
Date
2012-04-11 17:29:34 -0700 (Wed, 11 Apr 2012)

Log Message

If you use an IntegerOperand and want to return it with integerResult, you need to
zero extend to get rid of the box
https://bugs.webkit.org/show_bug.cgi?id=83734
<rdar://problem/11232296>

Reviewed by Oliver Hunt.

* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::fillInteger):
(JSC::DFG::SpeculativeJIT::nonSpeculativeValueToInt32):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (113927 => 113928)


--- trunk/Source/_javascript_Core/ChangeLog	2012-04-12 00:13:39 UTC (rev 113927)
+++ trunk/Source/_javascript_Core/ChangeLog	2012-04-12 00:29:34 UTC (rev 113928)
@@ -1,5 +1,18 @@
 2012-04-11  Filip Pizlo  <[email protected]>
 
+        If you use an IntegerOperand and want to return it with integerResult, you need to
+        zero extend to get rid of the box
+        https://bugs.webkit.org/show_bug.cgi?id=83734
+        <rdar://problem/11232296>
+
+        Reviewed by Oliver Hunt.
+
+        * dfg/DFGSpeculativeJIT64.cpp:
+        (JSC::DFG::SpeculativeJIT::fillInteger):
+        (JSC::DFG::SpeculativeJIT::nonSpeculativeValueToInt32):
+
+2012-04-11  Filip Pizlo  <[email protected]>
+
         SpeculativeJIT::fillStorage() should work with all the states that a cell may be in
         https://bugs.webkit.org/show_bug.cgi?id=83722
 

Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp (113927 => 113928)


--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp	2012-04-12 00:13:39 UTC (rev 113927)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp	2012-04-12 00:29:34 UTC (rev 113928)
@@ -76,7 +76,7 @@
         info.fillJSValue(gpr, DataFormatJSInteger);
         unlock(gpr);
     }
-
+    
     switch (info.registerFormat()) {
     case DataFormatNone:
         // Should have filled, above.
@@ -409,7 +409,7 @@
     if (isKnownInteger(node.child1().index())) {
         IntegerOperand op1(this, node.child1());
         GPRTemporary result(this, op1);
-        m_jit.move(op1.gpr(), result.gpr());
+        m_jit.zeroExtend32ToPtr(op1.gpr(), result.gpr());
         integerResult(result.gpr(), m_compileIndex);
         return;
     }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to