[JSC] X86Registers.h callee-save register definition is wrong
authorysuzuki@apple.com <ysuzuki@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 13 Sep 2019 09:20:26 +0000 (09:20 +0000)
committerysuzuki@apple.com <ysuzuki@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 13 Sep 2019 09:20:26 +0000 (09:20 +0000)
https://bugs.webkit.org/show_bug.cgi?id=201756

Reviewed by Mark Lam.

I think nobody is using X86 JIT backend, but it is simply wrong.
edi and esi should be callee-save.

* assembler/X86Registers.h:

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

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/assembler/X86Registers.h

index 6d53b70..ae52c3c 100644 (file)
@@ -1,3 +1,15 @@
+2019-09-13  Yusuke Suzuki  <ysuzuki@apple.com>
+
+        [JSC] X86Registers.h callee-save register definition is wrong
+        https://bugs.webkit.org/show_bug.cgi?id=201756
+
+        Reviewed by Mark Lam.
+
+        I think nobody is using X86 JIT backend, but it is simply wrong.
+        edi and esi should be callee-save.
+
+        * assembler/X86Registers.h:
+
 2019-09-12  Mark Lam  <mark.lam@apple.com>
 
         Harden JSC against the abuse of runtime options.
index 593a13c..acbed7e 100644 (file)
     FOR_EACH_GP_REGISTER(macro)                 \
     FOR_EACH_FP_REGISTER(macro)
 
-#if !OS(WINDOWS)
-
 #define FOR_EACH_GP_REGISTER(macro)             \
-    macro(eax, "rax", 0, 0)                     \
-    macro(ecx, "rcx", 0, 0)                     \
-    macro(edx, "rdx", 0, 0)                     \
-    macro(ebx, "rbx", 0, 1)                     \
-    macro(esp, "rsp", 0, 0)                     \
-    macro(ebp, "rbp", 0, 1)                     \
-    macro(esi, "rsi", 0, 0)                     \
-    macro(edi, "rdi", 0, 0)
-
-#else // OS(WINDOWS)
-
-#define FOR_EACH_GP_REGISTER(macro)             \
-    macro(eax, "rax", 0, 0)                     \
-    macro(ecx, "rcx", 0, 0)                     \
-    macro(edx, "rdx", 0, 0)                     \
-    macro(ebx, "rbx", 0, 1)                     \
-    macro(esp, "rsp", 0, 0)                     \
-    macro(ebp, "rbp", 0, 1)                     \
-    macro(esi, "rsi", 0, 1)                     \
-    macro(edi, "rdi", 0, 1)
-
-#endif // !OS(WINDOWS)
+    macro(eax, "eax", 0, 0)                     \
+    macro(ecx, "ecx", 0, 0)                     \
+    macro(edx, "edx", 0, 0)                     \
+    macro(ebx, "ebx", 0, 1)                     \
+    macro(esp, "esp", 0, 0)                     \
+    macro(ebp, "ebp", 0, 1)                     \
+    macro(esi, "esi", 0, 1)                     \
+    macro(edi, "edi", 0, 1)
 
 #define FOR_EACH_FP_REGISTER(macro)             \
     macro(xmm0, "xmm0", 0, 0)                   \