v8  3.14.5(node0.10.28)
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)
 
bool TransferMark (Address old_start, Address new_start)
 
 INLINE (static bool TransferColor(HeapObject *from, HeapObject *to))
 

Static Public Member Functions

static MarkBit MarkBitFrom (Address addr)
 
static MarkBit MarkBitFrom (HeapObject *obj)
 
static bool IsImpossible (MarkBit mark_bit)
 
static bool IsBlack (MarkBit mark_bit)
 
static bool IsWhite (MarkBit mark_bit)
 
static bool IsGrey (MarkBit mark_bit)
 
static void MarkBlack (MarkBit mark_bit)
 
static void BlackToGrey (MarkBit markbit)
 
static void WhiteToGrey (MarkBit markbit)
 
static void GreyToBlack (MarkBit markbit)
 
static void BlackToGrey (HeapObject *obj)
 
static void AnyToGrey (MarkBit markbit)
 

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

static void AnyToGrey ( MarkBit  markbit)
inlinestatic

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

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

static void BlackToGrey ( MarkBit  markbit)
inlinestatic
static void BlackToGrey ( HeapObject obj)
inlinestatic

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

References Marking::BlackToGrey(), and Marking::MarkBitFrom().

static void GreyToBlack ( MarkBit  markbit)
inlinestatic

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

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

Referenced by IncrementalMarking::Hurry().

INLINE ( static bool   TransferColorHeapObject *from,HeapObject *to)
inline
static bool IsGrey ( MarkBit  mark_bit)
inlinestatic
static bool IsImpossible ( MarkBit  mark_bit)
inlinestatic

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

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

Referenced by IncrementalMarking::MarkBlackOrKeepGrey().

static MarkBit MarkBitFrom ( HeapObject obj)
inlinestatic

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

References Marking::MarkBitFrom().

static void MarkBlack ( MarkBit  mark_bit)
inlinestatic
static void WhiteToGrey ( MarkBit  markbit)
inlinestatic

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

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

Referenced by IncrementalMarking::WhiteToGreyAndPush().

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: