Title: [224942] trunk/Source/_javascript_Core
Revision
224942
Author
sbar...@apple.com
Date
2017-11-16 16:35:49 -0800 (Thu, 16 Nov 2017)

Log Message

Fix a bug with cpuid in the FTL.

Rubber stamped by Mark Lam.

Before uploading the previous patch, I tried to condense the code. I
accidentally removed a crucial line saying that CPUID clobbers various
registers.

* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCPUIntrinsic):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (224941 => 224942)


--- trunk/Source/_javascript_Core/ChangeLog	2017-11-17 00:28:30 UTC (rev 224941)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-11-17 00:35:49 UTC (rev 224942)
@@ -1,5 +1,18 @@
 2017-11-16  Saam Barati  <sbar...@apple.com>
 
+        Fix a bug with cpuid in the FTL.
+
+        Rubber stamped by Mark Lam.
+
+        Before uploading the previous patch, I tried to condense the code. I
+        accidentally removed a crucial line saying that CPUID clobbers various
+        registers.
+
+        * ftl/FTLLowerDFGToB3.cpp:
+        (JSC::FTL::DFG::LowerDFGToB3::compileCPUIntrinsic):
+
+2017-11-16  Saam Barati  <sbar...@apple.com>
+
         Add some X86 intrinsics to $vm to help with some perf testing
         https://bugs.webkit.org/show_bug.cgi?id=179693
 

Modified: trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp (224941 => 224942)


--- trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp	2017-11-17 00:28:30 UTC (rev 224941)
+++ trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp	2017-11-17 00:35:49 UTC (rev 224942)
@@ -8208,6 +8208,9 @@
         case CPUPauseIntrinsic: {
             PatchpointValue* patchpoint = m_out.patchpoint(Void);
             patchpoint->effects = Effects::forCall();
+            if (intrinsic == CPUCpuidIntrinsic)
+                patchpoint->clobber(RegisterSet { X86Registers::eax, X86Registers::ebx, X86Registers::ecx, X86Registers::edx });
+
             patchpoint->setGenerator([=] (CCallHelpers& jit, const B3::StackmapGenerationParams&) {
                 switch (intrinsic) {
                 case CPUMfenceIntrinsic:
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to