Title: [97031] trunk/Source/_javascript_Core
Revision
97031
Author
[email protected]
Date
2011-10-09 13:14:47 -0700 (Sun, 09 Oct 2011)

Log Message

JSVALUE32_64 DFG JIT - fillJSValue with a pair of GPRs should not set the registerFormat to be DataFormatJSDouble
https://bugs.webkit.org/show_bug.cgi?id=69720

Patch by Yuqiang Xian <[email protected]> on 2011-10-09
Reviewed by Filip Pizlo.

In JSVALUE32_64 DFG, DataFormatJSDouble is assumed to be represented by
a FPR and will be used for further optimizations, though we currently
don't fully utilize it. For now when filling a JS value which was
spilled as a JSDouble with a pair of GPRs, we'll set the registerFormat
to DataFormatJS to avoid compilation errors.

* dfg/DFGJITCodeGenerator32_64.cpp:
(JSC::DFG::JITCodeGenerator::fillJSValue):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (97030 => 97031)


--- trunk/Source/_javascript_Core/ChangeLog	2011-10-09 20:07:36 UTC (rev 97030)
+++ trunk/Source/_javascript_Core/ChangeLog	2011-10-09 20:14:47 UTC (rev 97031)
@@ -1,3 +1,19 @@
+2011-10-09  Yuqiang Xian  <[email protected]>
+
+        JSVALUE32_64 DFG JIT - fillJSValue with a pair of GPRs should not set the registerFormat to be DataFormatJSDouble
+        https://bugs.webkit.org/show_bug.cgi?id=69720
+
+        Reviewed by Filip Pizlo.
+
+        In JSVALUE32_64 DFG, DataFormatJSDouble is assumed to be represented by
+        a FPR and will be used for further optimizations, though we currently
+        don't fully utilize it. For now when filling a JS value which was
+        spilled as a JSDouble with a pair of GPRs, we'll set the registerFormat
+        to DataFormatJS to avoid compilation errors.
+
+        * dfg/DFGJITCodeGenerator32_64.cpp:
+        (JSC::DFG::JITCodeGenerator::fillJSValue):
+
 2011-10-09  Filip Pizlo  <[email protected]>
 
         DFG should not always speculate that a ByVal access has an integer index

Modified: trunk/Source/_javascript_Core/dfg/DFGJITCodeGenerator32_64.cpp (97030 => 97031)


--- trunk/Source/_javascript_Core/dfg/DFGJITCodeGenerator32_64.cpp	2011-10-09 20:07:36 UTC (rev 97030)
+++ trunk/Source/_javascript_Core/dfg/DFGJITCodeGenerator32_64.cpp	2011-10-09 20:14:47 UTC (rev 97031)
@@ -242,7 +242,7 @@
             m_jit.emitLoad(nodeIndex, tagGPR, payloadGPR);
             m_gprs.retain(tagGPR, virtualRegister, SpillOrderSpilled);
             m_gprs.retain(payloadGPR, virtualRegister, SpillOrderSpilled);
-            info.fillJSValue(tagGPR, payloadGPR, spillFormat);
+            info.fillJSValue(tagGPR, payloadGPR, spillFormat == DataFormatJSDouble ? DataFormatJS : spillFormat);
         }
 
         return true;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to