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, |