| Index: src/ic/arm64/handler-compiler-arm64.cc
|
| diff --git a/src/ic/arm64/handler-compiler-arm64.cc b/src/ic/arm64/handler-compiler-arm64.cc
|
| index f7f82bc9a48f748e0545672c36a994d72e15cad3..48992b6db49045d32dcfc7e966604a1588c6d449 100644
|
| --- a/src/ic/arm64/handler-compiler-arm64.cc
|
| +++ b/src/ic/arm64/handler-compiler-arm64.cc
|
| @@ -441,13 +441,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.
|
| - __ Mov(scratch1, Operand(transition));
|
| - __ Push(receiver_reg, scratch1, value_reg);
|
| - __ 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;
|
| }
|
|
|
|
|