| Index: src/x64/full-codegen-x64.cc
|
| diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc
|
| index 0ad6ec23769457510bef4a4db068d10f411e07d7..60b77b5bfe52dd30ab7569228a32020d334a7e68 100644
|
| --- a/src/x64/full-codegen-x64.cc
|
| +++ b/src/x64/full-codegen-x64.cc
|
| @@ -1383,13 +1383,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(Builtins::builtin(Builtins::StoreIC_Initialize));
|
| + VisitForAccumulatorValue(value);
|
| + __ Move(rcx, key->handle());
|
| + __ movq(rdx, Operand(rsp, 0));
|
| + Handle<Code> ic(Builtins::builtin(
|
| + is_strict() ? Builtins::StoreIC_Initialize_Strict
|
| + : Builtins::StoreIC_Initialize));
|
| EmitCallIC(ic, RelocInfo::CODE_TARGET);
|
| PrepareForBailoutForId(key->id(), NO_REGISTERS);
|
| + } else {
|
| + VisitForEffect(value);
|
| }
|
| break;
|
| }
|
|
|