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

#include <spaces.h>

Data Structures

class  CellPrinter
 

Public Member Functions

int CellsCount ()
 
 INLINE (static uint32_t IndexToCell(uint32_t index))
 
 INLINE (static uint32_t CellToIndex(uint32_t index))
 
 INLINE (static uint32_t CellAlignIndex(uint32_t index))
 
 INLINE (MarkBit::CellType *cells())
 
 INLINE (Address address())
 
 INLINE (static Bitmap *FromAddress(Address addr))
 
MarkBit MarkBitFromIndex (uint32_t index, bool data_only=false)
 
void Print ()
 
bool IsClean ()
 

Static Public Member Functions

static int CellsForLength (int length)
 
static int SizeFor (int cells_count)
 
static void Clear (MemoryChunk *chunk)
 
static void PrintWord (uint32_t word, uint32_t himask=0)
 

Static Public Attributes

static const uint32_t kBitsPerCell = 32
 
static const uint32_t kBitsPerCellLog2 = 5
 
static const uint32_t kBitIndexMask = kBitsPerCell - 1
 
static const uint32_t kBytesPerCell = kBitsPerCell / kBitsPerByte
 
static const uint32_t kBytesPerCellLog2 = kBitsPerCellLog2 - kBitsPerByteLog2
 
static const size_t kLength
 
static const size_t kSize
 

Detailed Description

Definition at line 166 of file spaces.h.

Member Function Documentation

int CellsCount ( )
inline

Definition at line 185 of file spaces.h.

References Bitmap::CellsForLength(), and Bitmap::kLength.

Referenced by Bitmap::Clear(), Bitmap::IsClean(), and Bitmap::Print().

static int CellsForLength ( int  length)
inlinestatic

Definition at line 181 of file spaces.h.

References Bitmap::kBitsPerCell, and Bitmap::kBitsPerCellLog2.

Referenced by Bitmap::CellsCount().

INLINE ( static uint32_t   IndexToCelluint32_t index)
inline

Definition at line 193 of file spaces.h.

References Bitmap::kBitsPerCellLog2.

INLINE ( static uint32_t   CellToIndexuint32_t index)
inline

Definition at line 197 of file spaces.h.

References Bitmap::kBitsPerCellLog2.

INLINE ( static uint32_t   CellAlignIndexuint32_t index)
inline

Definition at line 201 of file spaces.h.

References Bitmap::kBitIndexMask.

INLINE ( MarkBit::CellType cells())
inline

Definition at line 205 of file spaces.h.

INLINE ( Address   address())
inline

Definition at line 209 of file spaces.h.

INLINE ( static Bitmap FromAddressAddress addr)
inline

Definition at line 213 of file spaces.h.

bool IsClean ( )
inline

Definition at line 284 of file spaces.h.

References Bitmap::CellsCount().

MarkBit MarkBitFromIndex ( uint32_t  index,
bool  data_only = false 
)
inline

Definition at line 217 of file spaces.h.

References Bitmap::kBitIndexMask, and Bitmap::kBitsPerCellLog2.

void Print ( )
inline
static void PrintWord ( uint32_t  word,
uint32_t  himask = 0 
)
inlinestatic

Definition at line 225 of file spaces.h.

References v8::internal::PrintF().

Referenced by Bitmap::CellPrinter::Print().

static int SizeFor ( int  cells_count)
inlinestatic

Definition at line 189 of file spaces.h.

Field Documentation

const uint32_t kBitIndexMask = kBitsPerCell - 1
static

Definition at line 170 of file spaces.h.

Referenced by Bitmap::INLINE(), and Bitmap::MarkBitFromIndex().

const uint32_t kBitsPerCell = 32
static

Definition at line 168 of file spaces.h.

Referenced by Bitmap::CellsForLength(), and Bitmap::CellPrinter::Flush().

const uint32_t kBitsPerCellLog2 = 5
static

Definition at line 169 of file spaces.h.

Referenced by Bitmap::CellsForLength(), Bitmap::INLINE(), and Bitmap::MarkBitFromIndex().

const uint32_t kBytesPerCell = kBitsPerCell / kBitsPerByte
static

Definition at line 171 of file spaces.h.

const uint32_t kBytesPerCellLog2 = kBitsPerCellLog2 - kBitsPerByteLog2
static

Definition at line 172 of file spaces.h.

const size_t kLength
static
Initial value:

Definition at line 174 of file spaces.h.

Referenced by Bitmap::CellsCount().

const size_t kSize
static
Initial value:

Definition at line 177 of file spaces.h.


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