[Win][x86-64] Some callee saved registers aren't preserved
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 7 Jun 2017 04:19:52 +0000 (04:19 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 7 Jun 2017 04:19:52 +0000 (04:19 +0000)
https://bugs.webkit.org/show_bug.cgi?id=171266

Patch by Fujii Hironori <Hironori.Fujii@sony.com> on 2017-06-06
Reviewed by Saam Barati.

* jit/RegisterSet.cpp:
(JSC::RegisterSet::calleeSaveRegisters): Added edi and esi for X86_64 Windows.

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

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/jit/RegisterSet.cpp

index b2ae091..64e83bd 100644 (file)
@@ -1,3 +1,13 @@
+2017-06-06  Fujii Hironori  <Hironori.Fujii@sony.com>
+
+        [Win][x86-64] Some callee saved registers aren't preserved
+        https://bugs.webkit.org/show_bug.cgi?id=171266
+
+        Reviewed by Saam Barati.
+
+        * jit/RegisterSet.cpp:
+        (JSC::RegisterSet::calleeSaveRegisters): Added edi and esi for X86_64 Windows.
+
 2017-06-06  Mark Lam  <mark.lam@apple.com>
 
         Contiguous storage butterfly length should not exceed MAX_STORAGE_VECTOR_LENGTH.
index e6e7741..62e831b 100644 (file)
@@ -113,6 +113,10 @@ RegisterSet RegisterSet::calleeSaveRegisters()
 #elif CPU(X86_64)
     result.set(X86Registers::ebx);
     result.set(X86Registers::ebp);
+#if OS(WINDOWS)
+    result.set(X86Registers::edi);
+    result.set(X86Registers::esi);
+#endif
     result.set(X86Registers::r12);
     result.set(X86Registers::r13);
     result.set(X86Registers::r14);