Index: src/runtime.cc |
diff --git a/src/runtime.cc b/src/runtime.cc |
index 6163ca8fa37152f28eb47cce131f01c6056590e8..9e9be41f619008e6c137d6a12aacc00b921c4672 100644 |
--- a/src/runtime.cc |
+++ b/src/runtime.cc |
@@ -4730,21 +4730,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()); |
@@ -4753,7 +4760,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(); |
} |