v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::Debug Class Reference

#include <debug.h>

Collaboration diagram for v8::internal::Debug:

Classes

class  TemporaryObjectsTracker
 
class  ThreadLocal
 

Public Types

enum  BreakPointKind { kRegular , kInstrumentation }
 

Public Member Functions

 Debug (const Debug &)=delete
 
Debugoperator= (const Debug &)=delete
 
void OnDebugBreak (DirectHandle< FixedArray > break_points_hit, StepAction stepAction, debug::BreakReasons break_reasons={})
 
debug::DebugDelegate::ActionAfterInstrumentation OnInstrumentationBreak ()
 
std::optional< Tagged< Object > > OnThrow (DirectHandle< Object > exception) V8_WARN_UNUSED_RESULT
 
void OnPromiseReject (DirectHandle< Object > promise, DirectHandle< Object > value)
 
void OnCompileError (DirectHandle< Script > script)
 
void OnAfterCompile (DirectHandle< Script > script)
 
void HandleDebugBreak (IgnoreBreakMode ignore_break_mode, debug::BreakReasons break_reasons)
 
void Break (JavaScriptFrame *frame, DirectHandle< JSFunction > break_target)
 
DirectHandle< FixedArrayGetLoadedScripts ()
 
std::optional< Tagged< DebugInfo > > TryGetDebugInfo (Tagged< SharedFunctionInfo > sfi)
 
bool HasDebugInfo (Tagged< SharedFunctionInfo > sfi)
 
bool HasCoverageInfo (Tagged< SharedFunctionInfo > sfi)
 
bool HasBreakInfo (Tagged< SharedFunctionInfo > sfi)
 
bool BreakAtEntry (Tagged< SharedFunctionInfo > sfi)
 
bool SetBreakpoint (Handle< SharedFunctionInfo > shared, DirectHandle< BreakPoint > break_point, int *source_position)
 
void ClearBreakPoint (DirectHandle< BreakPoint > break_point)
 
void ChangeBreakOnException (ExceptionBreakType type, bool enable)
 
bool IsBreakOnException (ExceptionBreakType type)
 
void SetTerminateOnResume ()
 
bool SetBreakPointForScript (Handle< Script > script, DirectHandle< String > condition, int *source_position, int *id)
 
bool SetBreakpointForFunction (Handle< SharedFunctionInfo > shared, DirectHandle< String > condition, int *id, BreakPointKind kind=kRegular)
 
void RemoveBreakpoint (int id)
 
MaybeHandle< FixedArrayGetHitBreakPoints (DirectHandle< DebugInfo > debug_info, int position, bool *has_break_points)
 
void PrepareStep (StepAction step_action)
 
void PrepareStepIn (DirectHandle< JSFunction > function)
 
void PrepareStepInSuspendedGenerator ()
 
void PrepareStepOnThrow ()
 
void ClearStepping ()
 
void PrepareRestartFrame (JavaScriptFrame *frame, int inlined_frame_index)
 
void SetBreakOnNextFunctionCall ()
 
void ClearBreakOnNextFunctionCall ()
 
void DiscardBaselineCode (Tagged< SharedFunctionInfo > shared)
 
void DiscardAllBaselineCode ()
 
void DeoptimizeFunction (DirectHandle< SharedFunctionInfo > shared)
 
void PrepareFunctionForDebugExecution (DirectHandle< SharedFunctionInfo > shared)
 
void InstallDebugBreakTrampoline ()
 
bool GetPossibleBreakpoints (Handle< Script > script, int start_position, int end_position, bool restrict_to_function, std::vector< BreakLocation > *locations)
 
bool IsFunctionBlackboxed (DirectHandle< Script > script, const int start, const int end)
 
bool IsBlackboxed (DirectHandle< SharedFunctionInfo > shared)
 
bool ShouldBeSkipped ()
 
bool CanBreakAtEntry (DirectHandle< SharedFunctionInfo > shared)
 
void SetDebugDelegate (debug::DebugDelegate *delegate)
 
bool EnsureBreakInfo (Handle< SharedFunctionInfo > shared)
 
void CreateBreakInfo (DirectHandle< SharedFunctionInfo > shared)
 
Handle< DebugInfoGetOrCreateDebugInfo (DirectHandle< SharedFunctionInfo > shared)
 
void InstallCoverageInfo (DirectHandle< SharedFunctionInfo > shared, DirectHandle< CoverageInfo > coverage_info)
 
void RemoveAllCoverageInfos ()
 
Handle< ObjectFindInnermostContainingFunctionInfo (Handle< Script > script, int position)
 
Handle< SharedFunctionInfoFindClosestSharedFunctionInfoFromPosition (int position, Handle< Script > script, Handle< SharedFunctionInfo > outer_shared)
 
bool FindSharedFunctionInfosIntersectingRange (Handle< Script > script, int start_position, int end_position, std::vector< Handle< SharedFunctionInfo > > *candidates)
 
MaybeDirectHandle< SharedFunctionInfoGetTopLevelWithRecompile (Handle< Script > script, bool *did_compile=nullptr)
 
bool IsBreakAtReturn (JavaScriptFrame *frame)
 
bool AllFramesOnStackAreBlackboxed ()
 
bool SetScriptSource (Handle< Script > script, Handle< String > source, bool preview, bool allow_top_frame_live_editing, debug::LiveEditResult *result)
 
int GetFunctionDebuggingId (DirectHandle< JSFunction > function)
 
char * ArchiveDebug (char *to)
 
char * RestoreDebug (char *from)
 
void FreeThreadResources ()
 
void Iterate (RootVisitor *v)
 
void InitThread (const ExecutionAccess &lock)
 
bool CheckExecutionState ()
 
void StartSideEffectCheckMode ()
 
void StopSideEffectCheckMode ()
 
void ApplySideEffectChecks (DirectHandle< DebugInfo > debug_info)
 
void ClearSideEffectChecks (DirectHandle< DebugInfo > debug_info)
 
void IgnoreSideEffectsOnNextCallTo (Handle< FunctionTemplateInfo > function)
 
bool PerformSideEffectCheck (DirectHandle< JSFunction > function, DirectHandle< Object > receiver)
 
void PrepareBuiltinForSideEffectCheck (Isolate *isolate, Builtin id)
 
bool PerformSideEffectCheckForAccessor (DirectHandle< AccessorInfo > accessor_info, DirectHandle< Object > receiver, AccessorComponent component)
 
bool PerformSideEffectCheckForCallback (Handle< FunctionTemplateInfo > function)
 
bool PerformSideEffectCheckForInterceptor (DirectHandle< InterceptorInfo > interceptor_info)
 
bool PerformSideEffectCheckAtBytecode (InterpretedFrame *frame)
 
bool PerformSideEffectCheckForObject (DirectHandle< Object > object)
 
bool is_active () const
 
bool in_debug_scope () const
 
bool needs_check_on_function_call () const
 
void set_break_points_active (bool v)
 
bool break_points_active () const
 
StackFrameId break_frame_id ()
 
Handle< Objectreturn_value_handle ()
 
Tagged< Objectreturn_value ()
 
void set_return_value (Tagged< Object > value)
 
Address is_active_address ()
 
Address hook_on_function_call_address ()
 
Address suspended_generator_address ()
 
StepAction last_step_action ()
 
bool break_on_next_function_call () const
 
bool scheduled_break_on_function_call () const
 
bool IsRestartFrameScheduled () const
 
bool ShouldRestartFrame (StackFrameId id) const
 
void clear_restart_frame ()
 
int restart_inline_frame_index () const
 
bool break_disabled () const
 
void RemoveBreakInfoAndMaybeFree (DirectHandle< DebugInfo > debug_info)
 
void NotifyDebuggerPausedEventSent ()
 
void ClearMutedLocation ()
 
uint64_t IsolateId () const
 
void SetIsolateId (uint64_t id)
 

Static Public Member Functions

static DirectHandle< ObjectGetSourceBreakLocations (Isolate *isolate, DirectHandle< SharedFunctionInfo > shared)
 
static int ArchiveSpacePerThread ()
 
static char * Iterate (RootVisitor *v, char *thread_storage)
 

Static Public Attributes

static const int kBreakAtEntryPosition = 0
 
static const int kInstrumentationId = -1
 

Private Types

using DebugInfoClearFunction = std::function<void(Handle<DebugInfo>)>
 

Private Member Functions

 Debug (Isolate *isolate)
 
 ~Debug ()
 
void UpdateDebugInfosForExecutionMode ()
 
void UpdateState ()
 
void UpdateHookOnFunctionCall ()
 
void Unload ()
 
int CurrentFrameCount ()
 
bool ignore_events () const
 
void clear_suspended_generator ()
 
bool has_suspended_generator () const
 
void OnException (DirectHandle< Object > exception, MaybeDirectHandle< JSPromise > promise, v8::debug::ExceptionType exception_type)
 
void ProcessCompileEvent (bool has_compile_error, DirectHandle< Script > script)
 
int FindBreakablePosition (Handle< DebugInfo > debug_info, int source_position)
 
void ApplyBreakPoints (Handle< DebugInfo > debug_info)
 
void ClearBreakPoints (Handle< DebugInfo > debug_info)
 
void ClearAllBreakPoints ()
 
void FloodWithOneShot (Handle< SharedFunctionInfo > function, bool returns_only=false)
 
void ClearOneShot ()
 
void SetMutedLocation (DirectHandle< SharedFunctionInfo > function, const BreakLocation &location)
 
bool IsFrameBlackboxed (JavaScriptFrame *frame)
 
void ActivateStepOut (StackFrame *frame)
 
bool IsBreakOnInstrumentation (Handle< DebugInfo > debug_info, const BreakLocation &location)
 
bool IsBreakOnDebuggerStatement (DirectHandle< SharedFunctionInfo > function, const BreakLocation &location)
 
MaybeHandle< FixedArrayCheckBreakPoints (Handle< DebugInfo > debug_info, BreakLocation *location, bool *has_break_points)
 
MaybeDirectHandle< FixedArrayCheckBreakPointsForLocations (Handle< DebugInfo > debug_info, std::vector< BreakLocation > &break_locations, bool *has_break_points)
 
bool IsMutedAtAnyBreakLocation (DirectHandle< SharedFunctionInfo > function, const std::vector< BreakLocation > &locations)
 
bool CheckBreakPoint (DirectHandle< BreakPoint > break_point, bool is_break_at_entry)
 
void AssertDebugContext ()
 
void ThreadInit ()
 
void PrintBreakLocation ()
 
void ClearAllDebuggerHints ()
 
void ClearAllDebugInfos (const DebugInfoClearFunction &clear_function)
 
void SetTemporaryObjectTrackingDisabled (bool disabled)
 
bool GetTemporaryObjectTrackingDisabled () const
 

Static Private Member Functions

static void Iterate (RootVisitor *v, ThreadLocal *thread_local_data)
 

Private Attributes

debug::DebugDelegatedebug_delegate_ = nullptr
 
std::atomic< boolis_active_
 
bool hook_on_function_call_
 
bool is_suppressed_
 
bool running_live_edit_ = false
 
bool break_disabled_
 
bool break_points_active_
 
bool break_on_caught_exception_
 
bool break_on_uncaught_exception_
 
bool side_effect_check_failed_
 
DebugInfoCollection debug_infos_
 
std::unique_ptr< TemporaryObjectsTrackertemporary_objects_
 
IndirectHandle< RegExpMatchInforegexp_match_info_
 
ThreadLocal thread_local_
 
IndirectHandle< FunctionTemplateInfoignore_side_effects_for_function_template_info_
 
Isolateisolate_
 
uint64_t isolate_id_
 

Friends

class Isolate
 
class DebugScope
 
class DisableBreak
 
class DisableTemporaryObjectTracking
 
class LiveEdit
 
class SuppressDebug
 
DirectHandle< FixedArrayGetDebuggedFunctions ()
 
void CheckDebuggerUnloaded ()
 

Detailed Description

Definition at line 251 of file debug.h.

Member Typedef Documentation

◆ DebugInfoClearFunction

using v8::internal::Debug::DebugInfoClearFunction = std::function<void(Handle<DebugInfo>)>
private

Definition at line 593 of file debug.h.

Member Enumeration Documentation

◆ BreakPointKind

Enumerator
kRegular 
kInstrumentation 

Definition at line 288 of file debug.h.

Constructor & Destructor Documentation

◆ Debug() [1/2]

v8::internal::Debug::Debug ( const Debug & )
delete

◆ Debug() [2/2]

v8::internal::Debug::Debug ( Isolate * isolate)
explicitprivate

Definition at line 171 of file debug.cc.

Here is the call graph for this function:

◆ ~Debug()

v8::internal::Debug::~Debug ( )
private

Definition at line 186 of file debug.cc.

Member Function Documentation

◆ ActivateStepOut()

void v8::internal::Debug::ActivateStepOut ( StackFrame * frame)
private

◆ AllFramesOnStackAreBlackboxed()

bool v8::internal::Debug::AllFramesOnStackAreBlackboxed ( )

Definition at line 2719 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ApplyBreakPoints()

void v8::internal::Debug::ApplyBreakPoints ( Handle< DebugInfo > debug_info)
private

Definition at line 1045 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ApplySideEffectChecks()

void v8::internal::Debug::ApplySideEffectChecks ( DirectHandle< DebugInfo > debug_info)

Definition at line 3099 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ArchiveDebug()

char * v8::internal::Debug::ArchiveDebug ( char * to)

Definition at line 485 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ArchiveSpacePerThread()

int v8::internal::Debug::ArchiveSpacePerThread ( )
static

Definition at line 524 of file debug.cc.

Here is the caller graph for this function:

◆ AssertDebugContext()

void v8::internal::Debug::AssertDebugContext ( )
inlineprivate

Definition at line 584 of file debug.h.

Here is the caller graph for this function:

◆ Break()

void v8::internal::Debug::Break ( JavaScriptFrame * frame,
DirectHandle< JSFunction > break_target )

Definition at line 638 of file debug.cc.

Here is the call graph for this function:

◆ break_disabled()

bool v8::internal::Debug::break_disabled ( ) const
inline

Definition at line 485 of file debug.h.

Here is the caller graph for this function:

◆ break_frame_id()

StackFrameId v8::internal::Debug::break_frame_id ( )
inline

Definition at line 443 of file debug.h.

Here is the caller graph for this function:

◆ break_on_next_function_call()

bool v8::internal::Debug::break_on_next_function_call ( ) const
inline

Definition at line 463 of file debug.h.

Here is the caller graph for this function:

◆ break_points_active()

bool v8::internal::Debug::break_points_active ( ) const
inline

Definition at line 441 of file debug.h.

◆ BreakAtEntry()

bool v8::internal::Debug::BreakAtEntry ( Tagged< SharedFunctionInfo > sfi)

Definition at line 2441 of file debug.cc.

Here is the call graph for this function:

◆ CanBreakAtEntry()

bool v8::internal::Debug::CanBreakAtEntry ( DirectHandle< SharedFunctionInfo > shared)

Definition at line 2734 of file debug.cc.

Here is the caller graph for this function:

◆ ChangeBreakOnException()

void v8::internal::Debug::ChangeBreakOnException ( ExceptionBreakType type,
bool enable )

Definition at line 1255 of file debug.cc.

Here is the caller graph for this function:

◆ CheckBreakPoint()

bool v8::internal::Debug::CheckBreakPoint ( DirectHandle< BreakPoint > break_point,
bool is_break_at_entry )
private

Definition at line 923 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CheckBreakPoints()

MaybeHandle< FixedArray > v8::internal::Debug::CheckBreakPoints ( Handle< DebugInfo > debug_info,
BreakLocation * location,
bool * has_break_points )
private

Definition at line 858 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CheckBreakPointsForLocations()

MaybeDirectHandle< FixedArray > v8::internal::Debug::CheckBreakPointsForLocations ( Handle< DebugInfo > debug_info,
std::vector< BreakLocation > & break_locations,
bool * has_break_points )
private

Definition at line 206 of file debug.cc.

Here is the call graph for this function:

◆ CheckExecutionState()

bool v8::internal::Debug::CheckExecutionState ( )
inline

Definition at line 404 of file debug.h.

◆ clear_restart_frame()

void v8::internal::Debug::clear_restart_frame ( )
inline

Definition at line 477 of file debug.h.

Here is the caller graph for this function:

◆ clear_suspended_generator()

void v8::internal::Debug::clear_suspended_generator ( )
inlineprivate

Definition at line 528 of file debug.h.

Here is the caller graph for this function:

◆ ClearAllBreakPoints()

void v8::internal::Debug::ClearAllBreakPoints ( )
private

Definition at line 1212 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ClearAllDebuggerHints()

void v8::internal::Debug::ClearAllDebuggerHints ( )
private

Definition at line 2352 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ClearAllDebugInfos()

void v8::internal::Debug::ClearAllDebugInfos ( const DebugInfoClearFunction & clear_function)
private

Definition at line 2357 of file debug.cc.

Here is the caller graph for this function:

◆ ClearBreakOnNextFunctionCall()

void v8::internal::Debug::ClearBreakOnNextFunctionCall ( )

Definition at line 1319 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ClearBreakPoint()

void v8::internal::Debug::ClearBreakPoint ( DirectHandle< BreakPoint > break_point)

Definition at line 1085 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ClearBreakPoints()

void v8::internal::Debug::ClearBreakPoints ( Handle< DebugInfo > debug_info)
private

Definition at line 1066 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ClearMutedLocation()

void v8::internal::Debug::ClearMutedLocation ( )

Definition at line 1680 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ClearOneShot()

void v8::internal::Debug::ClearOneShot ( )
private

Definition at line 1666 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ClearSideEffectChecks()

void v8::internal::Debug::ClearSideEffectChecks ( DirectHandle< DebugInfo > debug_info)

Definition at line 3108 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ClearStepping()

void v8::internal::Debug::ClearStepping ( )

Definition at line 1644 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CreateBreakInfo()

void v8::internal::Debug::CreateBreakInfo ( DirectHandle< SharedFunctionInfo > shared)

Definition at line 2296 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CurrentFrameCount()

int v8::internal::Debug::CurrentFrameCount ( )
private

Definition at line 2791 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DeoptimizeFunction()

void v8::internal::Debug::DeoptimizeFunction ( DirectHandle< SharedFunctionInfo > shared)

Definition at line 1789 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DiscardAllBaselineCode()

void v8::internal::Debug::DiscardAllBaselineCode ( )

Definition at line 1766 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DiscardBaselineCode()

void v8::internal::Debug::DiscardBaselineCode ( Tagged< SharedFunctionInfo > shared)

Definition at line 1745 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ EnsureBreakInfo()

bool v8::internal::Debug::EnsureBreakInfo ( Handle< SharedFunctionInfo > shared)

Definition at line 2276 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FindBreakablePosition()

int v8::internal::Debug::FindBreakablePosition ( Handle< DebugInfo > debug_info,
int source_position )
private

Definition at line 1032 of file debug.cc.

Here is the caller graph for this function:

◆ FindClosestSharedFunctionInfoFromPosition()

Handle< SharedFunctionInfo > v8::internal::Debug::FindClosestSharedFunctionInfoFromPosition ( int position,
Handle< Script > script,
Handle< SharedFunctionInfo > outer_shared )

Definition at line 2103 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FindInnermostContainingFunctionInfo()

Handle< Object > v8::internal::Debug::FindInnermostContainingFunctionInfo ( Handle< Script > script,
int position )

Definition at line 2226 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FindSharedFunctionInfosIntersectingRange()

bool v8::internal::Debug::FindSharedFunctionInfosIntersectingRange ( Handle< Script > script,
int start_position,
int end_position,
std::vector< Handle< SharedFunctionInfo > > * candidates )

Definition at line 2141 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FloodWithOneShot()

void v8::internal::Debug::FloodWithOneShot ( Handle< SharedFunctionInfo > function,
bool returns_only = false )
private

Definition at line 1238 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FreeThreadResources()

void v8::internal::Debug::FreeThreadResources ( )
inline

Definition at line 400 of file debug.h.

Here is the caller graph for this function:

◆ GetFunctionDebuggingId()

int v8::internal::Debug::GetFunctionDebuggingId ( DirectHandle< JSFunction > function)

Definition at line 1111 of file debug.cc.

Here is the call graph for this function:

◆ GetHitBreakPoints()

MaybeHandle< FixedArray > v8::internal::Debug::GetHitBreakPoints ( DirectHandle< DebugInfo > debug_info,
int position,
bool * has_break_points )

Definition at line 1271 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetLoadedScripts()

DirectHandle< FixedArray > v8::internal::Debug::GetLoadedScripts ( )

Definition at line 2397 of file debug.cc.

Here is the call graph for this function:

◆ GetOrCreateDebugInfo()

Handle< DebugInfo > v8::internal::Debug::GetOrCreateDebugInfo ( DirectHandle< SharedFunctionInfo > shared)

Definition at line 2318 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetPossibleBreakpoints()

bool v8::internal::Debug::GetPossibleBreakpoints ( Handle< Script > script,
int start_position,
int end_position,
bool restrict_to_function,
std::vector< BreakLocation > * locations )

Definition at line 1999 of file debug.cc.

Here is the call graph for this function:

◆ GetSourceBreakLocations()

DirectHandle< Object > v8::internal::Debug::GetSourceBreakLocations ( Isolate * isolate,
DirectHandle< SharedFunctionInfo > shared )
static

Definition at line 1614 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetTemporaryObjectTrackingDisabled()

bool v8::internal::Debug::GetTemporaryObjectTrackingDisabled ( ) const
private

Definition at line 3362 of file debug.cc.

◆ GetTopLevelWithRecompile()

MaybeDirectHandle< SharedFunctionInfo > v8::internal::Debug::GetTopLevelWithRecompile ( Handle< Script > script,
bool * did_compile = nullptr )

Definition at line 2201 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ HandleDebugBreak()

void v8::internal::Debug::HandleDebugBreak ( IgnoreBreakMode ignore_break_mode,
debug::BreakReasons break_reasons )

Definition at line 2836 of file debug.cc.

Here is the call graph for this function:

◆ has_suspended_generator()

bool v8::internal::Debug::has_suspended_generator ( ) const
inlineprivate

Definition at line 532 of file debug.h.

Here is the caller graph for this function:

◆ HasBreakInfo()

bool v8::internal::Debug::HasBreakInfo ( Tagged< SharedFunctionInfo > sfi)

Definition at line 2434 of file debug.cc.

Here is the call graph for this function:

◆ HasCoverageInfo()

bool v8::internal::Debug::HasCoverageInfo ( Tagged< SharedFunctionInfo > sfi)

Definition at line 2427 of file debug.cc.

Here is the call graph for this function:

◆ HasDebugInfo()

bool v8::internal::Debug::HasDebugInfo ( Tagged< SharedFunctionInfo > sfi)

Definition at line 2423 of file debug.cc.

Here is the call graph for this function:

◆ hook_on_function_call_address()

Address v8::internal::Debug::hook_on_function_call_address ( )
inline

Definition at line 454 of file debug.h.

◆ ignore_events()

bool v8::internal::Debug::ignore_events ( ) const
inlineprivate

Definition at line 523 of file debug.h.

Here is the caller graph for this function:

◆ IgnoreSideEffectsOnNextCallTo()

void v8::internal::Debug::IgnoreSideEffectsOnNextCallTo ( Handle< FunctionTemplateInfo > function)

Definition at line 3240 of file debug.cc.

Here is the caller graph for this function:

◆ in_debug_scope()

bool v8::internal::Debug::in_debug_scope ( ) const
inline

Definition at line 433 of file debug.h.

Here is the caller graph for this function:

◆ InitThread()

void v8::internal::Debug::InitThread ( const ExecutionAccess & lock)
inline

Definition at line 402 of file debug.h.

Here is the caller graph for this function:

◆ InstallCoverageInfo()

void v8::internal::Debug::InstallCoverageInfo ( DirectHandle< SharedFunctionInfo > shared,
DirectHandle< CoverageInfo > coverage_info )

Definition at line 2331 of file debug.cc.

Here is the call graph for this function:

◆ InstallDebugBreakTrampoline()

void v8::internal::Debug::InstallDebugBreakTrampoline ( )

Definition at line 1854 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_active()

bool v8::internal::Debug::is_active ( ) const
inline

Definition at line 432 of file debug.h.

Here is the caller graph for this function:

◆ is_active_address()

Address v8::internal::Debug::is_active_address ( )
inline

Definition at line 452 of file debug.h.

◆ IsBlackboxed()

bool v8::internal::Debug::IsBlackboxed ( DirectHandle< SharedFunctionInfo > shared)

Definition at line 2669 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsBreakAtReturn()

bool v8::internal::Debug::IsBreakAtReturn ( JavaScriptFrame * frame)

Definition at line 2377 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsBreakOnDebuggerStatement()

bool v8::internal::Debug::IsBreakOnDebuggerStatement ( DirectHandle< SharedFunctionInfo > function,
const BreakLocation & location )
private

Definition at line 841 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsBreakOnException()

bool v8::internal::Debug::IsBreakOnException ( ExceptionBreakType type)

Definition at line 1263 of file debug.cc.

◆ IsBreakOnInstrumentation()

bool v8::internal::Debug::IsBreakOnInstrumentation ( Handle< DebugInfo > debug_info,
const BreakLocation & location )
private

Definition at line 815 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsFrameBlackboxed()

bool v8::internal::Debug::IsFrameBlackboxed ( JavaScriptFrame * frame)
private

Definition at line 2490 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsFunctionBlackboxed()

bool v8::internal::Debug::IsFunctionBlackboxed ( DirectHandle< Script > script,
const int start,
const int end )

Definition at line 2661 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsMutedAtAnyBreakLocation()

bool v8::internal::Debug::IsMutedAtAnyBreakLocation ( DirectHandle< SharedFunctionInfo > function,
const std::vector< BreakLocation > & locations )
private

Definition at line 873 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsolateId()

uint64_t v8::internal::Debug::IsolateId ( ) const
inline

Definition at line 508 of file debug.h.

Here is the caller graph for this function:

◆ IsRestartFrameScheduled()

bool v8::internal::Debug::IsRestartFrameScheduled ( ) const
inline

Definition at line 471 of file debug.h.

◆ Iterate() [1/3]

void v8::internal::Debug::Iterate ( RootVisitor * v)

Definition at line 526 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Iterate() [2/3]

char * v8::internal::Debug::Iterate ( RootVisitor * v,
char * thread_storage )
static

Definition at line 528 of file debug.cc.

Here is the call graph for this function:

◆ Iterate() [3/3]

void v8::internal::Debug::Iterate ( RootVisitor * v,
ThreadLocal * thread_local_data )
staticprivate

Definition at line 535 of file debug.cc.

Here is the call graph for this function:

◆ last_step_action()

StepAction v8::internal::Debug::last_step_action ( )
inline

Definition at line 462 of file debug.h.

Here is the caller graph for this function:

◆ needs_check_on_function_call()

bool v8::internal::Debug::needs_check_on_function_call ( ) const
inline

Definition at line 436 of file debug.h.

◆ NotifyDebuggerPausedEventSent()

void v8::internal::Debug::NotifyDebuggerPausedEventSent ( )

Definition at line 3384 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ OnAfterCompile()

void v8::internal::Debug::OnAfterCompile ( DirectHandle< Script > script)

Definition at line 2761 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ OnCompileError()

void v8::internal::Debug::OnCompileError ( DirectHandle< Script > script)

Definition at line 2757 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ OnDebugBreak()

void v8::internal::Debug::OnDebugBreak ( DirectHandle< FixedArray > break_points_hit,
StepAction stepAction,
debug::BreakReasons break_reasons = {} )

Definition at line 2604 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ OnException()

void v8::internal::Debug::OnException ( DirectHandle< Object > exception,
MaybeDirectHandle< JSPromise > promise,
v8::debug::ExceptionType exception_type )
private

Definition at line 2501 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ OnInstrumentationBreak()

debug::DebugDelegate::ActionAfterInstrumentation v8::internal::Debug::OnInstrumentationBreak ( )

Definition at line 624 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ OnPromiseReject()

void v8::internal::Debug::OnPromiseReject ( DirectHandle< Object > promise,
DirectHandle< Object > value )

Definition at line 2475 of file debug.cc.

Here is the call graph for this function:

◆ OnThrow()

std::optional< Tagged< Object > > v8::internal::Debug::OnThrow ( DirectHandle< Object > exception)

Definition at line 2448 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

Debug & v8::internal::Debug::operator= ( const Debug & )
delete

◆ PerformSideEffectCheck()

bool v8::internal::Debug::PerformSideEffectCheck ( DirectHandle< JSFunction > function,
DirectHandle< Object > receiver )

Definition at line 3124 of file debug.cc.

Here is the call graph for this function:

◆ PerformSideEffectCheckAtBytecode()

bool v8::internal::Debug::PerformSideEffectCheckAtBytecode ( InterpretedFrame * frame)

Definition at line 3297 of file debug.cc.

Here is the call graph for this function:

◆ PerformSideEffectCheckForAccessor()

bool v8::internal::Debug::PerformSideEffectCheckForAccessor ( DirectHandle< AccessorInfo > accessor_info,
DirectHandle< Object > receiver,
AccessorComponent component )

Definition at line 3200 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PerformSideEffectCheckForCallback()

bool v8::internal::Debug::PerformSideEffectCheckForCallback ( Handle< FunctionTemplateInfo > function)

Definition at line 3248 of file debug.cc.

Here is the call graph for this function:

◆ PerformSideEffectCheckForInterceptor()

bool v8::internal::Debug::PerformSideEffectCheckForInterceptor ( DirectHandle< InterceptorInfo > interceptor_info)

Definition at line 3278 of file debug.cc.

Here is the call graph for this function:

◆ PerformSideEffectCheckForObject()

bool v8::internal::Debug::PerformSideEffectCheckForObject ( DirectHandle< Object > object)

Definition at line 3335 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrepareBuiltinForSideEffectCheck()

void v8::internal::Debug::PrepareBuiltinForSideEffectCheck ( Isolate * isolate,
Builtin id )

Definition at line 3177 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrepareFunctionForDebugExecution()

void v8::internal::Debug::PrepareFunctionForDebugExecution ( DirectHandle< SharedFunctionInfo > shared)

Definition at line 1798 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrepareRestartFrame()

void v8::internal::Debug::PrepareRestartFrame ( JavaScriptFrame * frame,
int inlined_frame_index )

Definition at line 3369 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrepareStep()

void v8::internal::Debug::PrepareStep ( StepAction step_action)

Definition at line 1425 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrepareStepIn()

void v8::internal::Debug::PrepareStepIn ( DirectHandle< JSFunction > function)

Definition at line 1324 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrepareStepInSuspendedGenerator()

void v8::internal::Debug::PrepareStepInSuspendedGenerator ( )

Definition at line 1338 of file debug.cc.

Here is the call graph for this function:

◆ PrepareStepOnThrow()

void v8::internal::Debug::PrepareStepOnThrow ( )

Definition at line 1353 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PrintBreakLocation()

void v8::internal::Debug::PrintBreakLocation ( )
private
Here is the caller graph for this function:

◆ ProcessCompileEvent()

void v8::internal::Debug::ProcessCompileEvent ( bool has_compile_error,
DirectHandle< Script > script )
private

Definition at line 2765 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RemoveAllCoverageInfos()

void v8::internal::Debug::RemoveAllCoverageInfos ( )

Definition at line 2346 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RemoveBreakInfoAndMaybeFree()

void v8::internal::Debug::RemoveBreakInfoAndMaybeFree ( DirectHandle< DebugInfo > debug_info)

Definition at line 2369 of file debug.cc.

Here is the call graph for this function:

◆ RemoveBreakpoint()

void v8::internal::Debug::RemoveBreakpoint ( int id)

Definition at line 1152 of file debug.cc.

Here is the call graph for this function:

◆ restart_inline_frame_index()

int v8::internal::Debug::restart_inline_frame_index ( ) const
inline

Definition at line 481 of file debug.h.

◆ RestoreDebug()

char * v8::internal::Debug::RestoreDebug ( char * from)

Definition at line 491 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ return_value()

Tagged< Object > v8::internal::Debug::return_value ( )
inline

Definition at line 446 of file debug.h.

Here is the caller graph for this function:

◆ return_value_handle()

Handle< Object > v8::internal::Debug::return_value_handle ( )

Definition at line 3173 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ scheduled_break_on_function_call()

bool v8::internal::Debug::scheduled_break_on_function_call ( ) const
inline

Definition at line 467 of file debug.h.

Here is the caller graph for this function:

◆ set_break_points_active()

void v8::internal::Debug::set_break_points_active ( bool v)
inline

Definition at line 440 of file debug.h.

◆ set_return_value()

void v8::internal::Debug::set_return_value ( Tagged< Object > value)
inline

Definition at line 447 of file debug.h.

Here is the caller graph for this function:

◆ SetBreakOnNextFunctionCall()

void v8::internal::Debug::SetBreakOnNextFunctionCall ( )

Definition at line 1308 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetBreakpoint()

bool v8::internal::Debug::SetBreakpoint ( Handle< SharedFunctionInfo > shared,
DirectHandle< BreakPoint > break_point,
int * source_position )

Definition at line 972 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetBreakpointForFunction()

bool v8::internal::Debug::SetBreakpointForFunction ( Handle< SharedFunctionInfo > shared,
DirectHandle< String > condition,
int * id,
BreakPointKind kind = kRegular )

Definition at line 1123 of file debug.cc.

Here is the call graph for this function:

◆ SetBreakPointForScript()

bool v8::internal::Debug::SetBreakPointForScript ( Handle< Script > script,
DirectHandle< String > condition,
int * source_position,
int * id )

Definition at line 997 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetDebugDelegate()

void v8::internal::Debug::SetDebugDelegate ( debug::DebugDelegate * delegate)

Definition at line 2805 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetIsolateId()

void v8::internal::Debug::SetIsolateId ( uint64_t id)
inline

Definition at line 509 of file debug.h.

Here is the caller graph for this function:

◆ SetMutedLocation()

void v8::internal::Debug::SetMutedLocation ( DirectHandle< SharedFunctionInfo > function,
const BreakLocation & location )
private

Definition at line 1685 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetScriptSource()

bool v8::internal::Debug::SetScriptSource ( Handle< Script > script,
Handle< String > source,
bool preview,
bool allow_top_frame_live_editing,
debug::LiveEditResult * result )

Definition at line 2745 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetTemporaryObjectTrackingDisabled()

void v8::internal::Debug::SetTemporaryObjectTrackingDisabled ( bool disabled)
private

Definition at line 3356 of file debug.cc.

Here is the caller graph for this function:

◆ SetTerminateOnResume()

void v8::internal::Debug::SetTerminateOnResume ( )

Definition at line 3035 of file debug.cc.

Here is the call graph for this function:

◆ ShouldBeSkipped()

bool v8::internal::Debug::ShouldBeSkipped ( )

Definition at line 2696 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ShouldRestartFrame()

bool v8::internal::Debug::ShouldRestartFrame ( StackFrameId id) const
inline

Definition at line 474 of file debug.h.

◆ StartSideEffectCheckMode()

void v8::internal::Debug::StartSideEffectCheckMode ( )

Definition at line 3043 of file debug.cc.

Here is the call graph for this function:

◆ StopSideEffectCheckMode()

void v8::internal::Debug::StopSideEffectCheckMode ( )

Definition at line 3073 of file debug.cc.

Here is the call graph for this function:

◆ suspended_generator_address()

Address v8::internal::Debug::suspended_generator_address ( )
inline

Definition at line 458 of file debug.h.

◆ ThreadInit()

void v8::internal::Debug::ThreadInit ( )
private

Definition at line 463 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TryGetDebugInfo()

std::optional< Tagged< DebugInfo > > v8::internal::Debug::TryGetDebugInfo ( Tagged< SharedFunctionInfo > sfi)

Definition at line 2418 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Unload()

void v8::internal::Debug::Unload ( )
private

Definition at line 614 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ UpdateDebugInfosForExecutionMode()

void v8::internal::Debug::UpdateDebugInfosForExecutionMode ( )
private

Definition at line 3010 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ UpdateHookOnFunctionCall()

void v8::internal::Debug::UpdateHookOnFunctionCall ( )
private

Definition at line 2828 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ UpdateState()

void v8::internal::Debug::UpdateState ( )
private

Definition at line 2810 of file debug.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ CheckDebuggerUnloaded

void CheckDebuggerUnloaded ( )
friend

◆ DebugScope

friend class DebugScope
friend

Definition at line 729 of file debug.h.

◆ DisableBreak

friend class DisableBreak
friend

Definition at line 730 of file debug.h.

◆ DisableTemporaryObjectTracking

friend class DisableTemporaryObjectTracking
friend

Definition at line 731 of file debug.h.

◆ GetDebuggedFunctions

DirectHandle< FixedArray > GetDebuggedFunctions ( )
friend

◆ Isolate

friend class Isolate
friend

Definition at line 728 of file debug.h.

◆ LiveEdit

friend class LiveEdit
friend

Definition at line 732 of file debug.h.

◆ SuppressDebug

friend class SuppressDebug
friend

Definition at line 733 of file debug.h.

Member Data Documentation

◆ break_disabled_

bool v8::internal::Debug::break_disabled_
private

Definition at line 613 of file debug.h.

◆ break_on_caught_exception_

bool v8::internal::Debug::break_on_caught_exception_
private

Definition at line 617 of file debug.h.

◆ break_on_uncaught_exception_

bool v8::internal::Debug::break_on_uncaught_exception_
private

Definition at line 619 of file debug.h.

◆ break_points_active_

bool v8::internal::Debug::break_points_active_
private

Definition at line 615 of file debug.h.

◆ debug_delegate_

debug::DebugDelegate* v8::internal::Debug::debug_delegate_ = nullptr
private

Definition at line 599 of file debug.h.

◆ debug_infos_

DebugInfoCollection v8::internal::Debug::debug_infos_
private

Definition at line 624 of file debug.h.

◆ hook_on_function_call_

bool v8::internal::Debug::hook_on_function_call_
private

Definition at line 607 of file debug.h.

◆ ignore_side_effects_for_function_template_info_

IndirectHandle<FunctionTemplateInfo> v8::internal::Debug::ignore_side_effects_for_function_template_info_
private

Definition at line 719 of file debug.h.

◆ is_active_

std::atomic<bool> v8::internal::Debug::is_active_
private

Definition at line 604 of file debug.h.

◆ is_suppressed_

bool v8::internal::Debug::is_suppressed_
private

Definition at line 609 of file debug.h.

◆ isolate_

Isolate* v8::internal::Debug::isolate_
private

Definition at line 721 of file debug.h.

◆ isolate_id_

uint64_t v8::internal::Debug::isolate_id_
private

Definition at line 726 of file debug.h.

◆ kBreakAtEntryPosition

const int v8::internal::Debug::kBreakAtEntryPosition = 0
static

Definition at line 489 of file debug.h.

◆ kInstrumentationId

const int v8::internal::Debug::kInstrumentationId = -1
static

Definition at line 492 of file debug.h.

◆ regexp_match_info_

IndirectHandle<RegExpMatchInfo> v8::internal::Debug::regexp_match_info_
private

Definition at line 630 of file debug.h.

◆ running_live_edit_

bool v8::internal::Debug::running_live_edit_ = false
private

Definition at line 611 of file debug.h.

◆ side_effect_check_failed_

bool v8::internal::Debug::side_effect_check_failed_
private

Definition at line 621 of file debug.h.

◆ temporary_objects_

std::unique_ptr<TemporaryObjectsTracker> v8::internal::Debug::temporary_objects_
private

Definition at line 628 of file debug.h.

◆ thread_local_

ThreadLocal v8::internal::Debug::thread_local_
private

Definition at line 707 of file debug.h.


The documentation for this class was generated from the following files: