diff options
author | Lars Knoll <[email protected]> | 2017-01-04 15:58:58 +0100 |
---|---|---|
committer | Lars Knoll <[email protected]> | 2017-01-25 08:31:06 +0000 |
commit | 3e67a40860e0cda4cf6118c97e47cbe55aa672d6 (patch) | |
tree | 6e6cb9bc96b57b39602fde70b874fbb148b2bfd8 /src/qml/jsruntime/qv4context.cpp | |
parent | 1df5fb40b5417995f4121c15392f56a7bb19e0c2 (diff) |
Inline creation of simple call contexts
And avoid zero initializing stuff that's already 0
Change-Id: If90a808815b2b735bab661d22cbd498acc96b029
Reviewed-by: Simon Hausmann <[email protected]>
Diffstat (limited to 'src/qml/jsruntime/qv4context.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4context.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/qml/jsruntime/qv4context.cpp b/src/qml/jsruntime/qv4context.cpp index 486447f10a..60b90e4bf0 100644 --- a/src/qml/jsruntime/qv4context.cpp +++ b/src/qml/jsruntime/qv4context.cpp @@ -97,10 +97,7 @@ Heap::CallContext *ExecutionContext::newCallContext(Function *function, CallData Heap::CallContext *Heap::CallContext::createSimpleContext(ExecutionEngine *v4) { - Heap::CallContext *ctxt = v4->memoryManager->allocSimpleCallContext(); - memset(ctxt, 0, sizeof(Heap::CallContext)); - ctxt->setVtable(QV4::CallContext::staticVTable()); - ctxt->init(v4); + Heap::CallContext *ctxt = v4->memoryManager->allocSimpleCallContext(v4); return ctxt; } @@ -339,7 +336,7 @@ void QV4::ExecutionContext::simpleCall(Scope &scope, CallData *callData, Functio ExecutionContextSaver ctxSaver(scope); - CallContext::Data *ctx = CallContext::Data::createSimpleContext(scope.engine); + CallContext::Data *ctx = scope.engine->memoryManager->allocSimpleCallContext(scope.engine); ctx->strictMode = function->isStrict(); ctx->callData = callData; @@ -359,7 +356,7 @@ void QV4::ExecutionContext::simpleCall(Scope &scope, CallData *callData, Functio if (function->hasQmlDependencies) QQmlPropertyCapture::registerQmlDependencies(function->compiledFunction, scope); - ctx->freeSimpleCallContext(); + scope.engine->memoryManager->freeSimpleCallContext(); } void ExecutionContext::setProperty(String *name, const Value &value) |