Fix regression in eval compilation on arm
authorKent Hansen <kent.hansen@nokia.com>
Wed, 9 May 2012 06:31:08 +0000 (08:31 +0200)
committerQt by Nokia <qt-info@nokia.com>
Wed, 9 May 2012 07:15:31 +0000 (09:15 +0200)
When the "Introduce a QML compilation mode" patch was rebased on top
of V8 3.10.1, a regression was introduced that caused the last two
arguments to Runtime_ResolvePossiblyDirectEval to be passed in the
wrong order.

With this fix, tst_v8::eval() passes again on arm.

Change-Id: I0c518eb56e4c390f7684d8e5c38cce3dece3085e
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
src/3rdparty/v8/src/arm/full-codegen-arm.cc

index dfd753d..1eff534 100644 (file)
@@ -2289,14 +2289,15 @@ void FullCodeGenerator::EmitResolvePossiblyDirectEval(int arg_count) {
   // Push the language mode.
   __ mov(r1, Operand(Smi::FromInt(language_mode())));
   __ push(r1);
-  // Push the qml mode flag.
-  __ mov(r1, Operand(Smi::FromInt(is_qml_mode())));
-  __ push(r1);
 
   // Push the start position of the scope the calls resides in.
   __ mov(r1, Operand(Smi::FromInt(scope()->start_position())));
   __ push(r1);
 
+  // Push the qml mode flag.
+  __ mov(r1, Operand(Smi::FromInt(is_qml_mode())));
+  __ push(r1);
+
   // Do the runtime call.
   __ CallRuntime(Runtime::kResolvePossiblyDirectEval, 6);
 }