Fix crypto.js on arm
authorSimon Hausmann <simon.hausmann@digia.com>
Mon, 18 Feb 2013 21:30:42 +0000 (22:30 +0100)
committerLars Knoll <lars.knoll@digia.com>
Wed, 27 Feb 2013 07:45:12 +0000 (08:45 +0100)
commitda6ccb1908b1a2f7670be42267844d9971f59ae7
tree52f41b1f62dd3fff8ecdfd649d1ee4c42fe3ad19
parent31352048f936e68e8609cf57929eed20e3f48ab1
Fix crypto.js on arm

Due to our large amount of temps we also end up creating large stack frames and
thus add large constants to the stack pointer. That affects the encoding of the
immediates and MacroAssemblerARMv7 ASSERTs out for values that require
encoding.

This is unlikely to get fixed upstream and it's infact impossible to create a
testcase with JSC JIT due to the fact that it barely uses the stack frame.
I'd rather not patch the upstream file as it is a condition hard to find and
a patch easy to drop by accident. Instead this patch adds a simple workaround
that comes are low cost: Just load the immediate into a register and do the
addition.

Change-Id: Ia551a15d2f5f6243b295a9bfd19df778467189ec
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
src/v4/qv4isel_masm.cpp