aboutsummaryrefslogtreecommitdiffstats
path: root/tools/qmljs
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-12-14 08:54:22 +0100
committerLiang Qi <liang.qi@qt.io>2016-12-14 08:54:57 +0100
commit172260ebef6b830768468317deee5e05743f92f3 (patch)
treef5bf99ecfecddcf0d07c5017b27d3e8f14d41176 /tools/qmljs
parent9fbc5aa8866bbc19cc0db9f5f247276f36f3e283 (diff)
parent8bf579d8d4feb13ca8651e98dd762b28483abe9e (diff)
Merge remote-tracking branch 'origin/5.8' into dev
Diffstat (limited to 'tools/qmljs')
-rw-r--r--tools/qmljs/qmljs.cpp57
1 files changed, 2 insertions, 55 deletions
diff --git a/tools/qmljs/qmljs.cpp b/tools/qmljs/qmljs.cpp
index 850b9a9a0a..54e1b6cea8 100644
--- a/tools/qmljs/qmljs.cpp
+++ b/tools/qmljs/qmljs.cpp
@@ -42,6 +42,7 @@
#include "private/qv4context_p.h"
#include "private/qv4script_p.h"
#include "private/qv4string_p.h"
+#include "private/qqmlbuiltinfunctions_p.h"
#ifdef V4_ENABLE_JIT
# include "private/qv4isel_masm_p.h"
@@ -60,57 +61,6 @@ QT_REQUIRE_CONFIG(qml_interpreter);
#include <iostream>
-namespace builtins {
-
-using namespace QV4;
-
-struct Print: FunctionObject
-{
- struct Data : Heap::FunctionObject {
- void init(ExecutionContext *scope)
- {
- Heap::FunctionObject::init(scope, QStringLiteral("print"));
- }
- };
- V4_OBJECT(FunctionObject)
-
- static void call(const Managed *, Scope &scope, CallData *callData)
- {
- for (int i = 0; i < callData->argc; ++i) {
- QString s = callData->args[i].toQStringNoThrow();
- if (i)
- std::cout << ' ';
- std::cout << qPrintable(s);
- }
- std::cout << std::endl;
- scope.result = Encode::undefined();
- }
-};
-
-DEFINE_OBJECT_VTABLE(Print);
-
-struct GC: public FunctionObject
-{
- struct Data : Heap::FunctionObject {
- void init(ExecutionContext *scope)
- {
- Heap::FunctionObject::init(scope, QStringLiteral("gc"));
- }
-
- };
- V4_OBJECT(FunctionObject)
-
- static void call(const Managed *m, Scope &scope, CallData *)
- {
- static_cast<const GC *>(m)->engine()->memoryManager->runGC();
- scope.result = Encode::undefined();
- }
-};
-
-DEFINE_OBJECT_VTABLE(GC);
-
-} // builtins
-
static void showException(QV4::ExecutionContext *ctx, const QV4::Value &exception, const QV4::StackTrace &trace)
{
QV4::Scope scope(ctx);
@@ -200,10 +150,7 @@ int main(int argc, char *argv[])
QV4::Scope scope(&vm);
QV4::ScopedContext ctx(scope, vm.rootContext());
- QV4::ScopedObject print(scope, vm.memoryManager->allocObject<builtins::Print>(vm.rootContext()));
- vm.globalObject->put(QV4::ScopedString(scope, vm.newIdentifier(QStringLiteral("print"))).getPointer(), print);
- QV4::ScopedObject gc(scope, vm.memoryManager->allocObject<builtins::GC>(ctx));
- vm.globalObject->put(QV4::ScopedString(scope, vm.newIdentifier(QStringLiteral("gc"))).getPointer(), gc);
+ QV4::GlobalExtensions::init(vm.globalObject, QJSEngine::ConsoleExtension | QJSEngine::GarbageCollectionExtension);
for (const QString &fn : qAsConst(args)) {
QFile file(fn);