Index: src/runtime/runtime-debug.cc |
diff --git a/src/runtime/runtime-debug.cc b/src/runtime/runtime-debug.cc |
index 553f45fa0dcafc77fd62454009b25cda828e620f..392f943472245bccce9f72b161eaddcdff79258e 100644 |
--- a/src/runtime/runtime-debug.cc |
+++ b/src/runtime/runtime-debug.cc |
@@ -2738,7 +2738,7 @@ RUNTIME_FUNCTION(Runtime_GetScript) { |
} |
-// Check whether debugger and is about to step into the callback that is passed |
+// Check whether debugger is about to step into the callback that is passed |
// to a built-in function such as Array.forEach. |
RUNTIME_FUNCTION(Runtime_DebugCallbackSupportsStepping) { |
DCHECK(args.length() == 1); |
@@ -2748,9 +2748,12 @@ RUNTIME_FUNCTION(Runtime_DebugCallbackSupportsStepping) { |
return isolate->heap()->false_value(); |
} |
CONVERT_ARG_CHECKED(Object, callback, 0); |
- // We do not step into the callback if it's a builtin or not even a function. |
- return isolate->heap()->ToBoolean(callback->IsJSFunction() && |
- !JSFunction::cast(callback)->IsBuiltin()); |
+ // We do not step into the callback if it's a builtin other than a bound, |
+ // or not even a function. |
+ return isolate->heap()->ToBoolean( |
+ callback->IsJSFunction() && |
+ (!JSFunction::cast(callback)->IsBuiltin() || |
+ JSFunction::cast(callback)->shared()->bound())); |
} |
@@ -2775,7 +2778,7 @@ RUNTIME_FUNCTION(Runtime_DebugPrepareStepInIfStepping) { |
// if we do not leave the builtin. To be able to step into the function |
// again, we need to clear the step out at this point. |
debug->ClearStepOut(); |
- debug->FloodWithOneShot(fun); |
+ debug->FloodWithOneShotGeneric(fun); |
return isolate->heap()->undefined_value(); |
} |