Fix occasional crashes on x86 due to alignment issues
authorSimon Hausmann <simon.hausmann@digia.com>
Thu, 25 Apr 2013 02:19:17 +0000 (04:19 +0200)
committerLars Knoll <lars.knoll@digia.com>
Sun, 28 Apr 2013 19:22:14 +0000 (21:22 +0200)
commitb72347ddf88caa8b36b61974baaf4a9ca6aed4af
treeb743083b41983deb6c197ebc3be40ef6f4d1584a
parent68da93f56809cce02b910f2d4151b6b889e20eee
Fix occasional crashes on x86 due to alignment issues

As it turns out, the stack is required to be aligned to 16 bytes on x86. This
patch makes sure of that.

This also rewrites the parameter handling for function calls to be much simpler
and also faster by replacing the use of individual push instructions for stack
arguments with one stack pointer subtraction for all arguments followed by
shorter moves (poke) for each argument.

Change-Id: Id8199654bdf729c7858c1a223f788ca3a2d03fc8
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
src/qml/qml/v4vm/qv4isel_masm.cpp
src/qml/qml/v4vm/qv4isel_masm_p.h