| Index: src/full-codegen/x64/full-codegen-x64.cc
|
| diff --git a/src/full-codegen/x64/full-codegen-x64.cc b/src/full-codegen/x64/full-codegen-x64.cc
|
| index c594e0d9f05de4e826c68986b02e731ad926f824..3c714e5326fb975322d61e9f5060d3dfee896be5 100644
|
| --- a/src/full-codegen/x64/full-codegen-x64.cc
|
| +++ b/src/full-codegen/x64/full-codegen-x64.cc
|
| @@ -1554,9 +1554,7 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) {
|
| __ Move(StoreDescriptor::NameRegister(), Smi::FromInt(array_index));
|
| __ movp(StoreDescriptor::ReceiverRegister(), Operand(rsp, 0));
|
| EmitLoadStoreICSlot(expr->LiteralFeedbackSlot());
|
| - Handle<Code> ic =
|
| - CodeFactory::KeyedStoreIC(isolate(), language_mode()).code();
|
| - CallIC(ic);
|
| + CallKeyedStoreIC();
|
|
|
| PrepareForBailoutForId(expr->GetIdForElement(array_index),
|
| BailoutState::NO_REGISTERS);
|
| @@ -2019,9 +2017,7 @@ void FullCodeGenerator::EmitAssignment(Expression* expr,
|
| PopOperand(StoreDescriptor::ReceiverRegister());
|
| PopOperand(StoreDescriptor::ValueRegister()); // Restore value.
|
| EmitLoadStoreICSlot(slot);
|
| - Handle<Code> ic =
|
| - CodeFactory::KeyedStoreIC(isolate(), language_mode()).code();
|
| - CallIC(ic);
|
| + CallKeyedStoreIC();
|
| break;
|
| }
|
| }
|
| @@ -2158,10 +2154,8 @@ void FullCodeGenerator::EmitKeyedPropertyAssignment(Assignment* expr) {
|
| PopOperand(StoreDescriptor::NameRegister()); // Key.
|
| PopOperand(StoreDescriptor::ReceiverRegister());
|
| DCHECK(StoreDescriptor::ValueRegister().is(rax));
|
| - Handle<Code> ic =
|
| - CodeFactory::KeyedStoreIC(isolate(), language_mode()).code();
|
| EmitLoadStoreICSlot(expr->AssignmentSlot());
|
| - CallIC(ic);
|
| + CallKeyedStoreIC();
|
|
|
| PrepareForBailoutForId(expr->AssignmentId(), BailoutState::TOS_REGISTER);
|
| context()->Plug(rax);
|
| @@ -3251,10 +3245,8 @@ void FullCodeGenerator::VisitCountOperation(CountOperation* expr) {
|
| case KEYED_PROPERTY: {
|
| PopOperand(StoreDescriptor::NameRegister());
|
| PopOperand(StoreDescriptor::ReceiverRegister());
|
| - Handle<Code> ic =
|
| - CodeFactory::KeyedStoreIC(isolate(), language_mode()).code();
|
| EmitLoadStoreICSlot(expr->CountSlot());
|
| - CallIC(ic);
|
| + CallKeyedStoreIC();
|
| PrepareForBailoutForId(expr->AssignmentId(), BailoutState::TOS_REGISTER);
|
| if (expr->is_postfix()) {
|
| if (!context()->IsEffect()) {
|
|
|