v8
3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
|
#include <global-handles.h>
Data Structures | |
class | Node |
class | NodeBlock |
class | NodeIterator |
Public Types | |
typedef WeakCallbackData < v8::Value, void >::Callback | WeakCallback |
Static Public Member Functions | |
static Handle< Object > | CopyGlobal (Object **location) |
static void | Destroy (Object **location) |
static void | MakeWeak (Object **location, void *parameter, WeakCallback weak_callback) |
static void * | ClearWeakness (Object **location) |
static void | MarkIndependent (Object **location) |
static void | MarkPartiallyDependent (Object **location) |
static bool | IsIndependent (Object **location) |
static bool | IsNearDeath (Object **location) |
static bool | IsWeak (Object **location) |
Friends | |
class | Isolate |
Definition at line 124 of file global-handles.h.
typedef WeakCallbackData<v8::Value, void>::Callback WeakCallback |
Definition at line 137 of file global-handles.h.
~GlobalHandles | ( | ) |
Definition at line 459 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 870 of file global-handles.cc.
References ASSERT, ImplicitRefGroup::children, and GlobalHandles::Node::FromLocation().
Referenced by TEST().
void AddObjectGroup | ( | Object *** | handles, |
size_t | length, | ||
v8::RetainedObjectInfo * | info | ||
) |
Definition at line 838 of file global-handles.cc.
References ASSERT, RetainedObjectInfo::Dispose(), GlobalHandles::Node::FromLocation(), ObjectGroup::info, v8::internal::NULL, and ObjectGroup::objects.
Referenced by TEST().
|
static |
Definition at line 507 of file global-handles.cc.
References GlobalHandles::Node::ClearWeakness(), and GlobalHandles::Node::FromLocation().
Referenced by TEST().
Definition at line 489 of file global-handles.cc.
References ASSERT, GlobalHandles::Create(), GlobalHandles::Node::FromLocation(), GlobalHandles::Node::GetGlobalHandles(), and v8::internal::NULL.
Definition at line 470 of file global-handles.cc.
References GlobalHandles::Node::Acquire(), ASSERT, 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 GlobalHandles::CopyGlobal(), v8::internal::GetScriptWrapper(), and TEST().
|
static |
Definition at line 495 of file global-handles.cc.
References GlobalHandles::Node::FromLocation(), v8::internal::NULL, and GlobalHandles::Node::Release().
Referenced by TEST().
|
inline |
Definition at line 159 of file global-handles.h.
Referenced by TEST(), and THREADED_TEST().
void IdentifyNewSpaceWeakIndependentHandles | ( | WeakSlotCallbackWithHeap | f | ) |
Definition at line 565 of file global-handles.cc.
References ASSERT, Isolate::heap(), GlobalHandles::Node::is_in_new_space_list(), GlobalHandles::Node::is_independent(), GlobalHandles::Node::is_partially_dependent(), GlobalHandles::Node::IsWeak(), GlobalHandles::Node::location(), and GlobalHandles::Node::MarkPending().
void IdentifyWeakHandles | ( | WeakSlotCallback | f | ) |
Definition at line 544 of file global-handles.cc.
References GlobalHandles::NodeIterator::done().
|
inline |
Definition at line 265 of file global-handles.h.
Referenced by TEST().
|
static |
Definition at line 522 of file global-handles.cc.
References GlobalHandles::Node::FromLocation(), and GlobalHandles::Node::is_independent().
|
static |
Definition at line 527 of file global-handles.cc.
References GlobalHandles::Node::FromLocation(), and GlobalHandles::Node::IsNearDeath().
Referenced by TEST().
|
inline |
Definition at line 277 of file global-handles.h.
Referenced by GlobalHandles::Node::MarkPartiallyDependent().
|
static |
Definition at line 532 of file global-handles.cc.
References GlobalHandles::Node::FromLocation(), and GlobalHandles::Node::IsWeak().
Referenced by TEST().
void IterateAllRoots | ( | ObjectVisitor * | v | ) |
Definition at line 724 of file global-handles.cc.
References GlobalHandles::NodeIterator::done().
Referenced by Heap::IterateStrongRoots(), and V8HeapExplorer::TagGlobalObjects().
void IterateAllRootsInNewSpaceWithClassIds | ( | ObjectVisitor * | v | ) |
Definition at line 743 of file global-handles.cc.
References GlobalHandles::Node::has_wrapper_class_id(), GlobalHandles::Node::IsRetainer(), GlobalHandles::Node::location(), and GlobalHandles::Node::wrapper_class_id().
Referenced by V8::VisitHandlesForPartialDependence().
void IterateAllRootsWithClassIds | ( | ObjectVisitor * | v | ) |
Definition at line 733 of file global-handles.cc.
References GlobalHandles::NodeIterator::done().
Referenced by V8::VisitHandlesWithClassIds().
void IterateNewSpaceStrongAndDependentRoots | ( | ObjectVisitor * | v | ) |
Definition at line 553 of file global-handles.cc.
References GlobalHandles::Node::is_independent(), GlobalHandles::Node::is_partially_dependent(), GlobalHandles::Node::IsStrongRetainer(), GlobalHandles::Node::IsWeakRetainer(), and GlobalHandles::Node::location().
Referenced by Heap::IterateStrongRoots().
void IterateNewSpaceWeakIndependentRoots | ( | ObjectVisitor * | v | ) |
Definition at line 578 of file global-handles.cc.
References ASSERT, GlobalHandles::Node::is_in_new_space_list(), GlobalHandles::Node::is_independent(), GlobalHandles::Node::is_partially_dependent(), GlobalHandles::Node::IsWeakRetainer(), and GlobalHandles::Node::location().
bool IterateObjectGroups | ( | ObjectVisitor * | v, |
WeakSlotCallbackWithHeap | can_skip | ||
) |
Definition at line 590 of file global-handles.cc.
References ASSERT, Isolate::heap(), ObjectGroup::length, v8::internal::NULL, and ObjectGroup::objects.
Referenced by TEST().
void IterateStrongRoots | ( | ObjectVisitor * | v | ) |
Definition at line 715 of file global-handles.cc.
References GlobalHandles::NodeIterator::done().
Referenced by Heap::IterateStrongRoots().
void IterateWeakRoots | ( | ObjectVisitor * | v | ) |
Definition at line 537 of file global-handles.cc.
References GlobalHandles::NodeIterator::done().
|
static |
Definition at line 500 of file global-handles.cc.
References GlobalHandles::Node::FromLocation(), and GlobalHandles::Node::MakeWeak().
Referenced by v8::internal::GetScriptWrapper(), and TEST().
|
static |
Definition at line 512 of file global-handles.cc.
References GlobalHandles::Node::FromLocation(), and GlobalHandles::Node::MarkIndependent().
|
static |
Definition at line 517 of file global-handles.cc.
References GlobalHandles::Node::FromLocation(), and GlobalHandles::Node::MarkPartiallyDependent().
int NumberOfGlobalObjectWeakHandles | ( | ) |
Definition at line 765 of file global-handles.cc.
References GlobalHandles::NodeIterator::done().
int NumberOfWeakHandles | ( | ) |
Definition at line 754 of file global-handles.cc.
References GlobalHandles::NodeIterator::done().
Referenced by StartupSerializer::SerializeStrongReferences().
|
inline |
Definition at line 260 of file global-handles.h.
bool PostGarbageCollectionProcessing | ( | GarbageCollector | collector, |
GCTracer * | tracer | ||
) |
Definition at line 636 of file global-handles.cc.
References ASSERT, GlobalHandles::Node::clear_partially_dependent(), GlobalHandles::NodeIterator::done(), Heap::gc_state(), Isolate::heap(), Heap::InNewSpace(), GlobalHandles::Node::is_in_new_space_list(), GlobalHandles::Node::is_independent(), GlobalHandles::Node::is_partially_dependent(), 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 777 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 913 of file global-handles.cc.
Referenced by TEST().
void RemoveObjectGroups | ( | ) |
Definition at line 901 of file global-handles.cc.
References v8::internal::info.
Referenced by TEST().
Definition at line 858 of file global-handles.cc.
Referenced by TEST().
void SetReference | ( | HeapObject ** | parent, |
Object ** | child | ||
) |
Definition at line 893 of file global-handles.cc.
References ASSERT, ImplicitRefGroup::children, and GlobalHandles::Node::FromLocation().
Definition at line 887 of file global-handles.cc.
References ASSERT, and GlobalHandles::Node::FromLocation().
Referenced by TEST().
void SetRetainedObjectInfo | ( | UniqueId | id, |
RetainedObjectInfo * | info | ||
) |
Definition at line 864 of file global-handles.cc.
Referenced by HeapProfiler::SetRetainedObjectInfo(), and TEST().
void TearDown | ( | ) |
Definition at line 922 of file global-handles.cc.
Referenced by Heap::TearDown().
|
friend |
Definition at line 332 of file global-handles.h.