diff options
Diffstat (limited to 'src/qml/jsruntime/qv4context.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4context.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/qml/jsruntime/qv4context.cpp b/src/qml/jsruntime/qv4context.cpp index 327e7b78c4..d22179173c 100644 --- a/src/qml/jsruntime/qv4context.cpp +++ b/src/qml/jsruntime/qv4context.cpp @@ -76,6 +76,8 @@ Heap::CallContext *ExecutionContext::newBlockContext(CppStackFrame *frame, int b c->locals.size = nLocals; c->locals.alloc = nLocals; + c->setupLocalTemporalDeadZone(function->compilationUnit->unitData()->blockAt(blockIndex)); + return c; } @@ -115,6 +117,8 @@ Heap::CallContext *ExecutionContext::newCallContext(CppStackFrame *frame) // memory allocated from the JS heap is 0 initialized, so check if empty is 0 Q_ASSERT(Primitive::undefinedValue().asReturnedValue() == 0); + c->setupLocalTemporalDeadZone(compiledFunction); + Value *args = c->locals.values + nLocals; ::memcpy(args, frame->originalArguments, frame->originalArgumentsCount * sizeof(Value)); c->nArgs = frame->originalArgumentsCount; |