| Index: src/arm/stub-cache-arm.cc
|
| diff --git a/src/arm/stub-cache-arm.cc b/src/arm/stub-cache-arm.cc
|
| index 86eb0db855459fa4249a25e5ed573f65dccdb0a0..b0de01451113444cd5494fc36d068c093f3359dc 100644
|
| --- a/src/arm/stub-cache-arm.cc
|
| +++ b/src/arm/stub-cache-arm.cc
|
| @@ -937,8 +937,12 @@ static void GenerateFastApiDirectCall(MacroAssembler* masm,
|
| bool returns_handle =
|
| !CallbackTable::ReturnsVoid(masm->isolate(), function_address);
|
| ApiFunction fun(function_address);
|
| + ExternalReference::Type type =
|
| + returns_handle ?
|
| + ExternalReference::DIRECT_API_CALL :
|
| + ExternalReference::DIRECT_API_CALL_NEW;
|
| ExternalReference ref = ExternalReference(&fun,
|
| - ExternalReference::DIRECT_API_CALL,
|
| + type,
|
| masm->isolate());
|
| AllowExternalCallThatCantCauseGC scope(masm);
|
| __ CallApiFunctionAndReturn(ref,
|
| @@ -1438,8 +1442,12 @@ void BaseLoadStubCompiler::GenerateLoadCallback(
|
| bool returns_handle =
|
| !CallbackTable::ReturnsVoid(isolate(), getter_address);
|
| ApiFunction fun(getter_address);
|
| - ExternalReference ref = ExternalReference(
|
| - &fun, ExternalReference::DIRECT_GETTER_CALL, isolate());
|
| + ExternalReference::Type type =
|
| + returns_handle ?
|
| + ExternalReference::DIRECT_GETTER_CALL :
|
| + ExternalReference::DIRECT_GETTER_CALL_NEW;
|
| +
|
| + ExternalReference ref = ExternalReference(&fun, type, isolate());
|
| __ CallApiFunctionAndReturn(ref,
|
| kStackUnwindSpace,
|
| returns_handle,
|
|
|