v8  3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GlobalHandles Class Reference

#include <global-handles.h>

Data Structures

class  Node
 
class  NodeBlock
 
class  NodeIterator
 

Public Types

typedef WeakCallbackData
< v8::Value, void >::Callback 
WeakCallback
 

Public Member Functions

 ~GlobalHandles ()
 
Handle< ObjectCreate (Object *value)
 
void RecordStats (HeapStats *stats)
 
int NumberOfWeakHandles ()
 
int NumberOfGlobalObjectWeakHandles ()
 
int global_handles_count () const
 
bool PostGarbageCollectionProcessing (GarbageCollector collector, GCTracer *tracer)
 
void IterateStrongRoots (ObjectVisitor *v)
 
void IterateAllRoots (ObjectVisitor *v)
 
void IterateAllRootsWithClassIds (ObjectVisitor *v)
 
void IterateAllRootsInNewSpaceWithClassIds (ObjectVisitor *v)
 
void IterateWeakRoots (ObjectVisitor *v)
 
void IdentifyWeakHandles (WeakSlotCallback f)
 
void IterateNewSpaceStrongAndDependentRoots (ObjectVisitor *v)
 
void IdentifyNewSpaceWeakIndependentHandles (WeakSlotCallbackWithHeap f)
 
void IterateNewSpaceWeakIndependentRoots (ObjectVisitor *v)
 
bool IterateObjectGroups (ObjectVisitor *v, WeakSlotCallbackWithHeap can_skip)
 
void AddObjectGroup (Object ***handles, size_t length, v8::RetainedObjectInfo *info)
 
void SetObjectGroupId (Object **handle, UniqueId id)
 
void SetRetainedObjectInfo (UniqueId id, RetainedObjectInfo *info)
 
void AddImplicitReferences (HeapObject **parent, Object ***children, size_t length)
 
void SetReferenceFromGroup (UniqueId id, Object **child)
 
void SetReference (HeapObject **parent, Object **child)
 
List< ObjectGroup * > * object_groups ()
 
List< ImplicitRefGroup * > * implicit_ref_groups ()
 
void RemoveObjectGroups ()
 
void RemoveImplicitRefGroups ()
 
void TearDown ()
 
Isolateisolate ()
 

Static Public Member Functions

static Handle< ObjectCopyGlobal (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
 

Detailed Description

Definition at line 124 of file global-handles.h.

Member Typedef Documentation

typedef WeakCallbackData<v8::Value, void>::Callback WeakCallback

Definition at line 137 of file global-handles.h.

Constructor & Destructor Documentation

Definition at line 459 of file global-handles.cc.

References GlobalHandles::NodeBlock::next(), and v8::internal::NULL.

Member Function Documentation

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 
)
void * ClearWeakness ( Object **  location)
static

Definition at line 507 of file global-handles.cc.

References GlobalHandles::Node::ClearWeakness(), and GlobalHandles::Node::FromLocation().

Referenced by TEST().

void Destroy ( Object **  location)
static
int global_handles_count ( ) const
inline

Definition at line 159 of file global-handles.h.

Referenced by TEST(), and THREADED_TEST().

void IdentifyWeakHandles ( WeakSlotCallback  f)

Definition at line 544 of file global-handles.cc.

References GlobalHandles::NodeIterator::done().

List<ImplicitRefGroup*>* implicit_ref_groups ( )
inline

Definition at line 265 of file global-handles.h.

Referenced by TEST().

bool IsIndependent ( Object **  location)
static
bool IsNearDeath ( Object **  location)
static

Definition at line 527 of file global-handles.cc.

References GlobalHandles::Node::FromLocation(), and GlobalHandles::Node::IsNearDeath().

Referenced by TEST().

Isolate* isolate ( )
inline

Definition at line 277 of file global-handles.h.

Referenced by GlobalHandles::Node::MarkPartiallyDependent().

bool IsWeak ( Object **  location)
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)
void IterateAllRootsInNewSpaceWithClassIds ( ObjectVisitor *  v)
void IterateAllRootsWithClassIds ( ObjectVisitor *  v)

Definition at line 733 of file global-handles.cc.

References GlobalHandles::NodeIterator::done().

Referenced by V8::VisitHandlesWithClassIds().

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().

void MakeWeak ( Object **  location,
void *  parameter,
WeakCallback  weak_callback 
)
static
void MarkIndependent ( Object **  location)
static
void MarkPartiallyDependent ( Object **  location)
static
int NumberOfGlobalObjectWeakHandles ( )

Definition at line 765 of file global-handles.cc.

References GlobalHandles::NodeIterator::done().

int NumberOfWeakHandles ( )
List<ObjectGroup*>* object_groups ( )
inline

Definition at line 260 of file global-handles.h.

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().

void SetObjectGroupId ( Object **  handle,
UniqueId  id 
)

Definition at line 858 of file global-handles.cc.

Referenced by TEST().

void SetReference ( HeapObject **  parent,
Object **  child 
)
void SetReferenceFromGroup ( UniqueId  id,
Object **  child 
)

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().

Friends And Related Function Documentation

friend class Isolate
friend

Definition at line 332 of file global-handles.h.


The documentation for this class was generated from the following files: