| 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 f434f2e579580fde70bb3a8b5f7ee60fb2788350..53f084b1d406f6c387201ddfa089e7aec8f89f0a 100644
 | 
| --- a/src/ic/arm64/handler-compiler-arm64.cc
 | 
| +++ b/src/ic/arm64/handler-compiler-arm64.cc
 | 
| @@ -263,11 +263,11 @@ void NamedStoreHandlerCompiler::GenerateStoreViaSetter(
 | 
|  
 | 
|  void NamedLoadHandlerCompiler::GenerateLoadViaGetter(
 | 
|      MacroAssembler* masm, Handle<HeapType> type, Register receiver,
 | 
| -    Handle<JSFunction> getter) {
 | 
| +    Register holder, int accessor_index, int expected_arguments) {
 | 
|    {
 | 
|      FrameScope scope(masm, StackFrame::INTERNAL);
 | 
|  
 | 
| -    if (!getter.is_null()) {
 | 
| +    if (accessor_index >= 0) {
 | 
|        // Call the JavaScript getter with the receiver on the stack.
 | 
|        if (IC::TypeToMap(*type, masm->isolate())->IsJSGlobalObjectMap()) {
 | 
|          // Swap in the global receiver.
 | 
| @@ -276,9 +276,14 @@ void NamedLoadHandlerCompiler::GenerateLoadViaGetter(
 | 
|        }
 | 
|        __ Push(receiver);
 | 
|        ParameterCount actual(0);
 | 
| -      ParameterCount expected(getter);
 | 
| -      __ InvokeFunction(getter, expected, actual, CALL_FUNCTION,
 | 
| -                        NullCallWrapper());
 | 
| +      ParameterCount expected(expected_arguments);
 | 
| +      Register scratch = holder;
 | 
| +      __ Ldr(scratch, FieldMemOperand(holder, HeapObject::kMapOffset));
 | 
| +      __ LoadInstanceDescriptors(scratch, scratch);
 | 
| +      __ Ldr(scratch, FieldMemOperand(scratch, DescriptorArray::GetValueOffset(
 | 
| +                                                   accessor_index)));
 | 
| +      __ Ldr(x1, FieldMemOperand(scratch, AccessorPair::kGetterOffset));
 | 
| +      __ InvokeFunction(x1, expected, actual, CALL_FUNCTION, NullCallWrapper());
 | 
|      } else {
 | 
|        // If we generate a global code snippet for deoptimization only, remember
 | 
|        // the place to continue after deoptimization.
 | 
| 
 |