V4: clean-up target specific register definitions and stack usage
authorErik Verbruggen <erik.verbruggen@digia.com>
Fri, 23 May 2014 08:23:15 +0000 (10:23 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Sat, 24 May 2014 10:52:48 +0000 (12:52 +0200)
commitddb33ee9ba9e1344caa9be5dbf4b534c3ede692e
tree7f54d0fcf08eaa1b613d9fe41a9bba650660fbc7
parent75c22465cf8fe262edfe6178bb9ca19661fb710e
V4: clean-up target specific register definitions and stack usage

All constants referring to registers and all constants and functions
that do platform specific things with the stack, are all modev into a
separate file. Information about how a specific platform register is
used by the ABI is also extended and is now captured in the RegisterInfo
class. Usage of this information will be extended in subsequent patches.

This also fix ARM register usage:
- Correct fp register for Thumb mode.
- Only push registers that have to be saved and will actually be used
  from the stack (i.e. do not push r0-r3 in the function prelude).

Change-Id: Ia372505ade8f2648595c7aec1d281955392f34a1
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
src/qml/jit/jit.pri
src/qml/jit/qv4assembler.cpp
src/qml/jit/qv4assembler_p.h
src/qml/jit/qv4isel_masm.cpp
src/qml/jit/qv4registerinfo_p.h [new file with mode: 0644]
src/qml/jit/qv4targetplatform_p.h [new file with mode: 0644]