Fix constant value parameter passing on ia32
authorSimon Hausmann <simon.hausmann@digia.com>
Mon, 26 Nov 2012 21:49:35 +0000 (22:49 +0100)
committerLars Knoll <lars.knoll@digia.com>
Mon, 26 Nov 2012 22:02:07 +0000 (23:02 +0100)
Fix the order of tag and value when pushing constants onto the stack, given
that the stack grows in reverse order.

This fixes crypto.js and all sorts of other tests.

Change-Id: I1f6aa546e5453f890db582283fd4da609292f22b
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
qv4isel_masm_p.h

index 8fee0a4..15ba5b0 100644 (file)
@@ -371,10 +371,10 @@ private:
         move(TrustedImm64(value.val), ScratchRegister);
         push(ScratchRegister);
 #else
-        move(TrustedImm32(value.int_32), ScratchRegister);
-        push(ScratchRegister);
         move(TrustedImm32(value.tag), ScratchRegister);
         push(ScratchRegister);
+        move(TrustedImm32(value.int_32), ScratchRegister);
+        push(ScratchRegister);
 #endif
     }