| Index: src/ic/mips/handler-compiler-mips.cc
|
| diff --git a/src/ic/mips/handler-compiler-mips.cc b/src/ic/mips/handler-compiler-mips.cc
|
| index 5b4555fa84907414ba23654407b0b5d25fa49dd3..3e5961380fcf5e78f64f420f5d8e08e0ea3023e4 100644
|
| --- a/src/ic/mips/handler-compiler-mips.cc
|
| +++ b/src/ic/mips/handler-compiler-mips.cc
|
| @@ -391,14 +391,12 @@ void NamedStoreHandlerCompiler::GenerateStoreTransition(
|
| if (details.type() == FIELD &&
|
| Map::cast(transition->GetBackPointer())->unused_property_fields() == 0) {
|
| // The properties must be extended before we can store the value.
|
| - // We jump to a runtime call that extends the properties array.
|
| - __ push(receiver_reg);
|
| - __ li(a2, Operand(transition));
|
| - __ Push(a2, a0);
|
| - __ TailCallExternalReference(
|
| - ExternalReference(IC_Utility(IC::kSharedStoreIC_ExtendStorage),
|
| - isolate()),
|
| - 3, 1);
|
| + __ mov(ExtendStorageDescriptor::MapRegister(), Operand(transition));
|
| +
|
| + ExtendStorageStub stub(isolate(),
|
| + FieldIndex::ForDescriptor(*transition, descriptor),
|
| + representation);
|
| + GenerateTailCall(masm(), stub.GetCode());
|
| return;
|
| }
|
|
|
|
|