libraries/v8/runtime.cc
// Check whether debugger and is about to step into the callback that is passed
// to a built-in function such as Array.forEach.
Check whether debugger and is about to step into the callback that is passed
to a built-in function such as Array.forEach.
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) {
  SealHandleScope shs(isolate);
#ifdef ENABLE_DEBUGGER_SUPPORT
  if (!isolate->IsDebuggerActive() || !isolate->debug()->StepInActive()) {
    return isolate->heap()->false_value();
  }
  CONVERT_ARG_CHECKED(Object, callback, 0);
  if (!callback->IsJSFunction() || JSFunction::cast(callback)->IsBuiltin()) {
    return isolate->heap()->false_value();
  }
  return isolate->heap()->true_value();
#else
  return isolate->heap()->false_value();
#endif  
}
RUNTIME_FUNCTION ( MaybeObject * , Runtime_DebugCallbackSupportsStepping ) { SealHandleScope shs ( isolate ) ; #ifdef ENABLE_DEBUGGER_SUPPORT if ( ! isolate -> IsDebuggerActive ( ) || ! isolate -> debug ( ) -> StepInActive ( ) ) { return isolate -> heap ( ) -> false_value ( ) ; } CONVERT_ARG_CHECKED ( Object , callback , 0 ) ; if ( ! callback -> IsJSFunction ( ) || JSFunction :: cast ( callback ) -> IsBuiltin ( ) ) { return isolate -> heap ( ) -> false_value ( ) ; } return isolate -> heap ( ) -> true_value ( ) ; #else return isolate -> heap ( ) -> false_value ( ) ; #endif }
Check whether debugger and is about to step into the callback that is passed
to a built-in function such as Array.forEach.
Check whether debugger and is about to step into the callback that is passed to a built - in function such as Array . forEach .
// We do not step into the callback if it's a builtin or not even a function. // ENABLE_DEBUGGER_SUPPORT