From: Simon Hausmann Date: Sat, 8 Dec 2012 17:20:54 +0000 (+0100) Subject: Add gc() function to triggering manual call to gc X-Git-Tag: upstream/5.2.1~669^2~659^2~728 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f7408295611f61a7c607430e4ffa7e6a37f4c6c3;p=platform%2Fupstream%2Fqtdeclarative.git Add gc() function to triggering manual call to gc Similar to jsc Change-Id: I7c547ef10cb1620523465fe659cd3075dd27a456 Reviewed-by: Lars Knoll --- diff --git a/main.cpp b/main.cpp index decb799..919cca7 100644 --- a/main.cpp +++ b/main.cpp @@ -110,6 +110,20 @@ struct TestHarnessError: FunctionObject bool &errorOccurred; }; +struct GC: public FunctionObject +{ + GC(ExecutionContext* scope) + : FunctionObject(scope) + { + name = scope->engine->newString("gc"); + } + virtual Value call(ExecutionContext *ctx) + { + ctx->engine->memoryManager->runGC(); + return Value::undefinedValue(); + } +}; + } // builtins static void showException(QQmlJS::VM::ExecutionContext *ctx) @@ -341,6 +355,8 @@ int main(int argc, char *argv[]) QQmlJS::VM::Object *globalObject = vm.globalObject.objectValue(); globalObject->__put__(ctx, vm.identifier(QStringLiteral("print")), QQmlJS::VM::Value::fromObject(new (ctx->engine->memoryManager) builtins::Print(ctx))); + globalObject->__put__(ctx, vm.identifier(QStringLiteral("gc")), + QQmlJS::VM::Value::fromObject(new (ctx->engine->memoryManager) builtins::GC(ctx))); bool errorInTestHarness = false; if (!qgetenv("IN_TEST_HARNESS").isEmpty())