Index: src/ic/mips64/handler-compiler-mips64.cc |
diff --git a/src/ic/mips64/handler-compiler-mips64.cc b/src/ic/mips64/handler-compiler-mips64.cc |
index 46ef13caac1e74bb7be3965e1d0102b10625c150..a3cfbd537e02fcb28f2dcbd764ca9abb7459a778 100644 |
--- a/src/ic/mips64/handler-compiler-mips64.cc |
+++ b/src/ic/mips64/handler-compiler-mips64.cc |
@@ -284,6 +284,13 @@ void PropertyHandlerCompiler::GenerateApiAccessorCall( |
__ ld(data, FieldMemOperand(data, FunctionTemplateInfo::kCallCodeOffset)); |
__ ld(data, FieldMemOperand(data, CallHandlerInfo::kDataOffset)); |
} |
+ |
+ if (api_call_info->fast_handler()->IsCode()) { |
+ // Just tail call into the fast handler if present. |
+ __ Jump(handle(Code::cast(api_call_info->fast_handler())), |
+ RelocInfo::CODE_TARGET); |
+ return; |
+ } |
// Put api_function_address in place. |
Address function_address = v8::ToCData<Address>(api_call_info->callback()); |
ApiFunction fun(function_address); |