aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/compiler/qv4codegen.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2013-11-03 15:23:05 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-11-09 02:01:17 +0100
commit412eb94de4cae754130ae855236420ebd5c42482 (patch)
tree901af6051691c65a96abe3f69fcd3d5fc57ff80a /src/qml/compiler/qv4codegen.cpp
parente367f75d7285d2bcd10cbb35d088c96f33c02aff (diff)
Simplify & speed up function calling
Get rid of the SimpleCallContext, instead simply use the CallContext data structure, but don't initialize the unused variables. Change-Id: I11b311986da180c62c815b516a2c55844156d0ab Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/compiler/qv4codegen.cpp')
-rw-r--r--src/qml/compiler/qv4codegen.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/qml/compiler/qv4codegen.cpp b/src/qml/compiler/qv4codegen.cpp
index 4810e4dace..640dad9c99 100644
--- a/src/qml/compiler/qv4codegen.cpp
+++ b/src/qml/compiler/qv4codegen.cpp
@@ -1957,7 +1957,7 @@ int Codegen::defineFunction(const QString &name, AST::Node *ast,
V4IR::BasicBlock *entryBlock = function->newBasicBlock(groupStartBlock(), 0);
V4IR::BasicBlock *exitBlock = function->newBasicBlock(groupStartBlock(), 0, V4IR::Function::DontInsertBlock);
- function->hasDirectEval = _env->hasDirectEval;
+ function->hasDirectEval = _env->hasDirectEval || _env->compilationMode == EvalCode;
function->usesArgumentsObject = _env->parent && (_env->usesArgumentsObject == Environment::ArgumentsObjectUsed);
function->usesThis = _env->usesThis;
function->maxNumberOfArguments = qMax(_env->maxNumberOfArguments, (int)QV4::Global::ReservedArgumentCount);