aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4context.cpp
diff options
context:
space:
mode:
authorLars Knoll <[email protected]>2017-01-04 15:58:58 +0100
committerLars Knoll <[email protected]>2017-01-25 08:31:06 +0000
commit3e67a40860e0cda4cf6118c97e47cbe55aa672d6 (patch)
tree6e6cb9bc96b57b39602fde70b874fbb148b2bfd8 /src/qml/jsruntime/qv4context.cpp
parent1df5fb40b5417995f4121c15392f56a7bb19e0c2 (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.cpp9
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)