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>.
|
#include <qv4mm_p.h>
Public Member Functions | |
Q_NODISCARD_CTOR | GCCriticalSection (QV4::ExecutionEngine *engine, ToBeMarked *toBeMarked=nullptr) |
~GCCriticalSection () | |
GCCriticalSection prevets the gc from running, until it is destructed. In its dtor, it runs a check whether we've reached the unmanaegd heap limit, and triggers a gc run if necessary. Lastly, it can optionally mark an object passed to it before runnig the gc.
|
inline |
Definition at line 449 of file qv4mm_p.h.
References QV4::MemoryManager::InCriticalSection, and Q_ASSERT.
|
inline |
Definition at line 457 of file qv4mm_p.h.
References QV4::MemoryManager::gcBlocked, QV4::MemoryManager::isAboveUnmanagedHeapLimit(), QV4::EngineBase::isGCOngoing, QV4::MemoryManager::markStack(), QV4::EngineBase::memoryManager, Q_ASSERT, QV4::MemoryManager::runGC(), QV4::MemoryManager::tryForceGCCompletion(), and QV4::MemoryManager::Unblocked.