Index: src/mips64/macro-assembler-mips64.cc |
diff --git a/src/mips64/macro-assembler-mips64.cc b/src/mips64/macro-assembler-mips64.cc |
index 17852894e2373aa0ab2b54338ecf6f5569b9dd4f..9349781f9496dccb07d73abb0fd94bbc4e8d3db9 100644 |
--- a/src/mips64/macro-assembler-mips64.cc |
+++ b/src/mips64/macro-assembler-mips64.cc |
@@ -4898,19 +4898,10 @@ void MacroAssembler::InvokeBuiltin(int native_context_index, InvokeFlag flag, |
// You can't call a builtin without a valid frame. |
DCHECK(flag == JUMP_FUNCTION || has_frame()); |
- // Always initialize new target. |
- LoadRoot(a3, Heap::kUndefinedValueRootIndex); |
- |
+ // Fake a parameter count to avoid emitting code to do the check. |
+ ParameterCount expected(0); |
LoadNativeContextSlot(native_context_index, a1); |
- ld(t9, FieldMemOperand(a1, JSFunction::kCodeEntryOffset)); |
- if (flag == CALL_FUNCTION) { |
- call_wrapper.BeforeCall(CallSize(t9)); |
- Call(t9); |
- call_wrapper.AfterCall(); |
- } else { |
- DCHECK(flag == JUMP_FUNCTION); |
- Jump(t9); |
- } |
+ InvokeFunctionCode(a1, no_reg, expected, expected, flag, call_wrapper); |
} |