Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QV4::MarkStack Struct Reference

#include <qv4mmdefs_p.h>

+ Collaboration diagram for QV4::MarkStack:

Public Types

enum class  DrainState { Ongoing , Complete }
 

Public Member Functions

 MarkStack (ExecutionEngine *engine)
 
 ~MarkStack ()
 
void push (Heap::Base *m)
 
bool isEmpty () const
 
qptrdiff remainingBeforeSoftLimit () const
 
ExecutionEngineengine () const
 
void drain ()
 
DrainState drain (QDeadlineTimer deadline)
 

Detailed Description

Definition at line 232 of file qv4mmdefs_p.h.

Member Enumeration Documentation

◆ DrainState

enum class QV4::MarkStack::DrainState
strong
Enumerator
Ongoing 
Complete 

Definition at line 265 of file qv4mmdefs_p.h.

Constructor & Destructor Documentation

◆ MarkStack()

QV4::MarkStack::MarkStack ( ExecutionEngine * engine)

Definition at line 1056 of file qv4mm.cpp.

References engine(), QV4::ExecutionEngine::gcStack, and QV4::ExecutionEngine::maxGCStackSize().

+ Here is the call graph for this function:

◆ ~MarkStack()

QV4::MarkStack::~MarkStack ( )
inline

Definition at line 234 of file qv4mmdefs_p.h.

Member Function Documentation

◆ drain() [1/2]

void QV4::MarkStack::drain ( )

Definition at line 1066 of file qv4mm.cpp.

References QV4::markStackSize, and Q_ASSERT.

◆ drain() [2/2]

MarkStack::DrainState QV4::MarkStack::drain ( QDeadlineTimer deadline)

Definition at line 1077 of file qv4mm.cpp.

References Complete, deadline, QDeadlineTimer::hasExpired(), i, QV4::markStackSize, Ongoing, and Q_ASSERT.

+ Here is the call graph for this function:

◆ engine()

ExecutionEngine * QV4::MarkStack::engine ( ) const
inline

Definition at line 262 of file qv4mmdefs_p.h.

Referenced by MarkStack(), QQmlVMEMetaObject::mark(), and QV4::QObjectWrapper::markWrapper().

+ Here is the caller graph for this function:

◆ isEmpty()

bool QV4::MarkStack::isEmpty ( ) const
inline

Definition at line 255 of file qv4mmdefs_p.h.

◆ push()

void QV4::MarkStack::push ( Heap::Base * m)
inline

Definition at line 236 of file qv4mmdefs_p.h.

References qFatal, and qNextPowerOfTwo().

Referenced by QV4::Heap::Base::mark().

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

◆ remainingBeforeSoftLimit()

qptrdiff QV4::MarkStack::remainingBeforeSoftLimit ( ) const
inline

Definition at line 257 of file qv4mmdefs_p.h.


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