diff options
Diffstat (limited to 'src/qml/compiler/qv4codegen.cpp')
-rw-r--r-- | src/qml/compiler/qv4codegen.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/qml/compiler/qv4codegen.cpp b/src/qml/compiler/qv4codegen.cpp index a0f1ce5879..8ede8a6818 100644 --- a/src/qml/compiler/qv4codegen.cpp +++ b/src/qml/compiler/qv4codegen.cpp @@ -2866,9 +2866,16 @@ void Codegen::Reference::storeAccumulator() const return; } case Name: { - Instruction::StoreName store; - store.name = unqualifiedNameIndex; - codegen->bytecodeGenerator->addInstruction(store); + Context *c = codegen->currentContext(); + if (c->isStrict) { + Instruction::StoreNameStrict store; + store.name = unqualifiedNameIndex; + codegen->bytecodeGenerator->addInstruction(store); + } else { + Instruction::StoreNameSloppy store; + store.name = unqualifiedNameIndex; + codegen->bytecodeGenerator->addInstruction(store); + } } return; case Member: if (codegen->useFastLookups) { |