Fixed Windows crash seen on buildbot.
authorggaren@apple.com <ggaren@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 29 May 2010 07:46:31 +0000 (07:46 +0000)
committerggaren@apple.com <ggaren@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 29 May 2010 07:46:31 +0000 (07:46 +0000)
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::privateCompileCTINativeCall): __fastcall puts the first
argument in ecx.

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

JavaScriptCore/ChangeLog
JavaScriptCore/jit/JITOpcodes32_64.cpp

index d6a017e..6939026 100644 (file)
@@ -1,3 +1,11 @@
+2010-05-29  Geoffrey Garen  <ggaren@apple.com>
+
+        Fixed Windows crash seen on buildbot.
+
+        * jit/JITOpcodes32_64.cpp:
+        (JSC::JIT::privateCompileCTINativeCall): __fastcall puts the first
+        argument in ecx.
+
 2010-05-28  Geoffrey Garen  <ggaren@apple.com>
 
         Windows build fix: Updated exported symbols.
index 507de6e..a730b67 100644 (file)
@@ -191,18 +191,10 @@ JIT::Label JIT::privateCompileCTINativeCall(JSGlobalData* globalData, bool isCon
     emitPutToCallFrameHeader(regT1, RegisterFile::ReturnPC);
 
 #if CPU(X86)
-#if COMPILER(MSVC) || OS(LINUX)
-    // Calling convention:      f(edx, ...);
-    // Host function signature: f(ExecState*);
-    move(callFrameRegister, X86Registers::edx);
-
-#else
     // Calling convention:      f(ecx, edx, ...);
     // Host function signature: f(ExecState*);
     move(callFrameRegister, X86Registers::ecx);
 
-#endif // COMPILER(MSVC) || OS(LINUX)
-
     subPtr(Imm32(16 - sizeof(void*)), stackPointerRegister); // Align stack after call.
 
     // call the function
@@ -251,18 +243,10 @@ JIT::CodePtr JIT::privateCompileCTINativeCall(PassRefPtr<ExecutablePool> executa
     peek(regT1);
     emitPutToCallFrameHeader(regT1, RegisterFile::ReturnPC);
 
-#if COMPILER(MSVC) || OS(LINUX)
-    // Calling convention:      f(edx, ...);
-    // Host function signature: f(ExecState*);
-    move(callFrameRegister, X86Registers::edx);
-
-#else
     // Calling convention:      f(ecx, edx, ...);
     // Host function signature: f(ExecState*);
     move(callFrameRegister, X86Registers::ecx);
 
-#endif // COMPILER(MSVC) || OS(LINUX)
-
     subPtr(Imm32(16 - sizeof(void*)), stackPointerRegister); // Align stack after call.
 
     move(regT0, callFrameRegister); // Eagerly restore caller frame register to avoid loading from stack.