| Index: src/x64/full-codegen-x64.cc
|
| diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc
|
| index e2bdef7d452d0950c8e2b362960fa59101fb2070..bcfbc3864c797fa486a3d37eeaceaf04e6c9b4d0 100644
|
| --- a/src/x64/full-codegen-x64.cc
|
| +++ b/src/x64/full-codegen-x64.cc
|
| @@ -1392,13 +1392,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, key->id());
|
| PrepareForBailoutForId(key->id(), NO_REGISTERS);
|
| + } else {
|
| + VisitForEffect(value);
|
| }
|
| break;
|
| }
|
|
|