Index: src/arm/builtins-arm.cc |
diff --git a/src/arm/builtins-arm.cc b/src/arm/builtins-arm.cc |
index 1203ec42b3d3523ce46f66f28a7aed4be271bf79..ba92ff8e34f326c483d710f4d6f16482e343e746 100644 |
--- a/src/arm/builtins-arm.cc |
+++ b/src/arm/builtins-arm.cc |
@@ -788,10 +788,29 @@ void Builtins::Generate_JSConstructStubForDerived(MacroAssembler* masm) { |
__ sub(r4, r4, Operand(2), SetCC); |
__ b(ge, &loop); |
+ __ add(r0, r0, Operand(1)); |
+ |
+ // Handle step in. |
+ Label skip_step_in; |
+ ExternalReference debug_step_in_fp = |
+ ExternalReference::debug_step_in_fp_address(masm->isolate()); |
+ __ mov(r2, Operand(debug_step_in_fp)); |
+ __ ldr(r2, MemOperand(r2)); |
+ __ tst(r2, r2); |
+ __ b(eq, &skip_step_in); |
+ |
+ __ Push(r0); |
+ __ Push(r1); |
+ __ Push(r1); |
+ __ CallRuntime(Runtime::kHandleStepInForDerivedConstructors, 1); |
+ __ Pop(r1); |
+ __ Pop(r0); |
+ |
+ __ bind(&skip_step_in); |
+ |
// Call the function. |
// r0: number of arguments |
// r1: constructor function |
- __ add(r0, r0, Operand(1)); |
ParameterCount actual(r0); |
__ InvokeFunction(r1, actual, CALL_FUNCTION, NullCallWrapper()); |