webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Classes | Public Member Functions | Static Public Member Functions | Static Public Attributes | Friends | List of all members
JSC::MarkedBlock Class Reference

#include <MarkedBlock.h>

Classes

class  CountFunctor
 
class  Handle
 
struct  MarksWithDependency
 
struct  VoidFunctor
 

Public Member Functions

Handlehandle ()
 
VMvm () const
 
Heapheap () const
 
MarkedSpacespace () const
 
size_t atomNumber (const void *)
 
size_t markCount ()
 
bool isMarked (const void *)
 
bool isMarked (HeapVersion markingVersion, const void *)
 
bool isMarkedConcurrently (HeapVersion markingVersion, const void *)
 
bool testAndSetMarked (const void *)
 
bool isAtom (const void *)
 
void clearMarked (const void *)
 
size_t cellSize ()
 
const AllocatorAttributesattributes () const
 
bool hasAnyMarked () const
 
void noteMarked ()
 
void assertValidCell (VM &, HeapCell *) const
 
WeakSetweakSet ()
 
JS_EXPORT_PRIVATE bool areMarksStale ()
 
bool areMarksStale (HeapVersion markingVersion)
 
MarksWithDependency areMarksStaleWithDependency (HeapVersion markingVersion)
 
void aboutToMark (HeapVersion markingVersion)
 
void assertMarksNotStale ()
 
bool needsDestruction () const
 
void updateNeedsDestruction ()
 
void resetMarks ()
 
bool isMarkedRaw (const void *p)
 
HeapVersion markingVersion () const
 
Handlehandle ()
 
VMvm () const
 
Heapheap () const
 
MarkedSpacespace () const
 
size_t atomNumber (const void *)
 
size_t markCount ()
 
bool isMarked (const void *)
 
bool isMarked (HeapVersion markingVersion, const void *)
 
bool isMarkedConcurrently (HeapVersion markingVersion, const void *)
 
bool testAndSetMarked (const void *)
 
bool isAtom (const void *)
 
void clearMarked (const void *)
 
size_t cellSize ()
 
const AllocatorAttributesattributes () const
 
bool hasAnyMarked () const
 
void noteMarked ()
 
void assertValidCell (VM &, HeapCell *) const
 
WeakSetweakSet ()
 
JS_EXPORT_PRIVATE bool areMarksStale ()
 
bool areMarksStale (HeapVersion markingVersion)
 
MarksWithDependency areMarksStaleWithDependency (HeapVersion markingVersion)
 
void aboutToMark (HeapVersion markingVersion)
 
void assertMarksNotStale ()
 
bool needsDestruction () const
 
void updateNeedsDestruction ()
 
void resetMarks ()
 
bool isMarkedRaw (const void *p)
 
HeapVersion markingVersion () const
 

Static Public Member Functions

static MarkedBlock::HandletryCreate (Heap &)
 
static bool isAtomAligned (const void *)
 
static MarkedBlockblockFor (const void *)
 
static size_t firstAtom ()
 
static MarkedBlock::HandletryCreate (Heap &)
 
static bool isAtomAligned (const void *)
 
static MarkedBlockblockFor (const void *)
 
static size_t firstAtom ()
 

Static Public Attributes

static const size_t atomSize = 16
 
static const size_t blockSize = 16 * KB
 
static const size_t blockMask = ~(blockSize - 1)
 
static const size_t atomsPerBlock = blockSize / atomSize
 

Friends

class LLIntOffsetsExtractor
 
struct VerifyMarked
 
class Handle
 

Member Function Documentation

◆ aboutToMark() [1/2]

void JSC::MarkedBlock::aboutToMark ( HeapVersion  markingVersion)
inline

◆ aboutToMark() [2/2]

void JSC::MarkedBlock::aboutToMark ( HeapVersion  markingVersion)

◆ areMarksStale() [1/4]

JS_EXPORT_PRIVATE bool JSC::MarkedBlock::areMarksStale ( )

◆ areMarksStale() [2/4]

bool JSC::MarkedBlock::areMarksStale ( )

◆ areMarksStale() [3/4]

bool JSC::MarkedBlock::areMarksStale ( HeapVersion  markingVersion)
inline

◆ areMarksStale() [4/4]

bool JSC::MarkedBlock::areMarksStale ( HeapVersion  markingVersion)

◆ areMarksStaleWithDependency() [1/2]

ALWAYS_INLINE MarkedBlock::MarksWithDependency JSC::MarkedBlock::areMarksStaleWithDependency ( HeapVersion  markingVersion)

◆ areMarksStaleWithDependency() [2/2]

MarksWithDependency JSC::MarkedBlock::areMarksStaleWithDependency ( HeapVersion  markingVersion)

◆ assertMarksNotStale() [1/2]

void JSC::MarkedBlock::assertMarksNotStale ( )

◆ assertMarksNotStale() [2/2]

void JSC::MarkedBlock::assertMarksNotStale ( )

◆ assertValidCell() [1/2]

void JSC::MarkedBlock::assertValidCell ( VM vm,
HeapCell cell 
) const

◆ assertValidCell() [2/2]

void JSC::MarkedBlock::assertValidCell ( VM ,
HeapCell  
) const

◆ atomNumber() [1/2]

size_t JSC::MarkedBlock::atomNumber ( const void p)
inline

◆ atomNumber() [2/2]

size_t JSC::MarkedBlock::atomNumber ( const void )

◆ attributes() [1/2]

const AllocatorAttributes & JSC::MarkedBlock::attributes ( ) const
inline

◆ attributes() [2/2]

const AllocatorAttributes& JSC::MarkedBlock::attributes ( ) const

◆ blockFor() [1/2]

MarkedBlock * JSC::MarkedBlock::blockFor ( const void p)
inlinestatic

◆ blockFor() [2/2]

static MarkedBlock* JSC::MarkedBlock::blockFor ( const void )
static

◆ cellSize() [1/2]

size_t JSC::MarkedBlock::cellSize ( )
inline

◆ cellSize() [2/2]

size_t JSC::MarkedBlock::cellSize ( )

◆ clearMarked() [1/2]

void JSC::MarkedBlock::clearMarked ( const void )

◆ clearMarked() [2/2]

void JSC::MarkedBlock::clearMarked ( const void )

◆ firstAtom() [1/2]

size_t JSC::MarkedBlock::firstAtom ( )
inlinestatic

◆ firstAtom() [2/2]

static size_t JSC::MarkedBlock::firstAtom ( )
static

◆ handle() [1/2]

Handle& JSC::MarkedBlock::handle ( )

◆ handle() [2/2]

MarkedBlock::Handle & JSC::MarkedBlock::handle ( )
inline

◆ hasAnyMarked() [1/2]

bool JSC::MarkedBlock::hasAnyMarked ( ) const
inline

◆ hasAnyMarked() [2/2]

bool JSC::MarkedBlock::hasAnyMarked ( ) const

◆ heap() [1/2]

Heap * JSC::MarkedBlock::heap ( ) const
inline

◆ heap() [2/2]

Heap* JSC::MarkedBlock::heap ( ) const
inline

◆ isAtom() [1/2]

bool JSC::MarkedBlock::isAtom ( const void )

◆ isAtom() [2/2]

bool JSC::MarkedBlock::isAtom ( const void p)
inline

◆ isAtomAligned() [1/2]

static bool JSC::MarkedBlock::isAtomAligned ( const void )
static

◆ isAtomAligned() [2/2]

bool JSC::MarkedBlock::isAtomAligned ( const void p)
inlinestatic

◆ isMarked() [1/4]

bool JSC::MarkedBlock::isMarked ( const void p)

◆ isMarked() [2/4]

bool JSC::MarkedBlock::isMarked ( const void )

◆ isMarked() [3/4]

bool JSC::MarkedBlock::isMarked ( HeapVersion  markingVersion,
const void  
)

◆ isMarked() [4/4]

bool JSC::MarkedBlock::isMarked ( HeapVersion  markingVersion,
const void p 
)
inline

◆ isMarkedConcurrently() [1/2]

bool JSC::MarkedBlock::isMarkedConcurrently ( HeapVersion  markingVersion,
const void  
)

◆ isMarkedConcurrently() [2/2]

bool JSC::MarkedBlock::isMarkedConcurrently ( HeapVersion  markingVersion,
const void p 
)
inline

◆ isMarkedRaw() [1/2]

bool JSC::MarkedBlock::isMarkedRaw ( const void p)

◆ isMarkedRaw() [2/2]

bool JSC::MarkedBlock::isMarkedRaw ( const void p)
inline

◆ markCount() [1/2]

size_t JSC::MarkedBlock::markCount ( )

◆ markCount() [2/2]

size_t JSC::MarkedBlock::markCount ( )

◆ markingVersion() [1/2]

HeapVersion JSC::MarkedBlock::markingVersion ( ) const
inline

◆ markingVersion() [2/2]

HeapVersion JSC::MarkedBlock::markingVersion ( ) const
inline

◆ needsDestruction() [1/2]

bool JSC::MarkedBlock::needsDestruction ( ) const
inline

◆ needsDestruction() [2/2]

bool JSC::MarkedBlock::needsDestruction ( ) const
inline

◆ noteMarked() [1/2]

void JSC::MarkedBlock::noteMarked ( )
inline

◆ noteMarked() [2/2]

void JSC::MarkedBlock::noteMarked ( )

◆ resetMarks() [1/2]

void JSC::MarkedBlock::resetMarks ( )

◆ resetMarks() [2/2]

void JSC::MarkedBlock::resetMarks ( )

◆ space() [1/2]

MarkedSpace* JSC::MarkedBlock::space ( ) const
inline

◆ space() [2/2]

MarkedSpace * JSC::MarkedBlock::space ( ) const
inline

◆ testAndSetMarked() [1/2]

bool JSC::MarkedBlock::testAndSetMarked ( const void p)
inline

◆ testAndSetMarked() [2/2]

bool JSC::MarkedBlock::testAndSetMarked ( const void )

◆ tryCreate() [1/2]

static MarkedBlock::Handle* JSC::MarkedBlock::tryCreate ( Heap )
static

◆ tryCreate() [2/2]

MarkedBlock::Handle * JSC::MarkedBlock::tryCreate ( Heap heap)
static

◆ updateNeedsDestruction() [1/2]

void JSC::MarkedBlock::updateNeedsDestruction ( )

◆ updateNeedsDestruction() [2/2]

void JSC::MarkedBlock::updateNeedsDestruction ( )

◆ vm() [1/2]

VM * JSC::MarkedBlock::vm ( ) const
inline

◆ vm() [2/2]

VM* JSC::MarkedBlock::vm ( ) const

◆ weakSet() [1/2]

WeakSet & JSC::MarkedBlock::weakSet ( )
inline

◆ weakSet() [2/2]

WeakSet& JSC::MarkedBlock::weakSet ( )

Friends And Related Function Documentation

◆ Handle

Handle
friend

◆ LLIntOffsetsExtractor

◆ VerifyMarked

VerifyMarked
friend

Member Data Documentation

◆ atomSize

static const size_t JSC::MarkedBlock::atomSize = 16
static

◆ atomsPerBlock

static const size_t JSC::MarkedBlock::atomsPerBlock = blockSize / atomSize
static

◆ blockMask

static const size_t JSC::MarkedBlock::blockMask = ~(blockSize - 1)
static

◆ blockSize

static const size_t JSC::MarkedBlock::blockSize = 16 * KB
static

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