V8 Project
|
#include <debug.h>
Public Member Functions | |
BreakLocationIterator (Handle< DebugInfo > debug_info, BreakLocatorType type) | |
virtual | ~BreakLocationIterator () |
void | Next () |
void | Next (int count) |
void | FindBreakLocationFromAddress (Address pc) |
void | FindBreakLocationFromPosition (int position, BreakPositionAlignment alignment) |
void | Reset () |
bool | Done () const |
void | SetBreakPoint (Handle< Object > break_point_object) |
void | ClearBreakPoint (Handle< Object > break_point_object) |
void | SetOneShot () |
void | ClearOneShot () |
bool | IsStepInLocation (Isolate *isolate) |
void | PrepareStepIn (Isolate *isolate) |
bool | IsExit () const |
bool | HasBreakPoint () |
bool | IsDebugBreak () |
Object * | BreakPointObjects () |
void | ClearAllDebugBreak () |
int | code_position () |
int | break_point () |
int | position () |
int | statement_position () |
Address | pc () |
Code * | code () |
RelocInfo * | rinfo () |
RelocInfo::Mode | rmode () const |
RelocInfo * | original_rinfo () |
RelocInfo::Mode | original_rmode () const |
bool | IsDebuggerStatement () |
Protected Member Functions | |
bool | RinfoDone () const |
void | RinfoNext () |
Protected Attributes | |
BreakLocatorType | type_ |
int | break_point_ |
int | position_ |
int | statement_position_ |
Handle< DebugInfo > | debug_info_ |
RelocIterator * | reloc_iterator_ |
RelocIterator * | reloc_iterator_original_ |
Private Member Functions | |
void | SetDebugBreak () |
void | ClearDebugBreak () |
void | SetDebugBreakAtIC () |
void | ClearDebugBreakAtIC () |
bool | IsDebugBreakAtReturn () |
void | SetDebugBreakAtReturn () |
void | ClearDebugBreakAtReturn () |
bool | IsDebugBreakSlot () |
bool | IsDebugBreakAtSlot () |
void | SetDebugBreakAtSlot () |
void | ClearDebugBreakAtSlot () |
DISALLOW_COPY_AND_ASSIGN (BreakLocationIterator) | |
|
explicit |
Definition at line 62 of file debug.cc.
References debug_info_, NULL, reloc_iterator_, reloc_iterator_original_, Reset(), and type_.
|
virtual |
Definition at line 72 of file debug.cc.
References DCHECK, NULL, reloc_iterator_, and reloc_iterator_original_.
|
inline |
Definition at line 97 of file debug.h.
References break_point_.
Referenced by FindBreakLocationFromAddress(), and FindBreakLocationFromPosition().
Object * v8::internal::BreakLocationIterator::BreakPointObjects | ( | ) |
Definition at line 519 of file debug.cc.
References code_position(), and debug_info_.
Referenced by v8::internal::Debug::Break().
void v8::internal::BreakLocationIterator::ClearAllDebugBreak | ( | ) |
Definition at line 527 of file debug.cc.
References ClearDebugBreak(), Done(), and Next().
Referenced by v8::internal::Debug::ClearAllBreakPoints(), and v8::internal::Debug::HandleWeakDebugInfo().
Definition at line 281 of file debug.cc.
References v8::internal::DebugInfo::ClearBreakPoint(), ClearDebugBreak(), code_position(), DCHECK, debug_info_, HasBreakPoint(), and IsDebugBreak().
Referenced by v8::internal::Debug::ClearBreakPoint().
|
private |
Definition at line 347 of file debug.cc.
References ClearDebugBreakAtIC(), ClearDebugBreakAtReturn(), ClearDebugBreakAtSlot(), DCHECK, IsDebugBreak(), IsDebugBreakSlot(), IsDebuggerStatement(), v8::internal::RelocInfo::IsJSReturn(), and rmode().
Referenced by ClearAllDebugBreak(), ClearBreakPoint(), and ClearOneShot().
|
private |
Definition at line 503 of file debug.cc.
References original_rinfo(), and rinfo().
Referenced by ClearDebugBreak().
|
private |
|
private |
void v8::internal::BreakLocationIterator::ClearOneShot | ( | ) |
Definition at line 307 of file debug.cc.
References ClearDebugBreak(), DCHECK, HasBreakPoint(), IsDebugBreak(), and IsDebuggerStatement().
Referenced by v8::internal::Debug::ClearOneShot().
|
inline |
Definition at line 101 of file debug.h.
References debug_info_.
Referenced by Next(), and v8::internal::Debug::StepNextContinue().
|
inline |
Definition at line 94 of file debug.h.
References debug_info_, and pc().
Referenced by BreakPointObjects(), ClearBreakPoint(), HasBreakPoint(), and SetBreakPoint().
|
private |
bool v8::internal::BreakLocationIterator::Done | ( | ) | const |
Definition at line 264 of file debug.cc.
References RinfoDone().
Referenced by ClearAllDebugBreak(), v8::internal::Debug::ClearOneShot(), FindBreakLocationFromAddress(), FindBreakLocationFromPosition(), v8::internal::Debug::FloodWithOneShot(), and v8::internal::RUNTIME_FUNCTION().
void v8::internal::BreakLocationIterator::FindBreakLocationFromAddress | ( | Address | pc | ) |
Definition at line 187 of file debug.cc.
References break_point(), Done(), v8::internal::kMaxInt, Next(), pc(), and Reset().
Referenced by v8::internal::Debug::Break(), v8::internal::Debug::ClearBreakPoint(), v8::internal::Debug::PrepareStep(), v8::internal::RUNTIME_FUNCTION(), and v8::internal::ScopeIterator::ScopeIterator().
void v8::internal::BreakLocationIterator::FindBreakLocationFromPosition | ( | int | position, |
BreakPositionAlignment | alignment | ||
) |
Definition at line 209 of file debug.cc.
References break_point(), v8::internal::BREAK_POSITION_ALIGNED, Done(), v8::internal::kMaxInt, Next(), position(), Reset(), v8::internal::STATEMENT_ALIGNED, statement_position(), and UNREACHABLE.
Referenced by v8::internal::Debug::SetBreakPoint(), and v8::internal::Debug::SetBreakPointForScript().
bool v8::internal::BreakLocationIterator::HasBreakPoint | ( | ) |
Definition at line 421 of file debug.cc.
References code_position(), and debug_info_.
Referenced by v8::internal::Debug::Break(), ClearBreakPoint(), ClearOneShot(), SetBreakPoint(), and SetOneShot().
bool v8::internal::BreakLocationIterator::IsDebugBreak | ( | ) |
Definition at line 427 of file debug.cc.
References v8::internal::Debug::IsDebugBreak(), IsDebugBreakAtReturn(), IsDebugBreakAtSlot(), IsDebugBreakSlot(), v8::internal::RelocInfo::IsJSReturn(), rinfo(), and rmode().
Referenced by ClearBreakPoint(), ClearDebugBreak(), ClearOneShot(), v8::internal::Debug::PrepareStep(), PrepareStepIn(), SetBreakPoint(), SetDebugBreak(), and SetOneShot().
|
private |
|
private |
|
private |
Definition at line 514 of file debug.cc.
References v8::internal::RelocInfo::DEBUG_BREAK_SLOT, and rmode().
Referenced by ClearDebugBreak(), IsDebugBreak(), Next(), and SetDebugBreak().
bool v8::internal::BreakLocationIterator::IsDebuggerStatement | ( | ) |
Definition at line 509 of file debug.cc.
References v8::internal::RelocInfo::DEBUG_BREAK, and rmode().
Referenced by ClearDebugBreak(), ClearOneShot(), Next(), SetBreakPoint(), SetDebugBreak(), and SetOneShot().
bool v8::internal::BreakLocationIterator::IsExit | ( | ) | const |
Definition at line 416 of file debug.cc.
References v8::internal::RelocInfo::IsJSReturn(), and rmode().
Referenced by v8::internal::Debug::PrepareStep(), v8::internal::ScopeIterator::ScopeIterator(), and v8::internal::Debug::StepNextContinue().
Definition at line 365 of file debug.cc.
References debug_info_, v8::internal::Code::GetCodeFromTargetAddress(), v8::internal::RelocInfo::IsCodeTarget(), v8::internal::RelocInfo::IsConstructCall(), original_rinfo(), original_rmode(), rmode(), and v8::internal::STUB.
Referenced by v8::internal::RUNTIME_FUNCTION().
void v8::internal::BreakLocationIterator::Next | ( | ) |
Definition at line 96 of file debug.cc.
References v8::internal::ALL_BREAK_LOCATIONS, break_point_, code(), v8::internal::RelocInfo::data(), DCHECK, debug_info_, v8::internal::Code::GetCodeFromTargetAddress(), v8::internal::Code::is_binary_op_stub(), v8::internal::Code::is_compare_ic_stub(), v8::internal::Code::is_inline_cache_stub(), v8::internal::Code::is_to_boolean_ic_stub(), v8::internal::IsBreakStub(), v8::internal::RelocInfo::IsCodeTarget(), v8::internal::RelocInfo::IsConstructCall(), IsDebugBreakSlot(), IsDebuggerStatement(), v8::internal::RelocInfo::IsJSReturn(), v8::internal::RelocInfo::IsPosition(), v8::internal::IsSourceBreakStub(), v8::internal::RelocInfo::IsStatementPosition(), v8::internal::Code::kind(), original_rinfo(), position_, rinfo(), RinfoDone(), RinfoNext(), rmode(), v8::internal::SOURCE_BREAK_LOCATIONS, statement_position_, v8::internal::STUB, and type_.
Referenced by ClearAllDebugBreak(), v8::internal::Debug::ClearOneShot(), FindBreakLocationFromAddress(), FindBreakLocationFromPosition(), v8::internal::Debug::FloodWithOneShot(), Next(), Reset(), and v8::internal::RUNTIME_FUNCTION().
void v8::internal::BreakLocationIterator::Next | ( | int | count | ) |
|
inline |
Definition at line 106 of file debug.h.
References reloc_iterator_original_, and v8::internal::RelocIterator::rinfo().
Referenced by ClearDebugBreakAtIC(), IsStepInLocation(), Next(), v8::internal::Debug::PrepareStep(), PrepareStepIn(), and SetDebugBreakAtIC().
|
inline |
Definition at line 109 of file debug.h.
References reloc_iterator_original_, v8::internal::RelocIterator::rinfo(), and v8::internal::RelocInfo::rmode().
Referenced by IsStepInLocation(), and RinfoNext().
|
inline |
Definition at line 100 of file debug.h.
References v8::internal::RelocInfo::pc(), reloc_iterator_, and v8::internal::RelocIterator::rinfo().
Referenced by code_position(), FindBreakLocationFromAddress(), and v8::internal::RUNTIME_FUNCTION().
|
inline |
Definition at line 98 of file debug.h.
References position_.
Referenced by FindBreakLocationFromPosition(), v8::internal::RUNTIME_FUNCTION(), v8::internal::Debug::SetBreakPoint(), SetBreakPoint(), and v8::internal::Debug::SetBreakPointForScript().
void v8::internal::BreakLocationIterator::PrepareStepIn | ( | Isolate * | isolate | ) |
Definition at line 381 of file debug.cc.
References DCHECK, v8::internal::Code::GetCodeFromTargetAddress(), v8::internal::RelocInfo::IsConstructCall(), IsDebugBreak(), original_rinfo(), rinfo(), rmode(), and v8::internal::STUB.
Referenced by v8::internal::Debug::PrepareStep().
void v8::internal::BreakLocationIterator::Reset | ( | ) |
Definition at line 245 of file debug.cc.
References break_point_, v8::internal::RelocInfo::CODE_AGE_SEQUENCE, debug_info_, v8::internal::RelocInfo::ModeMask(), Next(), NULL, position_, reloc_iterator_, reloc_iterator_original_, and statement_position_.
Referenced by BreakLocationIterator(), FindBreakLocationFromAddress(), and FindBreakLocationFromPosition().
|
inline |
Definition at line 102 of file debug.h.
References reloc_iterator_, and v8::internal::RelocIterator::rinfo().
Referenced by ClearDebugBreakAtIC(), IsDebugBreak(), Next(), v8::internal::Debug::PrepareStep(), PrepareStepIn(), and SetDebugBreakAtIC().
|
protected |
Definition at line 535 of file debug.cc.
References DCHECK, v8::internal::RelocIterator::done(), reloc_iterator_, and reloc_iterator_original_.
Referenced by Done(), and Next().
|
protected |
Definition at line 541 of file debug.cc.
References DCHECK, v8::internal::RelocIterator::done(), v8::internal::RelocIterator::next(), original_rmode(), reloc_iterator_, reloc_iterator_original_, and rmode().
Referenced by Next().
|
inline |
Definition at line 103 of file debug.h.
References reloc_iterator_, v8::internal::RelocIterator::rinfo(), and v8::internal::RelocInfo::rmode().
Referenced by ClearDebugBreak(), IsDebugBreak(), IsDebugBreakSlot(), IsDebuggerStatement(), IsExit(), IsStepInLocation(), Next(), v8::internal::Debug::PrepareStep(), PrepareStepIn(), RinfoNext(), SetDebugBreak(), and SetDebugBreakAtIC().
Definition at line 269 of file debug.cc.
References code_position(), DCHECK, debug_info_, HasBreakPoint(), IsDebugBreak(), IsDebuggerStatement(), position(), v8::internal::DebugInfo::SetBreakPoint(), SetDebugBreak(), and statement_position().
Referenced by v8::internal::Debug::SetBreakPoint(), and v8::internal::Debug::SetBreakPointForScript().
|
private |
Definition at line 323 of file debug.cc.
References DCHECK, IsDebugBreak(), IsDebugBreakSlot(), IsDebuggerStatement(), v8::internal::RelocInfo::IsJSReturn(), rmode(), SetDebugBreakAtIC(), SetDebugBreakAtReturn(), and SetDebugBreakAtSlot().
Referenced by SetBreakPoint(), and SetOneShot().
|
private |
Definition at line 485 of file debug.cc.
References v8::internal::DebugBreakForIC(), v8::internal::Code::GetCodeFromTargetAddress(), v8::internal::RelocInfo::IsCodeTarget(), mode(), original_rinfo(), rinfo(), and rmode().
Referenced by SetDebugBreak().
|
private |
|
private |
void v8::internal::BreakLocationIterator::SetOneShot | ( | ) |
Definition at line 292 of file debug.cc.
References DCHECK, HasBreakPoint(), IsDebugBreak(), IsDebuggerStatement(), and SetDebugBreak().
Referenced by v8::internal::Debug::FloodWithOneShot().
|
inline |
Definition at line 99 of file debug.h.
References statement_position_.
Referenced by FindBreakLocationFromPosition(), v8::internal::RUNTIME_FUNCTION(), and SetBreakPoint().
|
protected |
Definition at line 120 of file debug.h.
Referenced by break_point(), Next(), and Reset().
Definition at line 123 of file debug.h.
Referenced by BreakLocationIterator(), BreakPointObjects(), ClearBreakPoint(), code(), code_position(), HasBreakPoint(), IsStepInLocation(), Next(), Reset(), and SetBreakPoint().
|
protected |
Definition at line 121 of file debug.h.
Referenced by Next(), position(), and Reset().
|
protected |
Definition at line 124 of file debug.h.
Referenced by BreakLocationIterator(), pc(), Reset(), rinfo(), RinfoDone(), RinfoNext(), rmode(), and ~BreakLocationIterator().
|
protected |
Definition at line 125 of file debug.h.
Referenced by BreakLocationIterator(), original_rinfo(), original_rmode(), Reset(), RinfoDone(), RinfoNext(), and ~BreakLocationIterator().
|
protected |
Definition at line 122 of file debug.h.
Referenced by Next(), Reset(), and statement_position().
|
protected |
Definition at line 119 of file debug.h.
Referenced by BreakLocationIterator(), and Next().