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
Marking Class Reference

#include <mark-compact.h>

Public Member Functions

 Marking (Heap *heap)
 
 INLINE (static MarkBit MarkBitFrom(Address addr))
 
 INLINE (static MarkBit MarkBitFrom(HeapObject *obj))
 
 INLINE (static bool IsImpossible(MarkBit mark_bit))
 
 INLINE (static bool IsBlack(MarkBit mark_bit))
 
 INLINE (static bool IsWhite(MarkBit mark_bit))
 
 INLINE (static bool IsGrey(MarkBit mark_bit))
 
 INLINE (static void MarkBlack(MarkBit mark_bit))
 
 INLINE (static void BlackToGrey(MarkBit markbit))
 
 INLINE (static void WhiteToGrey(MarkBit markbit))
 
 INLINE (static void GreyToBlack(MarkBit markbit))
 
 INLINE (static void BlackToGrey(HeapObject *obj))
 
 INLINE (static void AnyToGrey(MarkBit markbit))
 
void TransferMark (Address old_start, Address new_start)
 
 INLINE (static bool TransferColor(HeapObject *from, HeapObject *to))
 

Static Public Attributes

static const char * kImpossibleBitPattern = "01"
 
static const char * kBlackBitPattern = "10"
 
static const char * kWhiteBitPattern = "00"
 
static const char * kGreyBitPattern = "11"
 

Detailed Description

Definition at line 50 of file mark-compact.h.

Constructor & Destructor Documentation

Marking ( Heap heap)
inlineexplicit

Definition at line 52 of file mark-compact.h.

Member Function Documentation

INLINE ( static MarkBit   MarkBitFromAddress addr)
INLINE ( static MarkBit   MarkBitFromHeapObject *obj)
inline

Definition at line 58 of file mark-compact.h.

INLINE ( static bool   IsImpossibleMarkBit mark_bit)
inline

Definition at line 64 of file mark-compact.h.

References MarkBit::Get(), and MarkBit::Next().

INLINE ( static bool   IsBlackMarkBit mark_bit)
inline

Definition at line 70 of file mark-compact.h.

References MarkBit::Get(), and MarkBit::Next().

INLINE ( static bool   IsWhiteMarkBit mark_bit)
inline

Definition at line 76 of file mark-compact.h.

References MarkBit::Get().

INLINE ( static bool   IsGreyMarkBit mark_bit)
inline

Definition at line 82 of file mark-compact.h.

References MarkBit::Get(), and MarkBit::Next().

INLINE ( static void   MarkBlackMarkBit mark_bit)
inline

Definition at line 86 of file mark-compact.h.

References MarkBit::Clear(), MarkBit::Next(), and MarkBit::Set().

INLINE ( static void   BlackToGreyMarkBit markbit)
inline

Definition at line 91 of file mark-compact.h.

References MarkBit::Next(), and MarkBit::Set().

INLINE ( static void   WhiteToGreyMarkBit markbit)
inline

Definition at line 95 of file mark-compact.h.

References MarkBit::Next(), and MarkBit::Set().

INLINE ( static void   GreyToBlackMarkBit markbit)
inline

Definition at line 100 of file mark-compact.h.

References MarkBit::Clear(), and MarkBit::Next().

INLINE ( static void   BlackToGreyHeapObject *obj)
inline

Definition at line 104 of file mark-compact.h.

INLINE ( static void   AnyToGreyMarkBit markbit)
inline

Definition at line 108 of file mark-compact.h.

References MarkBit::Next(), and MarkBit::Set().

INLINE ( static bool   TransferColorHeapObject *from,HeapObject *to)
inline

Definition at line 147 of file mark-compact.h.

References MarkBit::Get(), MarkBit::Next(), and MarkBit::Set().

Field Documentation

const char * kBlackBitPattern = "10"
static

Definition at line 69 of file mark-compact.h.

const char * kGreyBitPattern = "11"
static

Definition at line 81 of file mark-compact.h.

const char * kImpossibleBitPattern = "01"
static

Definition at line 63 of file mark-compact.h.

const char * kWhiteBitPattern = "00"
static

Definition at line 75 of file mark-compact.h.


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