| Index: src/x64/codegen-x64.cc
|
| diff --git a/src/x64/codegen-x64.cc b/src/x64/codegen-x64.cc
|
| index 6b63957d4c7570ea34aa90cd5b5c89f2c2747cdf..fe9056709cdd4386340c9987f9016d25bc244bc2 100644
|
| --- a/src/x64/codegen-x64.cc
|
| +++ b/src/x64/codegen-x64.cc
|
| @@ -4894,7 +4894,8 @@ void CodeGenerator::VisitObjectLiteral(ObjectLiteral* node) {
|
| Load(property->value());
|
| if (property->emit_store()) {
|
| Result ignored =
|
| - frame_->CallStoreIC(Handle<String>::cast(key), false);
|
| + frame_->CallStoreIC(Handle<String>::cast(key), false,
|
| + strict_mode_flag());
|
| // A test rax instruction following the store IC call would
|
| // indicate the presence of an inlined version of the
|
| // store. Add a nop to indicate that there is no such
|
| @@ -8234,7 +8235,7 @@ Result CodeGenerator::EmitNamedStore(Handle<String> name, bool is_contextual) {
|
|
|
| Result result;
|
| if (is_contextual || scope()->is_global_scope() || loop_nesting() == 0) {
|
| - result = frame()->CallStoreIC(name, is_contextual);
|
| + result = frame()->CallStoreIC(name, is_contextual, strict_mode_flag());
|
| // A test rax instruction following the call signals that the inobject
|
| // property case was inlined. Ensure that there is not a test rax
|
| // instruction here.
|
| @@ -8334,7 +8335,7 @@ Result CodeGenerator::EmitNamedStore(Handle<String> name, bool is_contextual) {
|
| slow.Bind(&value, &receiver);
|
| frame()->Push(&receiver);
|
| frame()->Push(&value);
|
| - result = frame()->CallStoreIC(name, is_contextual);
|
| + result = frame()->CallStoreIC(name, is_contextual, strict_mode_flag());
|
| // Encode the offset to the map check instruction and the offset
|
| // to the write barrier store address computation in a test rax
|
| // instruction.
|
|
|