Adapt to new calling convention on ARM:
authoriposva@chromium.org <iposva@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 12 Sep 2008 03:29:06 +0000 (03:29 +0000)
committeriposva@chromium.org <iposva@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 12 Sep 2008 03:29:06 +0000 (03:29 +0000)
commitc5ee961882e58deb61e83e00b7c0d6c1e20a9681
tree31417acfd41d9b7b276886a9e3976fddfa86a295
parentb6ad53054f1c235d05cce59ac8fb2146c11836bf
Adapt to new calling convention on ARM:
- Simplified frame entry and frame exit code.
- Added ArgumentsAdaptorTrampoline and check for matching argument counts in the InvokePrologue.
- Removed definition and uses of USE_OLD_CALLING_CONVENTIONS.
- Changed MacroAssembler::InvokeBuiltin to match ia32 version.
- Start introducing convenience instructions in the ARM assembler as needed. These instructions take all Register parameters to avoid extra typing of "Operand(reg)".

To keep the architectures in sync these changes have been made to the ia32 files:
- Changed MacroAssembler::EnterFrame(StackFrame::Type type) to MacroAssembler::EnterInternalFrame().

These parts are still missing:
- unimplemented: Builtins::Generate_FunctionApply - large limit
- unimplemented: Builtins::Generate_ArgumentsAdaptorTrampoline - non-function call
- The files have not been lint'd yet.

Review URL: http://codereview.chromium.org/1930

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
23 files changed:
src/assembler-arm.h
src/bootstrapper.cc
src/builtins-arm.cc
src/builtins-ia32.cc
src/builtins.cc
src/builtins.h
src/codegen-arm.cc
src/disasm-arm.cc
src/frames-arm.cc
src/frames-arm.h
src/frames.cc
src/frames.h
src/globals.h
src/ic-arm.cc
src/ic-ia32.cc
src/macro-assembler-arm.cc
src/macro-assembler-arm.h
src/macro-assembler-ia32.cc
src/macro-assembler-ia32.h
src/runtime.cc
src/simulator-arm.cc
src/stub-cache-arm.cc
src/stub-cache-ia32.cc