DFG JIT Operations on 32_64 should use stdcall calling convention.
authorbarraclough@apple.com <barraclough@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 29 Sep 2011 01:36:00 +0000 (01:36 +0000)
committerbarraclough@apple.com <barraclough@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 29 Sep 2011 01:36:00 +0000 (01:36 +0000)
commit52e88deac809810ea423baa97a259a726c75031a
tree3cfb64bcae897f634668fddfe752250b650c8af0
parent3e590ada04a14dc2c42ef936215e40df52002f22
DFG JIT Operations on 32_64 should use stdcall calling convention.
https://bugs.webkit.org/show_bug.cgi?id=69046

Reviewed by Sam Weinig.

All calls out are expecting stdcall conventions, but the default on OS X are cdecl.
Leave D_DFGOperation_DD calls as the one exception, since we want to be able to link
directly to std library functions like fmod - leave these calls obeying the default
platform calling convention.

* assembler/MacroAssemblerCodeRef.h:
(JSC::FunctionPtr::FunctionPtr):
    - Add implicit constructors for std calls.
* dfg/DFGJITCodeGenerator.h:
(JSC::DFG::callOperation):
    - Make this work non-Mac platforms.
* dfg/DFGOperations.cpp:
(JSC::DFG::operationPutByValInternal):
* dfg/DFGOperations.h:
    - Mark all operations as stdcalls.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96286 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/assembler/MacroAssemblerCodeRef.h
Source/JavaScriptCore/dfg/DFGJITCodeGenerator.h
Source/JavaScriptCore/dfg/DFGOperations.cpp
Source/JavaScriptCore/dfg/DFGOperations.h
Source/JavaScriptCore/wtf/Compiler.h