| Index: src/arm/stub-cache-arm.cc | 
| diff --git a/src/arm/stub-cache-arm.cc b/src/arm/stub-cache-arm.cc | 
| index 1ccc10680a21f7944797a98452fd97923ee276ed..a0b23179d77a36d2dba5a372f1be5bd9b53a7946 100644 | 
| --- a/src/arm/stub-cache-arm.cc | 
| +++ b/src/arm/stub-cache-arm.cc | 
| @@ -956,8 +956,22 @@ static void GenerateFastApiDirectCall(MacroAssembler* masm, | 
| ExternalReference ref = ExternalReference(&fun, | 
| type, | 
| masm->isolate()); | 
| +  Address thunk_address = returns_handle | 
| +      ? FUNCTION_ADDR(&InvokeInvocationCallback) | 
| +      : FUNCTION_ADDR(&InvokeFunctionCallback); | 
| +  ExternalReference::Type thunk_type = | 
| +      returns_handle ? | 
| +          ExternalReference::PROFILING_API_CALL : | 
| +          ExternalReference::PROFILING_API_CALL_NEW; | 
| +  ApiFunction thunk_fun(thunk_address); | 
| +  ExternalReference thunk_ref = ExternalReference(&thunk_fun, thunk_type, | 
| +      masm->isolate()); | 
| + | 
| AllowExternalCallThatCantCauseGC scope(masm); | 
| __ CallApiFunctionAndReturn(ref, | 
| +                              function_address, | 
| +                              thunk_ref, | 
| +                              r1, | 
| kStackUnwindSpace, | 
| returns_handle, | 
| kFastApiCallArguments + 1); | 
| @@ -1454,14 +1468,28 @@ void BaseLoadStubCompiler::GenerateLoadCallback( | 
| Address getter_address = v8::ToCData<Address>(callback->getter()); | 
| bool returns_handle = | 
| !CallbackTable::ReturnsVoid(isolate(), getter_address); | 
| + | 
| ApiFunction fun(getter_address); | 
| ExternalReference::Type type = | 
| returns_handle ? | 
| ExternalReference::DIRECT_GETTER_CALL : | 
| ExternalReference::DIRECT_GETTER_CALL_NEW; | 
| - | 
| ExternalReference ref = ExternalReference(&fun, type, isolate()); | 
| + | 
| +  Address thunk_address = returns_handle | 
| +      ? FUNCTION_ADDR(&InvokeAccessorGetter) | 
| +      : FUNCTION_ADDR(&InvokeAccessorGetterCallback); | 
| +  ExternalReference::Type thunk_type = | 
| +      returns_handle ? | 
| +          ExternalReference::PROFILING_GETTER_CALL : | 
| +          ExternalReference::PROFILING_GETTER_CALL_NEW; | 
| +  ApiFunction thunk_fun(thunk_address); | 
| +  ExternalReference thunk_ref = ExternalReference(&thunk_fun, thunk_type, | 
| +      isolate()); | 
| __ CallApiFunctionAndReturn(ref, | 
| +                              getter_address, | 
| +                              thunk_ref, | 
| +                              r2, | 
| kStackUnwindSpace, | 
| returns_handle, | 
| 5); | 
|  |