| Index: src/x64/full-codegen-x64.cc
|
| diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc
|
| index 97168cdce4615ebbe96ddd9ed1dd0c460eee885f..6933d7800e9602069cc071bdbbfca69147fa624f 100644
|
| --- a/src/x64/full-codegen-x64.cc
|
| +++ b/src/x64/full-codegen-x64.cc
|
| @@ -1398,13 +1398,17 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
|
| // Fall through.
|
| case ObjectLiteral::Property::COMPUTED:
|
| if (key->handle()->IsSymbol()) {
|
| - VisitForAccumulatorValue(value);
|
| - __ Move(rcx, key->handle());
|
| - __ movq(rdx, Operand(rsp, 0));
|
| if (property->emit_store()) {
|
| - Handle<Code> ic = isolate()->builtins()->StoreIC_Initialize();
|
| + VisitForAccumulatorValue(value);
|
| + __ Move(rcx, key->handle());
|
| + __ movq(rdx, Operand(rsp, 0));
|
| + Handle<Code> ic = is_strict_mode()
|
| + ? isolate()->builtins()->StoreIC_Initialize_Strict()
|
| + : isolate()->builtins()->StoreIC_Initialize();
|
| EmitCallIC(ic, RelocInfo::CODE_TARGET);
|
| PrepareForBailoutForId(key->id(), NO_REGISTERS);
|
| + } else {
|
| + VisitForEffect(value);
|
| }
|
| break;
|
| }
|
|
|