| Index: src/code-stub-assembler.cc
|
| diff --git a/src/code-stub-assembler.cc b/src/code-stub-assembler.cc
|
| index 5fc710df1184a76ab0f86081896a899a3ab5bc13..e523e11cd44c882b2170bf3def93b9f74556c26d 100644
|
| --- a/src/code-stub-assembler.cc
|
| +++ b/src/code-stub-assembler.cc
|
| @@ -5600,8 +5600,17 @@ void CodeStubAssembler::HandleLoadICHandlerCase(
|
| CSA_ASSERT(UintPtrLessThan(
|
| descriptor, LoadAndUntagFixedArrayBaseLength(descriptors)));
|
| #endif
|
| - Return(
|
| - LoadFixedArrayElement(descriptors, descriptor, 0, INTPTR_PARAMETERS));
|
| + Node* value =
|
| + LoadFixedArrayElement(descriptors, descriptor, 0, INTPTR_PARAMETERS);
|
| +
|
| + Label if_accessor_info(this);
|
| + GotoIf(IsSetWord<LoadHandler::IsAccessorInfoBits>(handler_word),
|
| + &if_accessor_info);
|
| + Return(value);
|
| +
|
| + Bind(&if_accessor_info);
|
| + Callable callable = CodeFactory::ApiGetter(isolate());
|
| + TailCallStub(callable, p->context, p->receiver, holder, value);
|
| }
|
| }
|
|
|
|
|