18 #ifndef INCLUDED_SCRIPTCONTEXT 19 #define INCLUDED_SCRIPTCONTEXT 103 #endif // INCLUDED_SCRIPTCONTEXT
std::list< JS::Realm * > m_Realms
Definition: ScriptContext.h:91
void PrepareZonesForIncrementalGC() const
Definition: ScriptContext.cpp:264
static std::shared_ptr< ScriptContext > CreateContext(int contextSize=DEFAULT_CONTEXT_SIZE, int heapGrowthBytesGCTrigger=DEFAULT_HEAP_GROWTH_BYTES_GCTRIGGER)
Returns a context, in which any number of ScriptInterfaces compartments can live. ...
Definition: ScriptContext.cpp:80
Abstraction around a SpiderMonkey JSContext.
Definition: ScriptContext.h:40
JSContext * m_cx
Definition: ScriptContext.h:88
int m_LastGCBytes
Definition: ScriptContext.h:95
ScriptContext(int contextSize, int heapGrowthBytesGCTrigger)
Definition: ScriptContext.cpp:85
thread_local std::shared_ptr< ScriptContext > g_ScriptContext
Definition: GameSetup.cpp:108
constexpr int DEFAULT_HEAP_GROWTH_BYTES_GCTRIGGER
Definition: ScriptContext.h:28
double m_LastGCCheck
Definition: ScriptContext.h:96
void ShrinkingGC()
Definition: ScriptContext.cpp:254
int m_HeapGrowthBytesGCTrigger
Definition: ScriptContext.h:94
void MaybeIncrementalGC(double delay)
MaybeIncrementalGC tries to determine whether a context-wide garbage collection would free up enough ...
Definition: ScriptContext.cpp:152
~ScriptContext()
Definition: ScriptContext.cpp:128
constexpr int DEFAULT_CONTEXT_SIZE
Definition: ScriptContext.h:27
void RegisterRealm(JS::Realm *realm)
This is used to keep track of realms which should be prepared for a GC.
Definition: ScriptContext.cpp:136
void UnRegisterRealm(JS::Realm *realm)
Definition: ScriptContext.cpp:142
int m_ContextSize
Definition: ScriptContext.h:93
JSContext * GetGeneralJSContext() const
GetGeneralJSContext returns the context without starting a GC request and without entering any compar...
Definition: ScriptContext.h:84