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

#include <MarkedBlock.h>

Public Types

enum  SweepMode { SweepOnly, SweepToFreeList, SweepOnly, SweepToFreeList }
 
enum  SweepMode { SweepOnly, SweepToFreeList, SweepOnly, SweepToFreeList }
 

Public Member Functions

 ~Handle ()
 
MarkedBlockblock ()
 
voidcellAlign (void *)
 
bool isEmpty ()
 
void lastChanceToFinalize ()
 
MarkedAllocatorallocator () const
 
Subspacesubspace () const
 
Heapheap () const
 
MarkedSpacespace () const
 
VMvm () const
 
WeakSetweakSet ()
 
FreeList sweep (SweepMode=SweepOnly)
 
template<typename DestroyFunc >
FreeList finishSweepKnowingSubspace (SweepMode, const DestroyFunc &)
 
void unsweepWithNoNewlyAllocated ()
 
void zap (const FreeList &)
 
void shrink ()
 
void visitWeakSet (SlotVisitor &)
 
void reapWeakSet ()
 
void didConsumeFreeList ()
 
void stopAllocating (const FreeList &)
 
FreeList resumeAllocating ()
 
size_t cellSize ()
 
unsigned cellsPerBlock ()
 
const AllocatorAttributesattributes () const
 
DestructionMode destruction () const
 
bool needsDestruction () const
 
HeapCell::Kind cellKind () const
 
size_t markCount ()
 
size_t size ()
 
bool isLive (HeapVersion markingVersion, bool isMarking, const HeapCell *)
 
bool isLiveCell (HeapVersion markingVersion, bool isMarking, const void *)
 
bool isLive (const HeapCell *)
 
bool isLiveCell (const void *)
 
bool isNewlyAllocated (const void *)
 
void setNewlyAllocated (const void *)
 
void clearNewlyAllocated (const void *)
 
HeapVersion newlyAllocatedVersion () const
 
bool isNewlyAllocatedStale () const
 
bool hasAnyNewlyAllocated ()
 
void resetAllocated ()
 
template<typename Functor >
IterationStatus forEachCell (const Functor &)
 
template<typename Functor >
IterationStatus forEachLiveCell (const Functor &)
 
template<typename Functor >
IterationStatus forEachDeadCell (const Functor &)
 
template<typename Functor >
IterationStatus forEachMarkedCell (const Functor &)
 
JS_EXPORT_PRIVATE bool areMarksStale ()
 
void assertMarksNotStale ()
 
bool isFreeListed () const
 
size_t index () const
 
void removeFromAllocator ()
 
void didAddToAllocator (MarkedAllocator *, size_t index)
 
void didRemoveFromAllocator ()
 
void dumpState (PrintStream &)
 
 ~Handle ()
 
MarkedBlockblock ()
 
voidcellAlign (void *)
 
bool isEmpty ()
 
void lastChanceToFinalize ()
 
MarkedAllocatorallocator () const
 
Subspacesubspace () const
 
Heapheap () const
 
MarkedSpacespace () const
 
VMvm () const
 
WeakSetweakSet ()
 
FreeList sweep (SweepMode=SweepOnly)
 
template<typename DestroyFunc >
FreeList finishSweepKnowingSubspace (SweepMode, const DestroyFunc &)
 
void unsweepWithNoNewlyAllocated ()
 
void zap (const FreeList &)
 
void shrink ()
 
void visitWeakSet (SlotVisitor &)
 
void reapWeakSet ()
 
void didConsumeFreeList ()
 
void stopAllocating (const FreeList &)
 
FreeList resumeAllocating ()
 
size_t cellSize ()
 
unsigned cellsPerBlock ()
 
const AllocatorAttributesattributes () const
 
DestructionMode destruction () const
 
bool needsDestruction () const
 
HeapCell::Kind cellKind () const
 
size_t markCount ()
 
size_t size ()
 
bool isLive (HeapVersion markingVersion, bool isMarking, const HeapCell *)
 
bool isLiveCell (HeapVersion markingVersion, bool isMarking, const void *)
 
bool isLive (const HeapCell *)
 
bool isLiveCell (const void *)
 
bool isNewlyAllocated (const void *)
 
void setNewlyAllocated (const void *)
 
void clearNewlyAllocated (const void *)
 
HeapVersion newlyAllocatedVersion () const
 
bool isNewlyAllocatedStale () const
 
bool hasAnyNewlyAllocated ()
 
void resetAllocated ()
 
template<typename Functor >
IterationStatus forEachCell (const Functor &)
 
template<typename Functor >
IterationStatus forEachLiveCell (const Functor &)
 
template<typename Functor >
IterationStatus forEachDeadCell (const Functor &)
 
template<typename Functor >
IterationStatus forEachMarkedCell (const Functor &)
 
JS_EXPORT_PRIVATE bool areMarksStale ()
 
void assertMarksNotStale ()
 
bool isFreeListed () const
 
size_t index () const
 
void removeFromAllocator ()
 
void didAddToAllocator (MarkedAllocator *, size_t index)
 
void didRemoveFromAllocator ()
 
void dumpState (PrintStream &)
 

Friends

class LLIntOffsetsExtractor
 
class MarkedBlock
 
struct VerifyMarked
 

Member Enumeration Documentation

◆ SweepMode [1/2]

Enumerator
SweepOnly 
SweepToFreeList 
SweepOnly 
SweepToFreeList 

◆ SweepMode [2/2]

Enumerator
SweepOnly 
SweepToFreeList 
SweepOnly 
SweepToFreeList 

Constructor & Destructor Documentation

◆ ~Handle() [1/2]

JSC::MarkedBlock::Handle::~Handle ( )

◆ ~Handle() [2/2]

JSC::MarkedBlock::Handle::~Handle ( )

Member Function Documentation

◆ allocator() [1/2]

MarkedAllocator * JSC::MarkedBlock::Handle::allocator ( ) const
inline

◆ allocator() [2/2]

MarkedAllocator* JSC::MarkedBlock::Handle::allocator ( ) const

◆ areMarksStale() [1/2]

bool JSC::MarkedBlock::Handle::areMarksStale ( )

◆ areMarksStale() [2/2]

JS_EXPORT_PRIVATE bool JSC::MarkedBlock::Handle::areMarksStale ( )

◆ assertMarksNotStale() [1/2]

void JSC::MarkedBlock::Handle::assertMarksNotStale ( )
inline

◆ assertMarksNotStale() [2/2]

void JSC::MarkedBlock::Handle::assertMarksNotStale ( )

◆ attributes() [1/2]

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

◆ attributes() [2/2]

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

◆ block() [1/2]

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

◆ block() [2/2]

MarkedBlock& JSC::MarkedBlock::Handle::block ( )

◆ cellAlign() [1/2]

void * JSC::MarkedBlock::Handle::cellAlign ( void p)
inline

◆ cellAlign() [2/2]

void* JSC::MarkedBlock::Handle::cellAlign ( void )

◆ cellKind() [1/2]

HeapCell::Kind JSC::MarkedBlock::Handle::cellKind ( ) const

◆ cellKind() [2/2]

HeapCell::Kind JSC::MarkedBlock::Handle::cellKind ( ) const
inline

◆ cellSize() [1/2]

size_t JSC::MarkedBlock::Handle::cellSize ( )

◆ cellSize() [2/2]

size_t JSC::MarkedBlock::Handle::cellSize ( )
inline

◆ cellsPerBlock() [1/2]

unsigned JSC::MarkedBlock::Handle::cellsPerBlock ( )
inline

◆ cellsPerBlock() [2/2]

unsigned JSC::MarkedBlock::Handle::cellsPerBlock ( )
inline

◆ clearNewlyAllocated() [1/2]

void JSC::MarkedBlock::Handle::clearNewlyAllocated ( const void p)
inline

◆ clearNewlyAllocated() [2/2]

void JSC::MarkedBlock::Handle::clearNewlyAllocated ( const void )

◆ destruction() [1/2]

DestructionMode JSC::MarkedBlock::Handle::destruction ( ) const

◆ destruction() [2/2]

DestructionMode JSC::MarkedBlock::Handle::destruction ( ) const
inline

◆ didAddToAllocator() [1/2]

void JSC::MarkedBlock::Handle::didAddToAllocator ( MarkedAllocator allocator,
size_t  index 
)

◆ didAddToAllocator() [2/2]

void JSC::MarkedBlock::Handle::didAddToAllocator ( MarkedAllocator ,
size_t  index 
)

◆ didConsumeFreeList() [1/2]

void JSC::MarkedBlock::Handle::didConsumeFreeList ( )

◆ didConsumeFreeList() [2/2]

void JSC::MarkedBlock::Handle::didConsumeFreeList ( )

◆ didRemoveFromAllocator() [1/2]

void JSC::MarkedBlock::Handle::didRemoveFromAllocator ( )

◆ didRemoveFromAllocator() [2/2]

void JSC::MarkedBlock::Handle::didRemoveFromAllocator ( )

◆ dumpState() [1/2]

void JSC::MarkedBlock::Handle::dumpState ( PrintStream &  )

◆ dumpState() [2/2]

void JSC::MarkedBlock::Handle::dumpState ( PrintStream &  out)

◆ finishSweepKnowingSubspace() [1/2]

template<typename DestroyFunc >
FreeList JSC::MarkedBlock::Handle::finishSweepKnowingSubspace ( SweepMode  sweepMode,
const DestroyFunc &  destroyFunc 
)

◆ finishSweepKnowingSubspace() [2/2]

template<typename DestroyFunc >
FreeList JSC::MarkedBlock::Handle::finishSweepKnowingSubspace ( SweepMode  ,
const DestroyFunc &   
)

◆ forEachCell() [1/2]

template<typename Functor >
IterationStatus JSC::MarkedBlock::Handle::forEachCell ( const Functor &  functor)
inline

◆ forEachCell() [2/2]

template<typename Functor >
IterationStatus JSC::MarkedBlock::Handle::forEachCell ( const Functor &  )

◆ forEachDeadCell() [1/2]

template<typename Functor >
IterationStatus JSC::MarkedBlock::Handle::forEachDeadCell ( const Functor &  functor)
inline

◆ forEachDeadCell() [2/2]

template<typename Functor >
IterationStatus JSC::MarkedBlock::Handle::forEachDeadCell ( const Functor &  )
inline

◆ forEachLiveCell() [1/2]

template<typename Functor >
IterationStatus JSC::MarkedBlock::Handle::forEachLiveCell ( const Functor &  )
inline

◆ forEachLiveCell() [2/2]

template<typename Functor >
IterationStatus JSC::MarkedBlock::Handle::forEachLiveCell ( const Functor &  functor)
inline

◆ forEachMarkedCell() [1/2]

template<typename Functor >
IterationStatus JSC::MarkedBlock::Handle::forEachMarkedCell ( const Functor &  functor)
inline

◆ forEachMarkedCell() [2/2]

template<typename Functor >
IterationStatus JSC::MarkedBlock::Handle::forEachMarkedCell ( const Functor &  )
inline

◆ hasAnyNewlyAllocated() [1/2]

bool JSC::MarkedBlock::Handle::hasAnyNewlyAllocated ( )
inline

◆ hasAnyNewlyAllocated() [2/2]

bool JSC::MarkedBlock::Handle::hasAnyNewlyAllocated ( )
inline

◆ heap() [1/2]

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

◆ heap() [2/2]

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

◆ index() [1/2]

size_t JSC::MarkedBlock::Handle::index ( ) const
inline

◆ index() [2/2]

size_t JSC::MarkedBlock::Handle::index ( ) const
inline

◆ isEmpty() [1/2]

bool JSC::MarkedBlock::Handle::isEmpty ( )

◆ isEmpty() [2/2]

bool JSC::MarkedBlock::Handle::isEmpty ( )

◆ isFreeListed() [1/2]

bool JSC::MarkedBlock::Handle::isFreeListed ( ) const
inline

◆ isFreeListed() [2/2]

bool JSC::MarkedBlock::Handle::isFreeListed ( ) const
inline

◆ isLive() [1/4]

bool JSC::MarkedBlock::Handle::isLive ( HeapVersion  markingVersion,
bool  isMarking,
const HeapCell  
)
inline

◆ isLive() [2/4]

bool JSC::MarkedBlock::Handle::isLive ( HeapVersion  markingVersion,
bool  isMarking,
const HeapCell cell 
)
inline

◆ isLive() [3/4]

bool JSC::MarkedBlock::Handle::isLive ( const HeapCell )

◆ isLive() [4/4]

bool JSC::MarkedBlock::Handle::isLive ( const HeapCell cell)

◆ isLiveCell() [1/4]

bool JSC::MarkedBlock::Handle::isLiveCell ( HeapVersion  markingVersion,
bool  isMarking,
const void  
)
inline

◆ isLiveCell() [2/4]

bool JSC::MarkedBlock::Handle::isLiveCell ( HeapVersion  markingVersion,
bool  isMarking,
const void p 
)
inline

◆ isLiveCell() [3/4]

bool JSC::MarkedBlock::Handle::isLiveCell ( const void )

◆ isLiveCell() [4/4]

bool JSC::MarkedBlock::Handle::isLiveCell ( const void p)

◆ isNewlyAllocated() [1/2]

bool JSC::MarkedBlock::Handle::isNewlyAllocated ( const void p)
inline

◆ isNewlyAllocated() [2/2]

bool JSC::MarkedBlock::Handle::isNewlyAllocated ( const void )

◆ isNewlyAllocatedStale() [1/2]

bool JSC::MarkedBlock::Handle::isNewlyAllocatedStale ( ) const
inline

◆ isNewlyAllocatedStale() [2/2]

bool JSC::MarkedBlock::Handle::isNewlyAllocatedStale ( ) const
inline

◆ lastChanceToFinalize() [1/2]

void JSC::MarkedBlock::Handle::lastChanceToFinalize ( )

◆ lastChanceToFinalize() [2/2]

void JSC::MarkedBlock::Handle::lastChanceToFinalize ( )

◆ markCount() [1/2]

size_t JSC::MarkedBlock::Handle::markCount ( )

◆ markCount() [2/2]

size_t JSC::MarkedBlock::Handle::markCount ( )
inline

◆ needsDestruction() [1/2]

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

◆ needsDestruction() [2/2]

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

◆ newlyAllocatedVersion() [1/2]

HeapVersion JSC::MarkedBlock::Handle::newlyAllocatedVersion ( ) const
inline

◆ newlyAllocatedVersion() [2/2]

HeapVersion JSC::MarkedBlock::Handle::newlyAllocatedVersion ( ) const
inline

◆ reapWeakSet() [1/2]

void JSC::MarkedBlock::Handle::reapWeakSet ( )
inline

◆ reapWeakSet() [2/2]

void JSC::MarkedBlock::Handle::reapWeakSet ( )

◆ removeFromAllocator() [1/2]

void JSC::MarkedBlock::Handle::removeFromAllocator ( )

◆ removeFromAllocator() [2/2]

void JSC::MarkedBlock::Handle::removeFromAllocator ( )

◆ resetAllocated() [1/2]

void JSC::MarkedBlock::Handle::resetAllocated ( )

◆ resetAllocated() [2/2]

void JSC::MarkedBlock::Handle::resetAllocated ( )

◆ resumeAllocating() [1/2]

FreeList JSC::MarkedBlock::Handle::resumeAllocating ( )

◆ resumeAllocating() [2/2]

FreeList JSC::MarkedBlock::Handle::resumeAllocating ( )

◆ setNewlyAllocated() [1/2]

void JSC::MarkedBlock::Handle::setNewlyAllocated ( const void p)
inline

◆ setNewlyAllocated() [2/2]

void JSC::MarkedBlock::Handle::setNewlyAllocated ( const void )

◆ shrink() [1/2]

void JSC::MarkedBlock::Handle::shrink ( )

◆ shrink() [2/2]

void JSC::MarkedBlock::Handle::shrink ( )
inline

◆ size() [1/2]

size_t JSC::MarkedBlock::Handle::size ( )

◆ size() [2/2]

size_t JSC::MarkedBlock::Handle::size ( )
inline

◆ space() [1/2]

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

◆ space() [2/2]

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

◆ stopAllocating() [1/2]

void JSC::MarkedBlock::Handle::stopAllocating ( const FreeList )

◆ stopAllocating() [2/2]

void JSC::MarkedBlock::Handle::stopAllocating ( const FreeList freeList)

◆ subspace() [1/2]

Subspace* JSC::MarkedBlock::Handle::subspace ( ) const

◆ subspace() [2/2]

Subspace * JSC::MarkedBlock::Handle::subspace ( ) const

◆ sweep() [1/2]

FreeList JSC::MarkedBlock::Handle::sweep ( SweepMode  sweepMode = SweepOnly)

◆ sweep() [2/2]

FreeList JSC::MarkedBlock::Handle::sweep ( SweepMode  = SweepOnly)

◆ unsweepWithNoNewlyAllocated() [1/2]

void JSC::MarkedBlock::Handle::unsweepWithNoNewlyAllocated ( )

◆ unsweepWithNoNewlyAllocated() [2/2]

void JSC::MarkedBlock::Handle::unsweepWithNoNewlyAllocated ( )

◆ visitWeakSet() [1/2]

void JSC::MarkedBlock::Handle::visitWeakSet ( SlotVisitor )

◆ visitWeakSet() [2/2]

void JSC::MarkedBlock::Handle::visitWeakSet ( SlotVisitor visitor)
inline

◆ vm() [1/2]

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

◆ vm() [2/2]

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

◆ weakSet() [1/2]

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

◆ weakSet() [2/2]

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

◆ zap() [1/2]

void JSC::MarkedBlock::Handle::zap ( const FreeList freeList)

◆ zap() [2/2]

void JSC::MarkedBlock::Handle::zap ( const FreeList )

Friends And Related Function Documentation

◆ LLIntOffsetsExtractor

◆ MarkedBlock

MarkedBlock
friend

◆ VerifyMarked

VerifyMarked
friend

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