V8 Project
v8::internal::Bitmap::CellPrinter Class Reference

#include <spaces.h>

+ Collaboration diagram for v8::internal::Bitmap::CellPrinter:

Public Member Functions

 CellPrinter ()
 
void Print (uint32_t pos, uint32_t cell)
 
void Flush ()
 

Static Public Member Functions

static bool IsSeq (uint32_t cell)
 

Private Attributes

uint32_t seq_start
 
uint32_t seq_type
 
uint32_t seq_length
 

Detailed Description

Definition at line 206 of file spaces.h.

Constructor & Destructor Documentation

◆ CellPrinter()

v8::internal::Bitmap::CellPrinter::CellPrinter ( )
inline

Definition at line 208 of file spaces.h.

Member Function Documentation

◆ Flush()

void v8::internal::Bitmap::CellPrinter::Flush ( )
inline

Definition at line 230 of file spaces.h.

230  {
231  if (seq_length > 0) {
232  PrintF("%d: %dx%d\n", seq_start, seq_type == 0 ? 0 : 1,
234  seq_length = 0;
235  }
236  }
static const uint32_t kBitsPerCell
Definition: spaces.h:146
void PrintF(const char *format,...)
Definition: utils.cc:80

References v8::internal::Bitmap::kBitsPerCell, v8::internal::PrintF(), seq_length, seq_start, and seq_type.

Referenced by v8::internal::Bitmap::Print(), and Print().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsSeq()

static bool v8::internal::Bitmap::CellPrinter::IsSeq ( uint32_t  cell)
inlinestatic

Definition at line 238 of file spaces.h.

238 { return cell == 0 || cell == 0xFFFFFFFF; }

Referenced by Print().

+ Here is the caller graph for this function:

◆ Print()

void v8::internal::Bitmap::CellPrinter::Print ( uint32_t  pos,
uint32_t  cell 
)
inline

Definition at line 210 of file spaces.h.

210  {
211  if (cell == seq_type) {
212  seq_length++;
213  return;
214  }
215 
216  Flush();
217 
218  if (IsSeq(cell)) {
219  seq_start = pos;
220  seq_length = 0;
221  seq_type = cell;
222  return;
223  }
224 
225  PrintF("%d: ", pos);
226  PrintWord(cell);
227  PrintF("\n");
228  }
static bool IsSeq(uint32_t cell)
Definition: spaces.h:238
static void PrintWord(uint32_t word, uint32_t himask=0)
Definition: spaces.h:198

References Flush(), IsSeq(), v8::internal::PrintF(), v8::internal::Bitmap::PrintWord(), seq_length, seq_start, and seq_type.

Referenced by v8::internal::Bitmap::Print().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ seq_length

uint32_t v8::internal::Bitmap::CellPrinter::seq_length
private

Definition at line 243 of file spaces.h.

Referenced by Flush(), and Print().

◆ seq_start

uint32_t v8::internal::Bitmap::CellPrinter::seq_start
private

Definition at line 241 of file spaces.h.

Referenced by Flush(), and Print().

◆ seq_type

uint32_t v8::internal::Bitmap::CellPrinter::seq_type
private

Definition at line 242 of file spaces.h.

Referenced by Flush(), and Print().


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