Index: src/s390/macro-assembler-s390.cc |
diff --git a/src/s390/macro-assembler-s390.cc b/src/s390/macro-assembler-s390.cc |
index 8cf345f658f21202f36f8edfb0c32927b84f51f8..7980559a5effca4a14c3f4457c6d74843ded4498 100644 |
--- a/src/s390/macro-assembler-s390.cc |
+++ b/src/s390/macro-assembler-s390.cc |
@@ -1306,17 +1306,16 @@ void MacroAssembler::InvokePrologue(const ParameterCount& expected, |
} |
} |
-void MacroAssembler::FloodFunctionIfStepping(Register fun, Register new_target, |
- const ParameterCount& expected, |
- const ParameterCount& actual) { |
- Label skip_flooding; |
- ExternalReference last_step_action = |
- ExternalReference::debug_last_step_action_address(isolate()); |
- STATIC_ASSERT(StepFrame > StepIn); |
- mov(r6, Operand(last_step_action)); |
+void MacroAssembler::CheckDebugHook(Register fun, Register new_target, |
+ const ParameterCount& expected, |
+ const ParameterCount& actual) { |
+ Label skip_hook; |
+ ExternalReference debug_hook_avtive = |
+ ExternalReference::debug_hook_on_function_call_address(isolate()); |
+ mov(r6, Operand(debug_hook_avtive)); |
LoadB(r6, MemOperand(r6)); |
- CmpP(r6, Operand(StepIn)); |
- blt(&skip_flooding); |
+ CmpSmiLiteral(r6, Smi::kZero, r0); |
+ beq(&skip_hook); |
{ |
FrameScope frame(this, |
has_frame() ? StackFrame::NONE : StackFrame::INTERNAL); |
@@ -1332,7 +1331,7 @@ void MacroAssembler::FloodFunctionIfStepping(Register fun, Register new_target, |
Push(new_target); |
} |
Push(fun, fun); |
- CallRuntime(Runtime::kDebugPrepareStepInIfStepping); |
+ CallRuntime(Runtime::kDebugOnFunctionCall); |
Pop(fun); |
if (new_target.is_valid()) { |
Pop(new_target); |
@@ -1346,7 +1345,7 @@ void MacroAssembler::FloodFunctionIfStepping(Register fun, Register new_target, |
SmiUntag(expected.reg()); |
} |
} |
- bind(&skip_flooding); |
+ bind(&skip_hook); |
} |
void MacroAssembler::InvokeFunctionCode(Register function, Register new_target, |
@@ -1360,8 +1359,8 @@ void MacroAssembler::InvokeFunctionCode(Register function, Register new_target, |
DCHECK(function.is(r3)); |
DCHECK_IMPLIES(new_target.is_valid(), new_target.is(r5)); |
- if (call_wrapper.NeedsDebugStepCheck()) { |
- FloodFunctionIfStepping(function, new_target, expected, actual); |
+ if (call_wrapper.NeedsDebugHookCheck()) { |
+ CheckDebugHook(function, new_target, expected, actual); |
} |
// Clear the new.target register if not given. |