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::GCStateMachine Struct Reference

#include <qv4mm_p.h>

+ Collaboration diagram for QV4::GCStateMachine:

Public Types

using ExtraData = GCStateInfo::ExtraData
 

Public Member Functions

 GCStateMachine ()
 
void step ()
 
bool inProgress ()
 
void reset ()
 
Q_QML_EXPORT void transition ()
 
void handleTimeout (GCState state)
 

Public Attributes

GCState state {GCState::Invalid}
 
std::chrono::microseconds timeLimit {}
 
QDeadlineTimer deadline
 
std::array< GCStateInfo, GCState::CountstateInfoMap
 
MemoryManagermm = nullptr
 
ExtraData stateData
 

Detailed Description

Definition at line 64 of file qv4mm_p.h.

Member Typedef Documentation

◆ ExtraData

Constructor & Destructor Documentation

◆ GCStateMachine()

QV4::GCStateMachine::GCStateMachine ( )

Definition at line 1463 of file qv4mm.cpp.

References timeLimit.

Member Function Documentation

◆ handleTimeout()

void QV4::GCStateMachine::handleTimeout ( GCState state)
inline

Definition at line 92 of file qv4mm_p.h.

References Q_UNUSED, and state.

Referenced by transition().

+ Here is the caller graph for this function:

◆ inProgress()

bool QV4::GCStateMachine::inProgress ( )
inline

Definition at line 82 of file qv4mm_p.h.

References QV4::Invalid, and state.

Referenced by step().

+ Here is the caller graph for this function:

◆ reset()

void QV4::GCStateMachine::reset ( )
inline

Definition at line 86 of file qv4mm_p.h.

References QV4::MarkStart, and state.

Referenced by step().

+ Here is the caller graph for this function:

◆ step()

void QV4::GCStateMachine::step ( )
inline

Definition at line 75 of file qv4mm_p.h.

References inProgress(), reset(), and transition().

+ Here is the call graph for this function:

◆ transition()

void QV4::GCStateMachine::transition ( )

Definition at line 1469 of file qv4mm.cpp.

References deadline, QV4::MemoryManager::engine, QV4::GCStateInfo::execute, QDeadlineTimer::Forever, handleTimeout(), QDeadlineTimer::hasExpired(), QV4::InitCallDestroyObjects, QV4::Invalid, QMetaObject::invokeMethod(), mm, QV4::ExecutionEngine::publicEngine, Qt::QueuedConnection, state, stateData, stateInfoMap, and timeLimit.

Referenced by step().

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

Member Data Documentation

◆ deadline

QDeadlineTimer QV4::GCStateMachine::deadline

Definition at line 68 of file qv4mm_p.h.

Referenced by transition().

◆ mm

MemoryManager* QV4::GCStateMachine::mm = nullptr

Definition at line 70 of file qv4mm_p.h.

Referenced by transition().

◆ state

GCState QV4::GCStateMachine::state {GCState::Invalid}

Definition at line 66 of file qv4mm_p.h.

Referenced by handleTimeout(), inProgress(), reset(), and transition().

◆ stateData

ExtraData QV4::GCStateMachine::stateData

Definition at line 71 of file qv4mm_p.h.

Referenced by transition().

◆ stateInfoMap

std::array<GCStateInfo, GCState::Count> QV4::GCStateMachine::stateInfoMap

Definition at line 69 of file qv4mm_p.h.

Referenced by transition().

◆ timeLimit

std::chrono::microseconds QV4::GCStateMachine::timeLimit {}

Definition at line 67 of file qv4mm_p.h.

Referenced by GCStateMachine(), and transition().


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