| Index: src/full-codegen/mips64/full-codegen-mips64.cc
 | 
| diff --git a/src/full-codegen/mips64/full-codegen-mips64.cc b/src/full-codegen/mips64/full-codegen-mips64.cc
 | 
| index eeb0761b1bd021db19b1c5e2b9fba9bd715200e4..fb67a990792161c4ed0390f144b7b005fa6c88db 100644
 | 
| --- a/src/full-codegen/mips64/full-codegen-mips64.cc
 | 
| +++ b/src/full-codegen/mips64/full-codegen-mips64.cc
 | 
| @@ -1238,7 +1238,7 @@ void FullCodeGenerator::EmitSetHomeObject(Expression* initializer, int offset,
 | 
|          Operand(isolate()->factory()->home_object_symbol()));
 | 
|    __ ld(StoreDescriptor::ValueRegister(),
 | 
|          MemOperand(sp, offset * kPointerSize));
 | 
| -  if (FLAG_vector_stores) EmitLoadStoreICSlot(slot);
 | 
| +  EmitLoadStoreICSlot(slot);
 | 
|    CallStoreIC();
 | 
|  }
 | 
|  
 | 
| @@ -1252,7 +1252,7 @@ void FullCodeGenerator::EmitSetHomeObjectAccumulator(Expression* initializer,
 | 
|          Operand(isolate()->factory()->home_object_symbol()));
 | 
|    __ ld(StoreDescriptor::ValueRegister(),
 | 
|          MemOperand(sp, offset * kPointerSize));
 | 
| -  if (FLAG_vector_stores) EmitLoadStoreICSlot(slot);
 | 
| +  EmitLoadStoreICSlot(slot);
 | 
|    CallStoreIC();
 | 
|  }
 | 
|  
 | 
| @@ -1574,12 +1574,8 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) {
 | 
|              DCHECK(StoreDescriptor::ValueRegister().is(a0));
 | 
|              __ li(StoreDescriptor::NameRegister(), Operand(key->value()));
 | 
|              __ ld(StoreDescriptor::ReceiverRegister(), MemOperand(sp));
 | 
| -            if (FLAG_vector_stores) {
 | 
| -              EmitLoadStoreICSlot(property->GetSlot(0));
 | 
| -              CallStoreIC();
 | 
| -            } else {
 | 
| -              CallStoreIC(key->LiteralFeedbackId());
 | 
| -            }
 | 
| +            EmitLoadStoreICSlot(property->GetSlot(0));
 | 
| +            CallStoreIC();
 | 
|              PrepareForBailoutForId(key->id(), NO_REGISTERS);
 | 
|  
 | 
|              if (NeedsHomeObject(value)) {
 | 
| @@ -1774,30 +1770,13 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) {
 | 
|  
 | 
|      VisitForAccumulatorValue(subexpr);
 | 
|  
 | 
| -    if (FLAG_vector_stores) {
 | 
| -      __ li(StoreDescriptor::NameRegister(),
 | 
| -            Operand(Smi::FromInt(array_index)));
 | 
| -      __ ld(StoreDescriptor::ReceiverRegister(), MemOperand(sp, kPointerSize));
 | 
| -      __ mov(StoreDescriptor::ValueRegister(), result_register());
 | 
| -      EmitLoadStoreICSlot(expr->LiteralFeedbackSlot());
 | 
| -      Handle<Code> ic =
 | 
| -          CodeFactory::KeyedStoreIC(isolate(), language_mode()).code();
 | 
| -      CallIC(ic);
 | 
| -    } else if (has_fast_elements) {
 | 
| -      int offset = FixedArray::kHeaderSize + (array_index * kPointerSize);
 | 
| -      __ ld(a6, MemOperand(sp, kPointerSize));  // Copy of array literal.
 | 
| -      __ ld(a1, FieldMemOperand(a6, JSObject::kElementsOffset));
 | 
| -      __ sd(result_register(), FieldMemOperand(a1, offset));
 | 
| -      // Update the write barrier for the array store.
 | 
| -      __ RecordWriteField(a1, offset, result_register(), a2,
 | 
| -                          kRAHasBeenSaved, kDontSaveFPRegs,
 | 
| -                          EMIT_REMEMBERED_SET, INLINE_SMI_CHECK);
 | 
| -    } else {
 | 
| -      __ li(a3, Operand(Smi::FromInt(array_index)));
 | 
| -      __ mov(a0, result_register());
 | 
| -      StoreArrayLiteralElementStub stub(isolate());
 | 
| -      __ CallStub(&stub);
 | 
| -    }
 | 
| +    __ li(StoreDescriptor::NameRegister(), Operand(Smi::FromInt(array_index)));
 | 
| +    __ ld(StoreDescriptor::ReceiverRegister(), MemOperand(sp, kPointerSize));
 | 
| +    __ mov(StoreDescriptor::ValueRegister(), result_register());
 | 
| +    EmitLoadStoreICSlot(expr->LiteralFeedbackSlot());
 | 
| +    Handle<Code> ic =
 | 
| +        CodeFactory::KeyedStoreIC(isolate(), language_mode()).code();
 | 
| +    CallIC(ic);
 | 
|  
 | 
|      PrepareForBailoutForId(expr->GetIdForElement(array_index), NO_REGISTERS);
 | 
|    }
 | 
| @@ -2503,7 +2482,7 @@ void FullCodeGenerator::EmitAssignment(Expression* expr,
 | 
|        __ pop(StoreDescriptor::ValueRegister());  // Restore value.
 | 
|        __ li(StoreDescriptor::NameRegister(),
 | 
|              Operand(prop->key()->AsLiteral()->value()));
 | 
| -      if (FLAG_vector_stores) EmitLoadStoreICSlot(slot);
 | 
| +      EmitLoadStoreICSlot(slot);
 | 
|        CallStoreIC();
 | 
|        break;
 | 
|      }
 | 
| @@ -2551,7 +2530,7 @@ void FullCodeGenerator::EmitAssignment(Expression* expr,
 | 
|        __ Move(StoreDescriptor::NameRegister(), result_register());
 | 
|        __ Pop(StoreDescriptor::ValueRegister(),
 | 
|               StoreDescriptor::ReceiverRegister());
 | 
| -      if (FLAG_vector_stores) EmitLoadStoreICSlot(slot);
 | 
| +      EmitLoadStoreICSlot(slot);
 | 
|        Handle<Code> ic =
 | 
|            CodeFactory::KeyedStoreIC(isolate(), language_mode()).code();
 | 
|        CallIC(ic);
 | 
| @@ -2582,7 +2561,7 @@ void FullCodeGenerator::EmitVariableAssignment(Variable* var, Token::Value op,
 | 
|      __ mov(StoreDescriptor::ValueRegister(), result_register());
 | 
|      __ li(StoreDescriptor::NameRegister(), Operand(var->name()));
 | 
|      __ ld(StoreDescriptor::ReceiverRegister(), GlobalObjectOperand());
 | 
| -    if (FLAG_vector_stores) EmitLoadStoreICSlot(slot);
 | 
| +    EmitLoadStoreICSlot(slot);
 | 
|      CallStoreIC();
 | 
|  
 | 
|    } else if (var->mode() == LET && op != Token::INIT) {
 | 
| @@ -2694,12 +2673,8 @@ void FullCodeGenerator::EmitNamedPropertyAssignment(Assignment* expr) {
 | 
|    __ li(StoreDescriptor::NameRegister(),
 | 
|          Operand(prop->key()->AsLiteral()->value()));
 | 
|    __ pop(StoreDescriptor::ReceiverRegister());
 | 
| -  if (FLAG_vector_stores) {
 | 
| -    EmitLoadStoreICSlot(expr->AssignmentSlot());
 | 
| -    CallStoreIC();
 | 
| -  } else {
 | 
| -    CallStoreIC(expr->AssignmentFeedbackId());
 | 
| -  }
 | 
| +  EmitLoadStoreICSlot(expr->AssignmentSlot());
 | 
| +  CallStoreIC();
 | 
|  
 | 
|    PrepareForBailoutForId(expr->AssignmentId(), TOS_REG);
 | 
|    context()->Plug(v0);
 | 
| @@ -2749,12 +2724,8 @@ void FullCodeGenerator::EmitKeyedPropertyAssignment(Assignment* expr) {
 | 
|  
 | 
|    Handle<Code> ic =
 | 
|        CodeFactory::KeyedStoreIC(isolate(), language_mode()).code();
 | 
| -  if (FLAG_vector_stores) {
 | 
| -    EmitLoadStoreICSlot(expr->AssignmentSlot());
 | 
| -    CallIC(ic);
 | 
| -  } else {
 | 
| -    CallIC(ic, expr->AssignmentFeedbackId());
 | 
| -  }
 | 
| +  EmitLoadStoreICSlot(expr->AssignmentSlot());
 | 
| +  CallIC(ic);
 | 
|  
 | 
|    PrepareForBailoutForId(expr->AssignmentId(), TOS_REG);
 | 
|    context()->Plug(v0);
 | 
| @@ -4624,12 +4595,8 @@ void FullCodeGenerator::VisitCountOperation(CountOperation* expr) {
 | 
|        __ li(StoreDescriptor::NameRegister(),
 | 
|              Operand(prop->key()->AsLiteral()->value()));
 | 
|        __ pop(StoreDescriptor::ReceiverRegister());
 | 
| -      if (FLAG_vector_stores) {
 | 
| -        EmitLoadStoreICSlot(expr->CountSlot());
 | 
| -        CallStoreIC();
 | 
| -      } else {
 | 
| -        CallStoreIC(expr->CountStoreFeedbackId());
 | 
| -      }
 | 
| +      EmitLoadStoreICSlot(expr->CountSlot());
 | 
| +      CallStoreIC();
 | 
|        PrepareForBailoutForId(expr->AssignmentId(), TOS_REG);
 | 
|        if (expr->is_postfix()) {
 | 
|          if (!context()->IsEffect()) {
 | 
| @@ -4668,12 +4635,8 @@ void FullCodeGenerator::VisitCountOperation(CountOperation* expr) {
 | 
|               StoreDescriptor::NameRegister());
 | 
|        Handle<Code> ic =
 | 
|            CodeFactory::KeyedStoreIC(isolate(), language_mode()).code();
 | 
| -      if (FLAG_vector_stores) {
 | 
| -        EmitLoadStoreICSlot(expr->CountSlot());
 | 
| -        CallIC(ic);
 | 
| -      } else {
 | 
| -        CallIC(ic, expr->CountStoreFeedbackId());
 | 
| -      }
 | 
| +      EmitLoadStoreICSlot(expr->CountSlot());
 | 
| +      CallIC(ic);
 | 
|        PrepareForBailoutForId(expr->AssignmentId(), TOS_REG);
 | 
|        if (expr->is_postfix()) {
 | 
|          if (!context()->IsEffect()) {
 | 
| @@ -4977,7 +4940,7 @@ void FullCodeGenerator::ClearPendingMessage() {
 | 
|  
 | 
|  
 | 
|  void FullCodeGenerator::EmitLoadStoreICSlot(FeedbackVectorSlot slot) {
 | 
| -  DCHECK(FLAG_vector_stores && !slot.IsInvalid());
 | 
| +  DCHECK(!slot.IsInvalid());
 | 
|    __ li(VectorStoreICTrampolineDescriptor::SlotRegister(),
 | 
|          Operand(SmiFromSlot(slot)));
 | 
|  }
 | 
| 
 |