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
StaticMarkingVisitor< StaticVisitor > Class Template Reference

#include <objects-visiting.h>

Inheritance diagram for StaticMarkingVisitor< StaticVisitor >:
Collaboration diagram for StaticMarkingVisitor< StaticVisitor >:

Data Structures

class  DataObjectVisitor
 

Public Member Functions

 INLINE (static void IterateBody(Map *map, HeapObject *obj))
 
 INLINE (static void VisitPropertyCell(Map *map, HeapObject *object))
 
 INLINE (static void VisitAllocationSite(Map *map, HeapObject *object))
 
 INLINE (static void VisitCodeEntry(Heap *heap, Address entry_address))
 
 INLINE (static void VisitEmbeddedPointer(Heap *heap, RelocInfo *rinfo))
 
 INLINE (static void VisitCell(Heap *heap, RelocInfo *rinfo))
 
 INLINE (static void VisitDebugTarget(Heap *heap, RelocInfo *rinfo))
 
 INLINE (static void VisitCodeTarget(Heap *heap, RelocInfo *rinfo))
 
 INLINE (static void VisitCodeAgeSequence(Heap *heap, RelocInfo *rinfo))
 
 INLINE (static void VisitExternalReference(RelocInfo *rinfo))
 
 INLINE (static void VisitRuntimeEntry(RelocInfo *rinfo))
 
 INLINE (static void VisitNextCodeLink(Heap *heap, Object **slot))
 
- Public Member Functions inherited from StaticVisitorBase
 STATIC_ASSERT (kVisitorIdCount<=256)
 

Static Public Member Functions

static void Initialize ()
 
static void MarkInlinedFunctionsCode (Heap *heap, Code *code)
 
- Static Public Member Functions inherited from StaticVisitorBase
static VisitorId GetVisitorId (int instance_type, int instance_size)
 
static VisitorId GetVisitorId (Map *map)
 
static VisitorId GetVisitorIdForSize (VisitorId base, VisitorId generic, int object_size)
 

Protected Types

typedef FlexibleBodyVisitor
< StaticVisitor,
FixedArray::BodyDescriptor,
void > 
FixedArrayVisitor
 
typedef FlexibleBodyVisitor
< StaticVisitor,
JSObject::BodyDescriptor, void > 
JSObjectVisitor
 
typedef FlexibleBodyVisitor
< StaticVisitor,
StructBodyDescriptor, void > 
StructObjectVisitor
 
typedef void(* Callback )(Map *map, HeapObject *object)
 

Protected Member Functions

 INLINE (static void VisitMap(Map *map, HeapObject *object))
 
 INLINE (static void VisitCode(Map *map, HeapObject *object))
 
 INLINE (static void VisitSharedFunctionInfo(Map *map, HeapObject *object))
 
 INLINE (static void VisitConstantPoolArray(Map *map, HeapObject *object))
 
 INLINE (static void VisitJSFunction(Map *map, HeapObject *object))
 
 INLINE (static void VisitJSRegExp(Map *map, HeapObject *object))
 
 INLINE (static void VisitJSArrayBuffer(Map *map, HeapObject *object))
 
 INLINE (static void VisitJSTypedArray(Map *map, HeapObject *object))
 
 INLINE (static void VisitJSDataView(Map *map, HeapObject *object))
 
 INLINE (static void VisitNativeContext(Map *map, HeapObject *object))
 
 INLINE (static bool IsFlushable(Heap *heap, JSFunction *function))
 
 INLINE (static bool IsFlushable(Heap *heap, SharedFunctionInfo *shared_info))
 

Static Protected Member Functions

static void MarkMapContents (Heap *heap, Map *map)
 
static void MarkTransitionArray (Heap *heap, TransitionArray *transitions)
 
static void VisitSharedFunctionInfoStrongCode (Heap *heap, HeapObject *object)
 
static void VisitSharedFunctionInfoWeakCode (Heap *heap, HeapObject *object)
 
static void VisitJSFunctionStrongCode (Heap *heap, HeapObject *object)
 
static void VisitJSFunctionWeakCode (Heap *heap, HeapObject *object)
 

Static Protected Attributes

static VisitorDispatchTable
< Callback
table_
 

Additional Inherited Members

- Public Types inherited from StaticVisitorBase
enum  VisitorId {
  kVisitorIdCount, kVisitDataObject = kVisitDataObject2, kVisitJSObject = kVisitJSObject2, kVisitStruct = kVisitStruct2,
  kMinObjectSizeInWords = 2
}
 

Detailed Description

template<typename StaticVisitor>
class v8::internal::StaticMarkingVisitor< StaticVisitor >

Definition at line 399 of file objects-visiting.h.

Member Typedef Documentation

typedef void(* Callback)(Map *map, HeapObject *object)
protected

Definition at line 475 of file objects-visiting.h.

typedef FlexibleBodyVisitor<StaticVisitor, FixedArray::BodyDescriptor, void> FixedArrayVisitor
protected

Definition at line 465 of file objects-visiting.h.

typedef FlexibleBodyVisitor<StaticVisitor, JSObject::BodyDescriptor, void> JSObjectVisitor
protected

Definition at line 469 of file objects-visiting.h.

typedef FlexibleBodyVisitor<StaticVisitor, StructBodyDescriptor, void> StructObjectVisitor
protected

Definition at line 473 of file objects-visiting.h.

Member Function Documentation

void Initialize ( )
static
INLINE ( static void   IterateBodyMap *map, HeapObject *obj)
inline

Definition at line 403 of file objects-visiting.h.

INLINE ( static void   VisitPropertyCellMap *map, HeapObject *object)
INLINE ( static void   VisitAllocationSiteMap *map, HeapObject *object)
INLINE ( static void   VisitCodeEntryHeap *heap, Address entry_address)
INLINE ( static void   VisitEmbeddedPointerHeap *heap, RelocInfo *rinfo)
INLINE ( static void   VisitCellHeap *heap, RelocInfo *rinfo)
INLINE ( static void   VisitDebugTargetHeap *heap, RelocInfo *rinfo)
INLINE ( static void   VisitCodeTargetHeap *heap, RelocInfo *rinfo)
INLINE ( static void   VisitCodeAgeSequenceHeap *heap, RelocInfo *rinfo)
INLINE ( static void   VisitExternalReferenceRelocInfo *rinfo)
inline

Definition at line 415 of file objects-visiting.h.

INLINE ( static void   VisitRuntimeEntryRelocInfo *rinfo)
inline

Definition at line 416 of file objects-visiting.h.

INLINE ( static void   VisitNextCodeLinkHeap *heap, Object **slot)
inline

Definition at line 418 of file objects-visiting.h.

INLINE ( static void   VisitMapMap *map, HeapObject *object)
protected
INLINE ( static void   VisitCodeMap *map, HeapObject *object)
protected
INLINE ( static void   VisitSharedFunctionInfoMap *map, HeapObject *object)
protected
INLINE ( static void   VisitConstantPoolArrayMap *map, HeapObject *object)
protected
INLINE ( static void   VisitJSFunctionMap *map, HeapObject *object)
protected
INLINE ( static void   VisitJSRegExpMap *map, HeapObject *object)
protected
INLINE ( static void   VisitJSArrayBufferMap *map, HeapObject *object)
protected
INLINE ( static void   VisitJSTypedArrayMap *map, HeapObject *object)
protected
INLINE ( static void   VisitJSDataViewMap *map, HeapObject *object)
protected
INLINE ( static void   VisitNativeContextMap *map, HeapObject *object)
protected
INLINE ( static bool   IsFlushableHeap *heap, JSFunction *function)
protected
INLINE ( static bool   IsFlushableHeap *heap, SharedFunctionInfo *shared_info)
protected
void MarkInlinedFunctionsCode ( Heap heap,
Code code 
)
static
void VisitSharedFunctionInfoStrongCode ( Heap heap,
HeapObject object 
)
staticprotected

Field Documentation

VisitorDispatchTable< typename StaticMarkingVisitor< StaticVisitor >::Callback > table_
staticprotected

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