Index: src/mips/macro-assembler-mips.cc |
diff --git a/src/mips/macro-assembler-mips.cc b/src/mips/macro-assembler-mips.cc |
index 8eb26256d308dde7cf9b3d5fbb8ed9b69a141a5e..d0f1e4b27962abf06cb12ac883fd6a469ba61d53 100644 |
--- a/src/mips/macro-assembler-mips.cc |
+++ b/src/mips/macro-assembler-mips.cc |
@@ -4502,19 +4502,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); |
- lw(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); |
} |