v8
3.14.5(node0.10.28)
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 uint16_t | GetWrapperClassId (Object **location) |
static bool | IsIndependent (Object **location) |
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 697 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 681 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().
|
static |
Definition at line 470 of file global-handles.cc.
References GlobalHandles::Node::FromLocation(), and GlobalHandles::Node::wrapper_class_id().
void IdentifyNewSpaceWeakIndependentHandles | ( | WeakSlotCallbackWithHeap | f | ) |
Definition at line 511 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 491 of file global-handles.cc.
References GlobalHandles::NodeIterator::done().
|
inline |
Definition at line 223 of file global-handles.h.
|
static |
Definition at line 451 of file global-handles.cc.
References GlobalHandles::Node::FromLocation(), and GlobalHandles::Node::is_independent().
|
static |
Definition at line 456 of file global-handles.cc.
References GlobalHandles::Node::FromLocation(), and GlobalHandles::Node::IsNearDeath().
Referenced by TEST().
|
inline |
Definition at line 234 of file global-handles.h.
|
static |
Definition at line 461 of file global-handles.cc.
References GlobalHandles::Node::FromLocation(), and GlobalHandles::Node::IsWeak().
Referenced by TEST().
void IterateAllRoots | ( | ObjectVisitor * | v | ) |
Definition at line 602 of file global-handles.cc.
References GlobalHandles::NodeIterator::done().
Referenced by Heap::IterateStrongRoots(), and V8HeapExplorer::TagGlobalObjects().
void IterateAllRootsWithClassIds | ( | ObjectVisitor * | v | ) |
Definition at line 611 of file global-handles.cc.
References GlobalHandles::NodeIterator::done().
Referenced by V8::VisitHandlesWithClassIds().
void IterateNewSpaceStrongAndDependentRoots | ( | ObjectVisitor * | v | ) |
Definition at line 500 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 524 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 593 of file global-handles.cc.
References GlobalHandles::NodeIterator::done().
Referenced by Heap::IterateStrongRoots().
void IterateWeakRoots | ( | ObjectVisitor * | v | ) |
Definition at line 474 of file global-handles.cc.
References GlobalHandles::NodeIterator::done().
void IterateWeakRoots | ( | WeakReferenceGuest | f, |
WeakReferenceCallback | callback | ||
) |
Definition at line 481 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 148 of file global-handles.h.
Referenced by HeapProfiler::GetPersistentHandleCount().
|
inline |
Definition at line 143 of file global-handles.h.
|
inline |
Definition at line 137 of file global-handles.h.
Referenced by StartupSerializer::SerializeStrongReferences().
|
inline |
Definition at line 220 of file global-handles.h.
bool PostGarbageCollectionProcessing | ( | GarbageCollector | collector | ) |
Definition at line 535 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 621 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 719 of file global-handles.cc.
void RemoveObjectGroups | ( | ) |
Definition at line 711 of file global-handles.cc.
|
static |
Definition at line 466 of file global-handles.cc.
References GlobalHandles::Node::FromLocation(), and GlobalHandles::Node::set_wrapper_class_id().
void TearDown | ( | ) |
Definition at line 727 of file global-handles.cc.
Referenced by Heap::TearDown().
|
friend |
Definition at line 280 of file global-handles.h.