void CScriptSystem::Update(float currTime, float frameTime, int aiTicks) { // garbage-collect script-variables int gcCount = GetScriptSystem()->GetGCCount(); if ((gcCount - m_lastGarbageCollectCount) > LUA_MAX_GARBAGE_PERIOD) { ForceGarbageCollection(); m_lastGarbageCollectCount = GetGCCount(); } }
HBRUSH AwtBrush::SafeCreateSolidBrush(COLORREF cr) { //!CQ could do partial flushes more often, based on LRU or refcount == 1, etc HBRUSH hbr = ::CreateSolidBrush(cr); if (!hbr) { // Flush cache (it calls back to Release each Brush in it). Any current references to those // brushes will remain valid until the last Release is called cache.clear(); hbr = ::CreateSolidBrush(cr); // if that didn't work, then try a gc to cleanup potential java objects that // are hanging onto our objects if (!hbr) { ForceGarbageCollection(); hbr = ::CreateSolidBrush(cr); ASSERT(hbr != NULL); } } return hbr; }