Disable quick autotests on mac until qtbase is fixed

Change-Id: I8c4fecfe42f93b3d6c272d2552a856e3ed1fce28
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Change calling convention in JIT to use ReturnedValue

This simplifies the masm backend as well and should be faster.

Change-Id: I64ad5d9ee1b6caca950471e3aec4ef19d7503e62
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Adjust return values to use ReturnedValue

Change-Id: I03822d360ad90cc659da66252439472ecb1a52bb
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Use a ReturnedValue for Managed::call()

Change-Id: Ief2d75e9789dd367c603d90dc0fe5316a0d055e3
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Require a ValueScope for ScopedCallData as well

This brings things more in line with ScopedValue, and
also simplifies cleanup of Scoped values.

Change-Id: If5f1466b4e13c629d56c1e7c638937f61ba48f77
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Rename QV4::ValueScope to QV4::Scope

The class is going to be used all over the place, so let's
give it a short name :)

Change-Id: If61543cb2c885e7fbb95c8fc4d0e870097c352ed
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Don't access out of bounds arguments

QQmlV4Function wasn't checking argc correctly when
accessing the arguments it contains.

Change-Id: I475c1366d46a5ef9c91104c12343507e469a69bb
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Use ReturnedValue for Managed::construct()

Change-Id: I9e702d60c4e1b7ba19a699ff7a8d53876d6cd5f7
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Use ReturnedValue for Managed::get().

Change-Id: Ia8f35d227b69d32e1f6a041283abbbd083aa34ca
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Use a ReturnedValue for Managed::getIndexed()

Change-Id: I0371ed21c4ef99564d3ffa1082dd109e890a78bf
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Convert lookups to use ReturnedValue

Change-Id: Idbcd1fbd2aa43775ce8c1a3d8fac29a6b58b678a
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Don't check whether Scoped<T> really contains a T

When retriveing a pointer to T, there's no need to check
that we really have a Managed stored in the value, as the
type checking is already done by the constructor and
assignment operators.

Change-Id: I246610b8d6e33848e6a2e2179a5e6e6d9d0975ca
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Rename BuiltinFunctionOld to BuiltinFunction

This is the correct abstraction for a builtin method.
Time to get rid of the 'old' in the name.

Change-Id: Ia386d2cc8ef0e6c269ab24da6fc8ebfac52d7f69
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Convert builtin methods to return a ReturnedValue

Change-Id: I6b75adbf53a5be0deab023d2eed98ce2a7915551
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Convert more methods to use ReturnedValue

Change Exception.value() and a few other places.

Change-Id: I53ce17e5656e260138b1ac7f6d467e4636c0a0b9
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Fix regression in Object.isExtensible()

We need to encode a bool, but the extensible flag
in Object is a bitfield (ie uint).

Change-Id: I2461c8ae90e92840da737c0c7ee88b9a2cee21e3
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Convert most remaining return values from Value to ReturnedValue

Change-Id: If8b0c3b91be50678693868c10fefc3678008834d
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Don't polish items if the screen is 0

The current code leads to an assertion during qapp
destruction time, as the screen gets set to 0, which
triggers a force polish that in turns accesses the qapp instance.

In addition, we don't need to do any work when the screen is 0,
as the window can't be visble in that case. Once it gets visible
again, forcePolish() will be called again.

Change-Id: I81d9a11e494b4573a56d06bca651cc6b5fa785c7
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Make QJSValue::prototype() gc safe

Change-Id: Ia93af291f97fd2b6473267e95520bc0759034029
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Extend the ReturnedValue mechanism to pointers to Managed objects

Add a Returned<T> that we can return instead of raw pointers
to Managed objects.

Start using the Returned<T> for a few methods.

Also clean up all our classes to use the Q_MANAGED macro instead
of manually defining their vtable.

Change-Id: I0a2962e47f3de955cd2cd8474f8f3fcc9e36d084
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>