V4 JIT: save/restore ebx (GOT ptr) on linux/x86.
authorErik Verbruggen <erik.verbruggen@digia.com>
Mon, 27 Jan 2014 12:00:20 +0000 (13:00 +0100)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Fri, 31 Jan 2014 09:34:02 +0000 (10:34 +0100)
commit2d95e67ff4f00260d491255ed0b2af454235a047
treea9cd16c9fd32b2f29140bda704f4fb157fbe6200
parentfc218a91ce03187f51058deba9d5cdde9c3e6d05
V4 JIT: save/restore ebx (GOT ptr) on linux/x86.

On linux/x86, ebx is used to store the global offset table. When using
this register for temporary values, we have to save it at the entry of
a generated function, and restore it before doing calls and at the end.

Task-number: QTBUG-36289
Change-Id: I30194be3ce44f58b793ee52f6201906bcb68d46a
Reviewed-by: Albert Astals Cid <albert.astals@canonical.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
src/qml/compiler/qv4isel_masm.cpp
src/qml/compiler/qv4isel_masm_p.h