ARM64: Fix and improve MacroAssembler::Printf.
authorJacob.Bramley@arm.com <Jacob.Bramley@arm.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 12 May 2014 15:44:21 +0000 (15:44 +0000)
committerJacob.Bramley@arm.com <Jacob.Bramley@arm.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 12 May 2014 15:44:21 +0000 (15:44 +0000)
commite876dab9ad5c3488d60d9c2279def2645d864818
tree64a13ed01864f07b3fa202de59439524b9e93d90
parenta3a56420973b97e877ae14d1883c600c39c83cfc
ARM64: Fix and improve MacroAssembler::Printf.

  - W-sized values passed to Printf are now handled correctly by the
    simulator. In AAPCS64, int32_t and int64_t are passed in the same
    way, so this didn't affect non-simulator builds.
  - Since Printf now records the type and size of each argument, it is
    possible to mix argument types.
  - It is now possible to print the stack pointer. There is only one
    remaining restriction: The `csp` register cannot be printed unless
    it is the current stack pointer. This is because it is modified by
    BumpSystemStackPointer when the caller-saved registers are
    preserved.

BUG=
R=rmcilroy@chromium.org

Review URL: https://codereview.chromium.org/268353005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/arm64/assembler-arm64-inl.h
src/arm64/assembler-arm64.h
src/arm64/instructions-arm64.h
src/arm64/macro-assembler-arm64.cc
src/arm64/macro-assembler-arm64.h
src/arm64/simulator-arm64.cc
src/arm64/simulator-arm64.h
test/cctest/test-assembler-arm64.cc