| Index: src/runtime.cc
|
| diff --git a/src/runtime.cc b/src/runtime.cc
|
| index 199371fe464c2cde6baffae62f1ba8276c35f9f6..de3a55e5d16b3bb9e393bcf545ef077e6c28997c 100644
|
| --- a/src/runtime.cc
|
| +++ b/src/runtime.cc
|
| @@ -4842,21 +4842,28 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_StoreArrayLiteralElement) {
|
| // Check whether debugger and is about to step into the callback that is passed
|
| // to a built-in function such as Array.forEach.
|
| RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugCallbackSupportsStepping) {
|
| - if (!isolate->IsDebuggerActive()) return isolate->heap()->false_value();
|
| +#ifdef ENABLE_DEBUGGER_SUPPORT
|
| + if (!isolate->IsDebuggerActive() || !isolate->debug()->StepInActive()) {
|
| + 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.
|
| if (!callback->IsJSFunction() || JSFunction::cast(callback)->IsBuiltin()) {
|
| return isolate->heap()->false_value();
|
| }
|
| return isolate->heap()->true_value();
|
| +#else
|
| + return isolate->heap()->false_value();
|
| +#endif // ENABLE_DEBUGGER_SUPPORT
|
| }
|
|
|
|
|
| // Set one shot breakpoints for the callback function that is passed to a
|
| // built-in function such as Array.forEach to enable stepping into the callback.
|
| RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugPrepareStepInIfStepping) {
|
| +#ifdef ENABLE_DEBUGGER_SUPPORT
|
| Debug* debug = isolate->debug();
|
| - if (!debug->IsStepping()) return NULL;
|
| + if (!debug->IsStepping()) return isolate->heap()->undefined_value();
|
| CONVERT_ARG_CHECKED(Object, callback, 0);
|
| HandleScope scope(isolate);
|
| Handle<SharedFunctionInfo> shared_info(JSFunction::cast(callback)->shared());
|
| @@ -4865,7 +4872,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DebugPrepareStepInIfStepping) {
|
| // again, we need to clear the step out at this point.
|
| debug->ClearStepOut();
|
| debug->FloodWithOneShot(shared_info);
|
| - return NULL;
|
| +#endif // ENABLE_DEBUGGER_SUPPORT
|
| + return isolate->heap()->undefined_value();
|
| }
|
|
|
|
|
|
|