| Index: src/ic/mips64/handler-compiler-mips64.cc
|
| diff --git a/src/ic/mips64/handler-compiler-mips64.cc b/src/ic/mips64/handler-compiler-mips64.cc
|
| index f44226f77227f8fe2fdc787367239d3d82df0612..01625fbeade52780bf95d5ec0ba44926f3e9b0ea 100644
|
| --- a/src/ic/mips64/handler-compiler-mips64.cc
|
| +++ b/src/ic/mips64/handler-compiler-mips64.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;
|
| }
|
|
|
|
|