![]() |
v8
3.11.10(node0.8.26)
V8 is Google's open source JavaScript engine
|
#include <global-handles.h>
Data Structures | |
class | Node |
class | NodeBlock |
class | NodeIterator |
Static Public Member Functions | |
static void | SetWrapperClassId (Object **location, uint16_t class_id) |
static bool | IsNearDeath (Object **location) |
static bool | IsWeak (Object **location) |
Friends | |
class | Isolate |
Definition at line 113 of file global-handles.h.
~GlobalHandles | ( | ) |
Definition at line 394 of file global-handles.cc.
References GlobalHandles::NodeBlock::next(), and v8::internal::NULL.
void AddImplicitReferences | ( | HeapObject ** | parent, |
Object *** | children, | ||
size_t | length | ||
) |
Definition at line 689 of file global-handles.cc.
References ASSERT, GlobalHandles::Node::FromLocation(), and ImplicitRefGroup::New().
Referenced by V8::AddImplicitReferences(), and TEST().
void AddObjectGroup | ( | Object *** | handles, |
size_t | length, | ||
v8::RetainedObjectInfo * | info | ||
) |
Definition at line 673 of file global-handles.cc.
References ASSERT, RetainedObjectInfo::Dispose(), GlobalHandles::Node::FromLocation(), ObjectGroup::New(), and v8::internal::NULL.
Referenced by V8::AddObjectGroup(), and TEST().
void ClearWeakness | ( | Object ** | location | ) |
Definition at line 441 of file global-handles.cc.
References GlobalHandles::Node::ClearWeakness(), and GlobalHandles::Node::FromLocation().
Referenced by TEST(), and TokenEnumerator::~TokenEnumerator().
Definition at line 405 of file global-handles.cc.
References GlobalHandles::Node::Acquire(), ASSERT, Isolate::counters(), GlobalHandles::Node::handle(), Isolate::heap(), Heap::InNewSpace(), GlobalHandles::Node::is_in_new_space_list(), GlobalHandles::Node::next_free, v8::internal::NULL, GlobalHandles::NodeBlock::PutNodesOnFreeList(), and GlobalHandles::Node::set_in_new_space_list().
Referenced by DeoptimizingCodeListNode::DeoptimizingCodeListNode(), v8::internal::GetScriptWrapper(), TokenEnumerator::GetTokenId(), and TEST().
void Destroy | ( | Object ** | location | ) |
Definition at line 426 of file global-handles.cc.
References Isolate::counters(), GlobalHandles::Node::FromLocation(), v8::internal::NULL, and GlobalHandles::Node::Release().
Referenced by TEST(), DeoptimizingCodeListNode::~DeoptimizingCodeListNode(), and TokenEnumerator::~TokenEnumerator().
void IdentifyNewSpaceWeakIndependentHandles | ( | WeakSlotCallbackWithHeap | f | ) |
Definition at line 503 of file global-handles.cc.
References ASSERT, Isolate::heap(), GlobalHandles::Node::is_in_new_space_list(), GlobalHandles::Node::is_independent(), GlobalHandles::Node::IsWeak(), GlobalHandles::Node::location(), and GlobalHandles::Node::MarkPending().
void IdentifyWeakHandles | ( | WeakSlotCallback | f | ) |
Definition at line 483 of file global-handles.cc.
References GlobalHandles::NodeIterator::done().
|
inline |
Definition at line 220 of file global-handles.h.
|
static |
Definition at line 451 of file global-handles.cc.
References GlobalHandles::Node::FromLocation(), and GlobalHandles::Node::IsNearDeath().
Referenced by TEST().
|
inline |
Definition at line 231 of file global-handles.h.
|
static |
Definition at line 456 of file global-handles.cc.
References GlobalHandles::Node::FromLocation(), and GlobalHandles::Node::IsWeak().
Referenced by TEST().
void IterateAllRoots | ( | ObjectVisitor * | v | ) |
Definition at line 594 of file global-handles.cc.
References GlobalHandles::NodeIterator::done().
Referenced by Heap::IterateStrongRoots(), and V8HeapExplorer::TagGlobalObjects().
void IterateAllRootsWithClassIds | ( | ObjectVisitor * | v | ) |
Definition at line 603 of file global-handles.cc.
References GlobalHandles::NodeIterator::done().
void IterateNewSpaceStrongAndDependentRoots | ( | ObjectVisitor * | v | ) |
Definition at line 492 of file global-handles.cc.
References GlobalHandles::Node::is_independent(), GlobalHandles::Node::IsStrongRetainer(), GlobalHandles::Node::IsWeakRetainer(), and GlobalHandles::Node::location().
Referenced by Heap::IterateStrongRoots().
void IterateNewSpaceWeakIndependentRoots | ( | ObjectVisitor * | v | ) |
Definition at line 516 of file global-handles.cc.
References ASSERT, GlobalHandles::Node::is_in_new_space_list(), GlobalHandles::Node::is_independent(), GlobalHandles::Node::IsWeakRetainer(), and GlobalHandles::Node::location().
void IterateStrongRoots | ( | ObjectVisitor * | v | ) |
Definition at line 585 of file global-handles.cc.
References GlobalHandles::NodeIterator::done().
Referenced by Heap::IterateStrongRoots().
void IterateWeakRoots | ( | ObjectVisitor * | v | ) |
Definition at line 466 of file global-handles.cc.
References GlobalHandles::NodeIterator::done().
void IterateWeakRoots | ( | WeakReferenceGuest | f, |
WeakReferenceCallback | callback | ||
) |
Definition at line 473 of file global-handles.cc.
References GlobalHandles::NodeIterator::done().
void MakeWeak | ( | Object ** | location, |
void * | parameter, | ||
WeakReferenceCallback | callback | ||
) |
Definition at line 434 of file global-handles.cc.
References ASSERT, GlobalHandles::Node::FromLocation(), GlobalHandles::Node::MakeWeak(), and v8::internal::NULL.
Referenced by DeoptimizingCodeListNode::DeoptimizingCodeListNode(), v8::internal::GetScriptWrapper(), TokenEnumerator::GetTokenId(), and TEST().
void MarkIndependent | ( | Object ** | location | ) |
Definition at line 446 of file global-handles.cc.
References GlobalHandles::Node::FromLocation(), and GlobalHandles::Node::MarkIndependent().
|
inline |
Definition at line 147 of file global-handles.h.
Referenced by HeapProfiler::GetPersistentHandleCount().
|
inline |
Definition at line 142 of file global-handles.h.
|
inline |
Definition at line 136 of file global-handles.h.
Referenced by StartupSerializer::SerializeStrongReferences().
|
inline |
Definition at line 217 of file global-handles.h.
bool PostGarbageCollectionProcessing | ( | GarbageCollector | collector | ) |
Definition at line 527 of file global-handles.cc.
References ASSERT, GlobalHandles::NodeIterator::done(), Heap::gc_state(), Isolate::heap(), Heap::InNewSpace(), GlobalHandles::Node::is_in_new_space_list(), GlobalHandles::Node::is_independent(), GlobalHandles::Node::IsRetainer(), Heap::NOT_IN_GC, GlobalHandles::Node::object(), GlobalHandles::Node::PostGarbageCollectionProcessing(), v8::internal::SCAVENGER, and GlobalHandles::Node::set_in_new_space_list().
void RecordStats | ( | HeapStats * | stats | ) |
Definition at line 613 of file global-handles.cc.
References GlobalHandles::NodeIterator::done(), GlobalHandles::Node::FREE, HeapStats::free_global_handle_count, HeapStats::global_handle_count, GlobalHandles::Node::NEAR_DEATH, HeapStats::near_death_global_handle_count, GlobalHandles::Node::PENDING, HeapStats::pending_global_handle_count, GlobalHandles::Node::WEAK, and HeapStats::weak_global_handle_count.
Referenced by Heap::RecordStats().
void RemoveImplicitRefGroups | ( | ) |
Definition at line 711 of file global-handles.cc.
void RemoveObjectGroups | ( | ) |
Definition at line 703 of file global-handles.cc.
|
static |
Definition at line 461 of file global-handles.cc.
References GlobalHandles::Node::FromLocation(), and GlobalHandles::Node::set_wrapper_class_id().
void TearDown | ( | ) |
Definition at line 719 of file global-handles.cc.
Referenced by Heap::TearDown().
|
friend |
Definition at line 277 of file global-handles.h.