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>
This converts all methods in qv4runtime_p.h to not
use raw values in arguments anymore.
The conversion of return values will be done in a separate
commit.
Change-Id: Ie6e8f3bed459d09cb831f7f87920b7eada161502
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
This allows faster pass through of the data if we have
nested calls.
Also make sure we always reserve at least
QV4::Global::ReservedArgumentCount Values on the
stack to avoid stack corruption.
Change-Id: I42976460f1ef11a333d4adda70fba8daac66acf3
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reorder V4::Object's and V4::Value's private object inline functions
such that its definitions are visible from where they are being
referenced.
qv4object_p.h:418:13: warning: 'uint QV4::Object::arrayLength() const'
redeclared without dllimport attribute after being referenced with dll
linkage
qv4object_p.h:430:13: warning:
'void QV4::Object::setArrayLengthUnchecked(uint)' redeclared without
dllimport attribute after being referenced with dll linkage
Change-Id: I49a3c9d1da637eaf038f53b29ec13c35253de9f1
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Indirectly required by QtLocation and its use of QJSValuePrivate
Change-Id: Iea5bca47af8195e344d17fe2b82118141656d997
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Move the v4 engine classes from a subdir of qml/qml into
two subdirs (compiler and jsruntime) of the qml module
Remove an unsued qv4syntaxchecker class, and move
the moth code directly into compiler.
Change-Id: I6929bede1f25098e6cb2e68087e779fac16b0c68
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>