Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QV4::Chunk Struct Reference

#include <qv4mmdefs_p.h>

Collaboration diagram for QV4::Chunk:

Public Types

enum  {
  ChunkSize = 64*1024 , ChunkShift = 16 , SlotSize = 32 , SlotSizeShift = 5 ,
  NumSlots = ChunkSize/SlotSize , BitmapSize = NumSlots/8 , HeaderSize = 3*BitmapSize , DataSize = ChunkSize - HeaderSize ,
  AvailableSlots = DataSize/SlotSize , Bits = 32 , BitShift = 5 , EntriesInBitmap = BitmapSize/sizeof(quintptr)
}

Public Member Functions

HeapItemrealBase ()
HeapItemfirst ()
uint nFreeSlots () const
uint nUsedSlots () const
void resetBlackBits ()
bool sweep (ExecutionEngine *engine)
void freeAll (ExecutionEngine *engine)
void sortIntoBins (HeapItem **bins, uint nBins)

Static Public Member Functions

static Q_ALWAYS_INLINE size_t bitmapIndex (size_t index)
static Q_ALWAYS_INLINE quintptr bitForIndex (size_t index)
static void setBit (quintptr *bitmap, size_t index)
static void clearBit (quintptr *bitmap, size_t index)
static bool testBit (quintptr *bitmap, size_t index)
static void setBits (quintptr *bitmap, size_t index, size_t nBits)
static bool hasNonZeroBit (quintptr *bitmap)
static uint lowestNonZeroBit (quintptr *bitmap)

Public Attributes

quintptr blackBitmap [BitmapSize/sizeof(quintptr)]
quintptr objectBitmap [BitmapSize/sizeof(quintptr)]
quintptr extendsBitmap [BitmapSize/sizeof(quintptr)]
char data [DataSize]

Detailed Description

Definition at line 55 of file qv4mmdefs_p.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
ChunkSize 
ChunkShift 
SlotSize 
SlotSizeShift 
NumSlots 
BitmapSize 
HeaderSize 
DataSize 
AvailableSlots 
Bits 
BitShift 
EntriesInBitmap 

Definition at line 56 of file qv4mmdefs_p.h.

Member Function Documentation

◆ bitForIndex()

Q_ALWAYS_INLINE quintptr QV4::Chunk::bitForIndex ( size_t index)
inlinestatic

Definition at line 86 of file qv4mmdefs_p.h.

◆ bitmapIndex()

Q_ALWAYS_INLINE size_t QV4::Chunk::bitmapIndex ( size_t index)
inlinestatic

Definition at line 83 of file qv4mmdefs_p.h.

◆ clearBit()

void QV4::Chunk::clearBit ( quintptr * bitmap,
size_t index )
inlinestatic

Definition at line 96 of file qv4mmdefs_p.h.

◆ first()

HeapItem * QV4::Chunk::first ( )
inline

Definition at line 218 of file qv4mmdefs_p.h.

References data.

◆ freeAll()

void QV4::Chunk::freeAll ( ExecutionEngine * engine)

Definition at line 318 of file qv4mm.cpp.

◆ hasNonZeroBit()

bool QV4::Chunk::hasNonZeroBit ( quintptr * bitmap)
inlinestatic

Definition at line 125 of file qv4mmdefs_p.h.

◆ lowestNonZeroBit()

uint QV4::Chunk::lowestNonZeroBit ( quintptr * bitmap)
inlinestatic

Definition at line 131 of file qv4mmdefs_p.h.

◆ nFreeSlots()

uint QV4::Chunk::nFreeSlots ( ) const
inline

Definition at line 141 of file qv4mmdefs_p.h.

◆ nUsedSlots()

uint QV4::Chunk::nUsedSlots ( ) const
inline

Definition at line 144 of file qv4mmdefs_p.h.

◆ realBase()

HeapItem * QV4::Chunk::realBase ( )
inline

Definition at line 213 of file qv4mmdefs_p.h.

◆ resetBlackBits()

void QV4::Chunk::resetBlackBits ( )

Definition at line 357 of file qv4mm.cpp.

◆ setBit()

void QV4::Chunk::setBit ( quintptr * bitmap,
size_t index )
inlinestatic

Definition at line 90 of file qv4mmdefs_p.h.

◆ setBits()

void QV4::Chunk::setBits ( quintptr * bitmap,
size_t index,
size_t nBits )
inlinestatic

Definition at line 108 of file qv4mmdefs_p.h.

◆ sortIntoBins()

void QV4::Chunk::sortIntoBins ( HeapItem ** bins,
uint nBins )

Definition at line 362 of file qv4mm.cpp.

◆ sweep()

bool QV4::Chunk::sweep ( ExecutionEngine * engine)

Definition at line 258 of file qv4mm.cpp.

◆ testBit()

bool QV4::Chunk::testBit ( quintptr * bitmap,
size_t index )
inlinestatic

Definition at line 102 of file qv4mmdefs_p.h.

Member Data Documentation

◆ blackBitmap

quintptr QV4::Chunk::blackBitmap[BitmapSize/sizeof(quintptr)]

Definition at line 75 of file qv4mmdefs_p.h.

◆ data

char QV4::Chunk::data[DataSize]

Definition at line 78 of file qv4mmdefs_p.h.

Referenced by first().

◆ extendsBitmap

quintptr QV4::Chunk::extendsBitmap[BitmapSize/sizeof(quintptr)]

Definition at line 77 of file qv4mmdefs_p.h.

◆ objectBitmap

quintptr QV4::Chunk::objectBitmap[BitmapSize/sizeof(quintptr)]

Definition at line 76 of file qv4mmdefs_p.h.


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