Fix exception handling in masm backend
authorSimon Hausmann <simon.hausmann@digia.com>
Sun, 20 Jan 2013 19:38:35 +0000 (20:38 +0100)
committerLars Knoll <lars.knoll@digia.com>
Sun, 20 Jan 2013 21:19:08 +0000 (22:19 +0100)
commit59467a0f29972076712f27d0696cb818ff84f8a7
tree0b3f7eb67847c0d1b039e464d4f5dfb9de95c3ad
parentbe00d9a5c4968317f07df2bff86c5272c83f10d9
Fix exception handling in masm backend

The return value of setjmp is an int, which we interpret as a boolean later. We
cannot put it directly into a VM::Value, because it isn't one. Instead we have
to store it properly with value and tag.

This worked by "accident" on x86-64 where the return value is in eax and not
clobbered until we do the type test. But on ia32 we do rely on a proper value
representation.

Change-Id: Id54072c31baf6ad4607626dad939c715d2092d3d
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
qv4isel_masm.cpp