Accurate function prototypes for native calls from ARM simulator.
authorulan@chromium.org <ulan@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 11 Apr 2013 12:40:37 +0000 (12:40 +0000)
committerulan@chromium.org <ulan@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 11 Apr 2013 12:40:37 +0000 (12:40 +0000)
commite4c957eff62a53c278f14dd0eed0ad8a0b37f029
treef3224a37f52719558819725c1c1dc173edc0ca41
parent723cd9887f21b2df909afcddd43a7e9010afd545
Accurate function prototypes for native calls from ARM simulator.

Native method invocation from the arm/simulator-arm.cc previously made
non-portable assumptions about calling conventions. This was okay for 32-bit
stack-based machines, where by-value structs are automatically materialized
on the stack, and where both int and double parameters could be passed on the
stack. However they are not okay for x86-64, which has an elaborate scheme
for passing parameters in registers.

This CL replaces the previous non-portable code paths with portable code,
using call-sites that accurately match the prototype of the callee.

BUG=2614

Review URL: https://chromiumcodereview.appspot.com/13818012
Patch from Brad Chen <bradchen@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/arguments.h
src/arm/code-stubs-arm.cc
src/arm/simulator-arm.cc
src/arm/simulator-arm.h
src/atomicops_internals_x86_gcc.h
src/builtins-decls.h [new file with mode: 0644]
src/builtins.cc
src/builtins.h
src/ia32/code-stubs-ia32.cc
src/mips/code-stubs-mips.cc
src/x64/code-stubs-x64.cc