V8 Project
|
#include <allocation-tracker.h>
Classes | |
struct | FunctionInfo |
class | UnresolvedLocation |
Public Member Functions | |
AllocationTracker (HeapObjectsMap *ids, StringsStorage *names) | |
~AllocationTracker () | |
void | PrepareForSerialization () |
void | AllocationEvent (Address addr, int size) |
AllocationTraceTree * | trace_tree () |
const List< FunctionInfo * > & | function_info_list () const |
AddressToTraceMap * | address_to_trace () |
Private Member Functions | |
unsigned | AddFunctionInfo (SharedFunctionInfo *info, SnapshotObjectId id) |
unsigned | functionInfoIndexForVMState (StateTag state) |
DISALLOW_COPY_AND_ASSIGN (AllocationTracker) | |
Static Private Member Functions | |
static void | DeleteFunctionInfo (FunctionInfo **info) |
static void | DeleteUnresolvedLocation (UnresolvedLocation **location) |
Static Private Attributes | |
static const int | kMaxAllocationTraceLength = 64 |
Definition at line 87 of file allocation-tracker.h.
v8::internal::AllocationTracker::AllocationTracker | ( | HeapObjectsMap * | ids, |
StringsStorage * | names | ||
) |
Definition at line 195 of file allocation-tracker.cc.
References function_info_list_, and v8::internal::AllocationTracker::FunctionInfo::name.
v8::internal::AllocationTracker::~AllocationTracker | ( | ) |
Definition at line 207 of file allocation-tracker.cc.
References DeleteFunctionInfo(), DeleteUnresolvedLocation(), function_info_list_, and unresolved_locations_.
|
private |
Definition at line 265 of file allocation-tracker.cc.
References v8::internal::SharedFunctionInfo::DebugName(), v8::internal::AllocationTracker::FunctionInfo::function_id, function_info_list_, v8::internal::StringsStorage::GetFunctionName(), v8::internal::StringsStorage::GetName(), id_to_function_info_index_, v8::internal::TemplateHashMapImpl< AllocationPolicy >::Lookup(), v8::internal::AllocationTracker::FunctionInfo::name, name, names_, NULL, v8::internal::AllocationTracker::FunctionInfo::script_id, v8::internal::AllocationTracker::FunctionInfo::script_name, v8::internal::SnapshotObjectIdHash(), v8::internal::SharedFunctionInfo::start_position(), and unresolved_locations_.
Referenced by AllocationEvent().
|
inline |
Definition at line 109 of file allocation-tracker.h.
References address_to_trace_.
Definition at line 224 of file allocation-tracker.cc.
References v8::internal::AllocationTraceNode::AddAllocation(), AddFunctionInfo(), v8::internal::AllocationTraceTree::AddPathFromEnd(), v8::internal::AddressToTraceMap::AddRange(), v8::internal::HeapObject::address(), address_to_trace_, v8::internal::StackTraceFrameIterator::Advance(), allocation_trace_buffer_, DCHECK, DCHECK_EQ, v8::internal::HeapObjectsMap::FindOrAddEntry(), v8::internal::FreeListNode::FromAddress(), v8::internal::HeapObject::FromAddress(), v8::internal::JavaScriptFrame::function(), functionInfoIndexForVMState(), v8::internal::HeapObjectsMap::heap(), v8::internal::AllocationTraceNode::id(), ids_, v8::internal::FreeListNode::IsFreeListNode(), v8::internal::Heap::isolate(), kMaxAllocationTraceLength, v8::internal::FreeListNode::set_size(), size, v8::internal::HeapObject::Size(), and trace_tree_.
|
staticprivate |
Definition at line 190 of file allocation-tracker.cc.
Referenced by ~AllocationTracker().
|
staticprivate |
Definition at line 102 of file allocation-tracker.cc.
Referenced by ~AllocationTracker().
|
private |
|
inline |
Definition at line 106 of file allocation-tracker.h.
References function_info_list_.
Referenced by v8::internal::AllocationTraceNode::Print(), v8::internal::HeapSnapshotJSONSerializer::SerializeSnapshot(), and v8::internal::HeapSnapshotJSONSerializer::SerializeTraceNodeInfos().
|
private |
Definition at line 294 of file allocation-tracker.cc.
References function_info_list_, info_index_for_other_state_, v8::internal::AllocationTracker::FunctionInfo::name, and v8::internal::OTHER.
Referenced by AllocationEvent().
void v8::internal::AllocationTracker::PrepareForSerialization | ( | ) |
Definition at line 213 of file allocation-tracker.cc.
References v8::internal::List< T, AllocationPolicy >::AddAll(), and unresolved_locations_.
|
inline |
Definition at line 105 of file allocation-tracker.h.
References trace_tree_.
Referenced by v8::internal::HeapSnapshotJSONSerializer::SerializeTraceTree().
|
private |
Definition at line 141 of file allocation-tracker.h.
Referenced by address_to_trace(), and AllocationEvent().
|
private |
Definition at line 136 of file allocation-tracker.h.
Referenced by AllocationEvent().
|
private |
Definition at line 137 of file allocation-tracker.h.
Referenced by AddFunctionInfo(), AllocationTracker(), function_info_list(), functionInfoIndexForVMState(), and ~AllocationTracker().
|
private |
Definition at line 138 of file allocation-tracker.h.
Referenced by AddFunctionInfo().
|
private |
Definition at line 133 of file allocation-tracker.h.
Referenced by AllocationEvent().
|
private |
Definition at line 140 of file allocation-tracker.h.
Referenced by functionInfoIndexForVMState().
|
staticprivate |
Definition at line 132 of file allocation-tracker.h.
Referenced by AllocationEvent().
|
private |
Definition at line 134 of file allocation-tracker.h.
Referenced by AddFunctionInfo().
|
private |
Definition at line 135 of file allocation-tracker.h.
Referenced by AllocationEvent(), and trace_tree().
|
private |
Definition at line 139 of file allocation-tracker.h.
Referenced by AddFunctionInfo(), PrepareForSerialization(), and ~AllocationTracker().